different ip address between clients restarts

Radoslav Pešek radoslav.pesek at stuba.sk
Thu Jun 29 09:14:55 UTC 2017


Hi and thanks for your reply, but this shouldn't cause the problem, or 
maybe I don't understand what you mean. My clients get ips from the same 
pool (which is the pool they should get it from), but they don't get ip 
they previously had leased - and, according to the following, dhcp 
server should grant this address (https://www.ietf.org/rfc/rfc2131.txt):

4.3.1 DHCPDISCOVER message

    When a server receives a DHCPDISCOVER message from a client, the
    server chooses a network address for the requesting client.  If no
    address is available, the server may choose to report the problem to
    the system administrator. If an address is available, the new address
    SHOULD be chosen as follows:

       o The client's current address as recorded in the client's current
         binding, ELSE

       o The client's previous address as recorded in the client's (now
         expired or released) binding, if that address is in the server's
         pool of available addresses and not already allocated, ELSE

       o The address requested in the 'Requested IP Address' option, if that
         address is valid and not already allocated, ELSE

       o A new address allocated from the server's pool of available
         addresses; the address is selected based on the subnet from which
         the message was received (if 'giaddr' is 0) or on the address of
         the relay agent that forwarded the message ('giaddr' when not 0).


But I don't know how far isc dhcp implementation conforms to this rfc.

Thanks again, Rado.


On 06/29/2017 01:49 AM, Bill Shirley wrote:
> 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
>
> _______________________________________________
> 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