<html><body><div style="font-family: Andale Mono; font-size: 10pt; color: #000000"><div style="font-family: Andale Mono; font-size: 10pt; color: #000000">It might help to send some logs from each time the client got an address as the lease file information isn't really useful in this case.  A snippit of your config showing the relevant subnet(s) might be useful also.<br><br><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Radoslav Pešek" <radoslav.pesek@stuba.sk><br><b>To: </b>dhcp-users@lists.isc.org<br><b>Sent: </b>Monday, July 10, 2017 5:43:49 AM<br><b>Subject: </b>Re: different ip address between clients restarts<br></blockquote></div><div data-marker="__QUOTED_TEXT__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;">Hi, has anybody any ideas on this issue? If you need more info let me know.<br><br>Thanks, Rado.<br><br><br>On 06/29/2017 11:14 AM, Radoslav Pešek wrote:<br>> Hi and thanks for your reply, but this shouldn't cause the problem, or <br>> maybe I don't understand what you mean. My clients get ips from the <br>> same pool (which is the pool they should get it from), but they don't <br>> get ip they previously had leased - and, according to the following, <br>> dhcp server should grant this address <br>> (https://www.ietf.org/rfc/rfc2131.txt):<br>><br>> 4.3.1 DHCPDISCOVER message<br>><br>>    When a server receives a DHCPDISCOVER message from a client, the<br>>    server chooses a network address for the requesting client.  If no<br>>    address is available, the server may choose to report the problem to<br>>    the system administrator. If an address is available, the new address<br>>    SHOULD be chosen as follows:<br>><br>>       o The client's current address as recorded in the client's current<br>>         binding, ELSE<br>><br>>       o The client's previous address as recorded in the client's (now<br>>         expired or released) binding, if that address is in the server's<br>>         pool of available addresses and not already allocated, ELSE<br>><br>>       o The address requested in the 'Requested IP Address' option, if <br>> that<br>>         address is valid and not already allocated, ELSE<br>><br>>       o A new address allocated from the server's pool of available<br>>         addresses; the address is selected based on the subnet from which<br>>         the message was received (if 'giaddr' is 0) or on the address of<br>>         the relay agent that forwarded the message ('giaddr' when not 0).<br>><br>><br>> But I don't know how far isc dhcp implementation conforms to this rfc.<br>><br>> Thanks again, Rado.<br>><br>><br>> On 06/29/2017 01:49 AM, Bill Shirley wrote:<br>>> It has been my experience that if a client does a DHCPREQUEST, the <br>>> server will grant<br>>> the lease even if the Class and pool 'allow members' do not match. <br>>> Only if there is an<br>>> explicit 'deny members' on the pool will it DHCPNAK.<br>>><br>>> However, if a client does a DHCPDISCOVER the server will allocate <br>>> only from pools that<br>>> meet the 'allow members' and 'deny members' requirements.<br>>><br>>> Bill<br>>><br>>><br>>> On 6/28/2017 5:36 AM, Radoslav Pešek wrote:<br>>>> Hallo list, I have dhcp servers (Debian 8.5, version 4.3.1, failover <br>>>> mode, ddns-update-style interim) and (at least) for certain clients <br>>>> they don't keep ip address between clients' restarts.<br>>>><br>>>> Its maybe related to another issue I posted few days ago - <br>>>> https://lists.isc.org/pipermail/dhcp-users/2017-June/020652.html - <br>>>> but the solution only helped for problem with weird hostname value <br>>>> in dhcp replies, not for this issue as I hoped.<br>>>><br>>>> So, it's in failover mode (interim) with clients getting ip <br>>>> addresses from range. The pool shouldn't be exhausted as I see this <br>>>> in logs:<br>>>><br>>>> Jun 27 10:08:39 s3 dhcpd: balancing pool b8107778 <br>>>> poschodia_a_studenti  total 21  free 4  backup 5  lts 0 max-own (+/-)1<br>>>> Jun 27 10:08:39 s3 dhcpd: balanced pool b8107778 <br>>>> poschodia_a_studenti  total 21  free 4  backup 5  lts 0 max-misbal 1<br>>>><br>>>> and when I restart test client several times within say few hours it <br>>>> gets same ip address it had few restarts ago. It is even asking in <br>>>> DHCP DISCOVER message for its current ip address but the server <br>>>> decides to lease another one (no DHCP NAK message). The default and <br>>>> max lease times for these clients are both set to 2592000.<br>>>><br>>>> These are records in dhcpd.leases when I restart test client (those <br>>>> log lines are perhaps my misconfiguration in dhcpd.conf or what, but <br>>>> I had this issue even before I added logging so it's not related):<br>>>><br>>>> lease XXX.XXX.XXX.232 {<br>>>>   starts 3 2017/06/28 07:29:45;<br>>>>   ends 3 2017/06/28 08:28:38;<br>>>>   tstp 3 2017/06/28 08:28:38;<br>>>>   tsfp 6 2017/08/12 07:29:45;<br>>>>   cltt 3 2017/06/28 07:29:45;<br>>>>   binding state released;<br>>>>   next binding state free;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>>   client-hostname "vm102";<br>>>> }<br>>>> lease XXX.XXX.XXX.232 {<br>>>>   starts 3 2017/06/28 07:29:45;<br>>>>   ends 3 2017/06/28 08:28:38;<br>>>>   tstp 3 2017/06/28 08:28:38;<br>>>>   tsfp 3 2017/06/28 08:28:38;<br>>>>   atsfp 3 2017/06/28 08:28:38;<br>>>>   cltt 3 2017/06/28 07:29:45;<br>>>>   binding state free;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>> }<br>>>> lease XXX.XXX.XXX.231 {<br>>>>   starts 3 2017/06/28 08:29:03;<br>>>>   ends 3 2017/06/28 08:59:03;<br>>>>   tstp 5 2017/07/28 08:44:03;<br>>>>   tsfp 3 2017/06/28 08:08:55;<br>>>>   cltt 3 2017/06/28 08:29:03;<br>>>>   binding state active;<br>>>>   next binding state expired;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>>   set mac_6 = "02";<br>>>>   client-hostname "vm102";<br>>>>   on release {<br>>>>     log (error, "=============[ START COMMIT ]================");<br>>>>     log (error, "host-decl-name: ");<br>>>>     log (error, host-decl-name);<br>>>>     log (error, "option host-name: ");<br>>>>     log (error,<br>>>>         option host-name);<br>>>>     log (error, "config-option server.ddns-hostname: ");<br>>>>     log (error,<br>>>>         option host-name);<br>>>>     log (error, "config-option server.ddns-hostname: ");<br>>>>     log (error,<br>>>>         config-option server.ddns-hostname);<br>>>>     log (error, "============[ END COMMIT ]==================");<br>>>>   }<br>>>> }<br>>>> lease XXX.XXX.XXX.231 {<br>>>>   starts 3 2017/06/28 08:29:03;<br>>>>   ends 3 2017/06/28 08:59:03;<br>>>>   tstp 5 2017/07/28 08:44:03;<br>>>>   tsfp 3 2017/06/28 08:08:55;<br>>>>   cltt 3 2017/06/28 08:29:03;<br>>>>   binding state active;<br>>>>   next binding state expired;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";<br>>>>   set ddns-fwd-name = "vm102.some.domain.";<br>>>>   set mac_6 = "02";<br>>>>   client-hostname "vm102";<br>>>>   on release {<br>>>>     log (error, "=============[ START COMMIT ]================");<br>>>>     log (error, "host-decl-name: ");<br>>>>     log (error, host-decl-name);<br>>>>     log (error, "option host-name: ");<br>>>>     log (error,<br>>>>         option host-name);<br>>>>     log (error, "config-option server.ddns-hostname: ");<br>>>>     log (error,<br>>>>         config-option server.ddns-hostname);<br>>>>     log (error, "============[ END COMMIT ]==================");<br>>>>   }<br>>>> }<br>>>> lease XXX.XXX.XXX.231 {<br>>>>   starts 3 2017/06/28 08:29:03;<br>>>>   ends 3 2017/06/28 08:59:03;<br>>>>   tstp 5 2017/07/28 08:44:03;<br>>>>   tsfp 3 2017/06/28 08:08:55;<br>>>>   cltt 3 2017/06/28 08:29:03;<br>>>>   binding state active;<br>>>>   next binding state expired;<br>>>>   binding state active;<br>>>>   next binding state expired;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>>   set ddns-rev-name = "231.XXX.XXX.XXX.in-addr.arpa.";<br>>>>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";<br>>>>   set ddns-fwd-name = "vm102.some.domain.";<br>>>>   set mac_6 = "02";<br>>>>   client-hostname "vm102";<br>>>>   on release {<br>>>>     log (error, "=============[ START COMMIT ]================");<br>>>>     log (error, "host-decl-name: ");<br>>>>     log (error, host-decl-name);<br>>>>     log (error, "option host-name: ");<br>>>>     log (error,<br>>>>         option host-name);<br>>>>     log (error, "config-option server.ddns-hostname: ");<br>>>>     log (error,<br>>>>         config-option server.ddns-hostname);<br>>>>     log (error, "============[ END COMMIT ]==================");<br>>>>   }<br>>>> }<br>>>> lease XXX.XXX.XXX.231 {<br>>>>   starts 3 2017/06/28 08:29:03;<br>>>>   ends 3 2017/06/28 08:59:03;<br>>>>   tstp 5 2017/07/28 08:44:03;<br>>>>   tsfp 5 2017/07/28 08:44:03;<br>>>>   atsfp 5 2017/07/28 08:44:03;<br>>>>   cltt 3 2017/06/28 08:29:03;<br>>>>   binding state active;<br>>>>   next binding state expired;<br>>>>   hardware ethernet aa:bb:cc:dd:ee:ff;<br>>>>   set ddns-rev-name = "231.XXX.XXX.XXX.in-addr.arpa.";<br>>>>   set ddns-txt = "000b7fa68b3f8b2e4967e49ff0faef4cf6";<br>>>>   set ddns-fwd-name = "vm102.some.domain.";<br>>>>   set mac_6 = "02";<br>>>>   client-hostname "vm102";<br>>>>   on release {<br>>>>     log (error, "=============[ START COMMIT ]================");<br>>>>     log (error, "host-decl-name: ");<br>>>>     log (error, host-decl-name);<br>>>>     log (error, "option host-name: ");<br>>>>     log (error,<br>>>>         option host-name);<br>>>>     log (error, "config-option server.ddns-hostname: ");<br>>>>     log (error,<br>>>>         config-option server.ddns-hostname);<br>>>>     log (error, "============[ END COMMIT ]==================");<br>>>>   }<br>>>> }<br>>>><br>>>> Do you see anything wrong there?<br>>>><br>>>> Thanks for any insights, Rado.<br>>>><br>>>><br>>>> _______________________________________________<br>>>> dhcp-users mailing list<br>>>> dhcp-users@lists.isc.org<br>>>> https://lists.isc.org/mailman/listinfo/dhcp-users<br>>><br>>> _______________________________________________<br>>> dhcp-users mailing list<br>>> dhcp-users@lists.isc.org<br>>> https://lists.isc.org/mailman/listinfo/dhcp-users<br>><br>> _______________________________________________<br>> dhcp-users mailing list<br>> dhcp-users@lists.isc.org<br>> https://lists.isc.org/mailman/listinfo/dhcp-users<br><br>_______________________________________________<br>dhcp-users mailing list<br>dhcp-users@lists.isc.org<br>https://lists.isc.org/mailman/listinfo/dhcp-users</blockquote></div></div><br></div></body></html>