different ip address between clients restarts

Bill Shirley bill at c3po.polymerindustries.biz
Wed Jun 28 23:49:34 UTC 2017


It has been my experience that if a client does a DHCPREQUEST, the server will grant
the lease even if the Class and pool 'allow members' do not match. Only if there is an
explicit 'deny members' on the pool will it DHCPNAK.

However, if a client does a DHCPDISCOVER the server will allocate only from pools that
meet the 'allow members' and 'deny members' requirements.

Bill


On 6/28/2017 5:36 AM, Radoslav Pešek wrote:
> Hallo list, I have dhcp servers (Debian 8.5, version 4.3.1, failover mode, ddns-update-style interim) and (at least) for 
> certain clients they don't keep ip address between clients' restarts.
>
> Its maybe related to another issue I posted few days ago - https://lists.isc.org/pipermail/dhcp-users/2017-June/020652.html - 
> but the solution only helped for problem with weird hostname value in dhcp replies, not for this issue as I hoped.
>
> So, it's in failover mode (interim) with clients getting ip addresses from range. The pool shouldn't be exhausted as I see 
> this in logs:
>
> Jun 27 10:08:39 s3 dhcpd: balancing pool b8107778 poschodia_a_studenti  total 21  free 4  backup 5  lts 0  max-own (+/-)1
> Jun 27 10:08:39 s3 dhcpd: balanced pool b8107778 poschodia_a_studenti  total 21  free 4  backup 5  lts 0 max-misbal 1
>
> and when I restart test client several times within say few hours it gets same ip address it had few restarts ago. It is even 
> asking in DHCP DISCOVER message for its current ip address but the server decides to lease another one (no DHCP NAK message). 
> The default and max lease times for these clients are both set to 2592000.
>
> These are records in dhcpd.leases when I restart test client (those log lines are perhaps my misconfiguration in dhcpd.conf or 
> what, but I had this issue even before I added logging so it's not related):
>
> lease XXX.XXX.XXX.232 {
>   starts 3 2017/06/28 07:29:45;
>   ends 3 2017/06/28 08:28:38;
>   tstp 3 2017/06/28 08:28:38;
>   tsfp 6 2017/08/12 07:29:45;
>   cltt 3 2017/06/28 07:29:45;
>   binding state released;
>   next binding state free;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
>   client-hostname "vm102";
> }
> lease XXX.XXX.XXX.232 {
>   starts 3 2017/06/28 07:29:45;
>   ends 3 2017/06/28 08:28:38;
>   tstp 3 2017/06/28 08:28:38;
>   tsfp 3 2017/06/28 08:28:38;
>   atsfp 3 2017/06/28 08:28:38;
>   cltt 3 2017/06/28 07:29:45;
>   binding state free;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
> }
> lease XXX.XXX.XXX.231 {
>   starts 3 2017/06/28 08:29:03;
>   ends 3 2017/06/28 08:59:03;
>   tstp 5 2017/07/28 08:44:03;
>   tsfp 3 2017/06/28 08:08:55;
>   cltt 3 2017/06/28 08:29:03;
>   binding state active;
>   next binding state expired;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
>   set mac_6 = "02";
>   client-hostname "vm102";
>   on release {
>     log (error, "=============[ START COMMIT ]================");
>     log (error, "host-decl-name: ");
>     log (error, host-decl-name);
>     log (error, "option host-name: ");
>     log (error,
>         option host-name);
>     log (error, "config-option server.ddns-hostname: ");
>     log (error,
>         option host-name);
>     log (error, "config-option server.ddns-hostname: ");
>     log (error,
>         config-option server.ddns-hostname);
>     log (error, "============[ END COMMIT ]==================");
>   }
> }
> lease XXX.XXX.XXX.231 {
>   starts 3 2017/06/28 08:29:03;
>   ends 3 2017/06/28 08:59:03;
>   tstp 5 2017/07/28 08:44:03;
>   tsfp 3 2017/06/28 08:08:55;
>   cltt 3 2017/06/28 08:29:03;
>   binding state active;
>   next binding state expired;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";
>   set ddns-fwd-name = "vm102.some.domain.";
>   set mac_6 = "02";
>   client-hostname "vm102";
>   on release {
>     log (error, "=============[ START COMMIT ]================");
>     log (error, "host-decl-name: ");
>     log (error, host-decl-name);
>     log (error, "option host-name: ");
>     log (error,
>         option host-name);
>     log (error, "config-option server.ddns-hostname: ");
>     log (error,
>         config-option server.ddns-hostname);
>     log (error, "============[ END COMMIT ]==================");
>   }
> }
> lease XXX.XXX.XXX.231 {
>   starts 3 2017/06/28 08:29:03;
>   ends 3 2017/06/28 08:59:03;
>   tstp 5 2017/07/28 08:44:03;
>   tsfp 3 2017/06/28 08:08:55;
>   cltt 3 2017/06/28 08:29:03;
>   binding state active;
>   next binding state expired;
>   binding state active;
>   next binding state expired;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
>   set ddns-rev-name = "231.XXX.XXX.XXX.in-addr.arpa.";
>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";
>   set ddns-fwd-name = "vm102.some.domain.";
>   set mac_6 = "02";
>   client-hostname "vm102";
>   on release {
>     log (error, "=============[ START COMMIT ]================");
>     log (error, "host-decl-name: ");
>     log (error, host-decl-name);
>     log (error, "option host-name: ");
>     log (error,
>         option host-name);
>     log (error, "config-option server.ddns-hostname: ");
>     log (error,
>         config-option server.ddns-hostname);
>     log (error, "============[ END COMMIT ]==================");
>   }
> }
> lease XXX.XXX.XXX.231 {
>   starts 3 2017/06/28 08:29:03;
>   ends 3 2017/06/28 08:59:03;
>   tstp 5 2017/07/28 08:44:03;
>   tsfp 5 2017/07/28 08:44:03;
>   atsfp 5 2017/07/28 08:44:03;
>   cltt 3 2017/06/28 08:29:03;
>   binding state active;
>   next binding state expired;
>   hardware ethernet aa:bb:cc:dd:ee:ff;
>   set ddns-rev-name = "231.XXX.XXX.XXX.in-addr.arpa.";
>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";
>   set ddns-fwd-name = "vm102.some.domain.";
>   set mac_6 = "02";
>   client-hostname "vm102";
>   on release {
>     log (error, "=============[ START COMMIT ]================");
>     log (error, "host-decl-name: ");
>     log (error, host-decl-name);
>     log (error, "option host-name: ");
>     log (error,
>         option host-name);
>     log (error, "config-option server.ddns-hostname: ");
>     log (error,
>         config-option server.ddns-hostname);
>     log (error, "============[ END COMMIT ]==================");
>   }
> }
>
> Do you see anything wrong there?
>
> Thanks for any insights, Rado.
>
>
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users



More information about the dhcp-users mailing list