Re: NM changes DHCP address too easily



Hi!

I got into same conclusion as as Eli (http://billauer.co.il/blog/2012/10/dhcp-ip-ntpdate-rtc/) that dhclient notices that time has advanced over lease "expire" moment after time jump due to ntpdate. As a consequence it rejects old IP and claims new one. I tried more elegant way to get this solved so that I first check difference between local and NTP time. If it is big enough, I switch from dhcp mode to manual mode using the IP from dhcp lease. Then I run ntpdate and switch back to dhcp mode. Sound elegant (and complicated), but really from logs it seems pretty the same as what Eli got.

This works somehow, IP does not change change. However, Avahi does not tolerate this quite perfectly. It usually does, but sometimes it gets confused and does not discuss with avahi-browse/avahi-discover. This can quite well come from the fact that I need to run dhclient-enter-hook to keep IPv4LL address.

In fact, wouldn't this issue been fixed in dhclient just by monitoring lease trials: It should not reject the old lease if there are no refresh trials before time exceeds the "expire" moment. I hope you do something like that in NM-dhclient. I also hope that you could figure out some policy to maitain IPc4LL address when dhcp client gets lease.

Thanks,
Matti

2016-05-17 10:15 GMT+03:00 matti kaasinen <matti kaasinen gmail com>:
Hi!
Some more information - lease log from board after re-installation and dhcp server log:
================================
lease {
  interface "eth0";
  fixed-address 111.111.3.15;
  option subnet-mask 255.255.252.0;
  option dhcp-lease-time 7200;
  option routers 111.111.1.2;
  option dhcp-message-type 5;
  option dhcp-server-identifier 111.111.1.2;
  option domain-name-servers 111.111.1.2;
  option broadcast-address 111.111.3.255;
  option domain-name "domain.fi";
  renew 5 2016/03/11 14:46:10;
  rebind 5 2016/03/11 15:41:49;
  expire 5 2016/03/11 15:56:49;
}
lease {
  interface "eth0";
  fixed-address 111.111.3.15;
  option subnet-mask 255.255.252.0;
  option routers 111.111.1.2;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 111.111.1.2;
  option dhcp-server-identifier 111.111.1.2;
  option broadcast-address 111.111.3.255;
  option domain-name "domain.fi";
  renew 5 2016/03/11 14:44:36;
  rebind 5 2016/03/11 15:41:52;
  expire 5 2016/03/11 15:56:52;
}
lease {
  interface "eth0";
  fixed-address 111.111.3.11;
  option subnet-mask 255.255.252.0;
  option routers 111.111.1.2;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 111.111.1.2;
  option dhcp-server-identifier 111.111.1.2;
  option broadcast-address 111.111.3.255;
  option domain-name "domain.fi";
  renew 2 2016/05/17 06:39:51;
  rebind 2 2016/05/17 07:37:25;
  expire 2 2016/05/17 07:52:25;
}
====================
As you can see, board gets two leases pretty rapidly, then it gets NTP time and new lease with new IP. Is this problem coming from the fact that when board gets NTP time, it notices that time is over expiration time and it has to drop its lease.

I suppose that this is what Connman handles differently.

Communication log from dhcp server:
===========================
May 17 08:49:33 ubuntu1 dhcpd: DHCPDISCOVER from 84:eb:18:96:a2:14 via eth1
May 17 08:49:34 ubuntu1 dhcpd: DHCPOFFER on 111.111.3.15 to 84:eb:18:96:a2:14 via eth1
May 17 08:49:34 ubuntu1 dhcpd: DHCPREQUEST for 111.111.3.15 (111.111.1.2) from 84:eb:18:96:a2:14 via eth1
May 17 08:49:34 ubuntu1 dhcpd: DHCPACK on 111.111.3.15 to 84:eb:18:96:a2:14 via eth1

May 17 08:49:36 ubuntu1 dhcpd: DHCPREQUEST for 111.111.3.15 from 84:eb:18:96:a2:14 via eth1
May 17 08:49:36 ubuntu1 dhcpd: DHCPACK on 111.111.3.15 to 84:eb:18:96:a2:14 via eth1

May 17 08:52:16 ubuntu1 dhcpd: DHCPDISCOVER from 84:eb:18:96:a2:14 via eth1
May 17 08:52:16 ubuntu1 dhcpd: ICMP Echo reply while lease 111.111.3.15 valid.
May 17 08:52:16 ubuntu1 dhcpd: Abandoning IP address 111.111.3.15: pinged before offer

May 17 08:52:24 ubuntu1 dhcpd: DHCPDISCOVER from 84:eb:18:96:a2:14 via eth1
May 17 08:52:25 ubuntu1 dhcpd: DHCPOFFER on 111.111.3.11 to 84:eb:18:96:a2:14 via eth1
May 17 08:52:25 ubuntu1 dhcpd: DHCPREQUEST for 111.111.3.11 (111.111.1.2) from 84:eb:18:96:a2:14 via eth1
May 17 08:52:25 ubuntu1 dhcpd: DHCPACK on 111.111.3.11 to 84:eb:18:96:a2:14 via eth1

May 17 09:39:51 ubuntu1 dhcpd: DHCPREQUEST for 111.111.3.11 from 84:eb:18:96:a2:14 via eth1
May 17 09:39:51 ubuntu1 dhcpd: DHCPACK on 111.111.3.11 to 84:eb:18:96:a2:14 via eth1
==========================

I hope someone can sort out what goes wrong / howto fix it.
Thanks,
Matti


2016-04-25 21:33 GMT+03:00 matti kaasinen <matti kaasinen gmail com>:
It is dedicated dhcp server for local area network called dhcpd3. I don't know how many free leases it has, but it do have very much free addressing space. I don't beleave server changes addres for lack of addresses. There are only couple of workstations (below 10) using dhcp addressing and basically their address never changes.

2016-04-25 16:58 GMT+03:00 José Queiroz <zekkerj gmail com>:


2016-04-25 2:24 GMT-03:00 matti kaasinen <matti kaasinen gmail com>:

dhcpd3



Sorry. I didn't make myself clear.

Which device is your DHCP server? A router (maybe wifi)? A dedicated/generic router? A server?

How many free leases the DHCP server have, now?


_______________________________________________
networkmanager-list mailing list
networkmanager-list gnome org
https://mail.gnome.org/mailman/listinfo/networkmanager-list






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]