dhclient renewing ip address lesser then 50% of configured lease period

Bob Harold rharolde at umich.edu
Wed Nov 25 19:12:49 UTC 2015


On Wed, Nov 25, 2015 at 1:10 PM, srinirao <iamspl_xxx at yahoo.com> wrote:

> Hi Bob,
>
> Many thanks for your reply. If it is expected behavior do you have piece
> of documents supporting this ?
> All i could find till now was 'half way through the lease period DHCP
> client requests for renewing leases'. For my configuration half way is 60
> minutes. Why is it doing 10 minutes before that ?
>
>
> regards,
> srini rao
>
>
>
> On Wednesday, November 25, 2015 7:36 PM, Bob Harold <rharolde at umich.edu>
> wrote:
>
>
>
> On Tue, Nov 24, 2015 at 11:42 PM, srinirao <iamspl_xxx at yahoo.com> wrote:
>
>
> Hello, I have my embedded device running dhclient 3.2.18 release. I have
> configured the dhcp server lease time as:
>
> max-lease-time    28800;
> default-lease-time 7200;
>
> Inspite of configuring default lease time to 2 hours, i get frequent dhcp
> request going out of my device. The requests go out at a freqnency of 50
> minutes every time. I have read in the online documents that DHCP renew
> request (unicast) can happen after the completion of 50% of lease time
> configured. But however I find it hard to understand why this (magic
> number) 50 minutes here.
>
> I am getting very frequent DHCP updates of approximately 50 minutes in
> /var/log/messages
>
> Nov 10 10:34:05 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 10:34:05 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 10:34:06 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3240 seconds.
> Nov 10 11:28:06 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 11:28:06 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 11:28:06 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3364 seconds.
> Nov 10 12:24:11 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 12:24:11 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 12:24:11 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3117 seconds.
> Nov 10 13:16:08 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 13:16:08 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 13:16:09 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3127 seconds.
> Nov 10 14:08:16 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 14:08:16 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 14:08:16 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3578 seconds.
> Nov 10 15:07:54 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 15:07:54 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 15:07:55 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2843 seconds.
> Nov 10 15:55:19 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 15:55:19 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 15:55:19 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3206 seconds.
> Nov 10 16:48:45 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 16:48:45 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 16:48:45 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3001 seconds.
> Nov 10 17:38:46 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 17:38:46 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 17:38:46 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3227 seconds.
> Nov 10 18:32:33 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 18:32:33 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 18:32:33 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3247 seconds.
> Nov 10 19:26:41 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 19:26:41 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 19:26:41 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3512 seconds.
> Nov 10 20:25:13 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 20:25:13 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 20:25:14 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2853 seconds.
> Nov 10 21:12:47 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 21:12:47 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 21:12:47 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3146 seconds.
> Nov 10 22:05:13 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 22:05:13 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 22:05:13 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2776 seconds.
> Nov 10 22:51:29 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 22:51:29 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 22:51:30 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3359 seconds.
> Nov 10 23:47:29 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 10 23:47:29 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 10 23:47:29 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3039 seconds.
> Nov 11 00:38:08 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 00:38:08 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 00:38:08 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2998 seconds.
> Nov 11 01:28:07 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 01:28:07 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 01:28:07 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3200 seconds.
> Nov 11 02:21:28 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 02:21:28 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 02:21:28 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2866 seconds.
> Nov 11 03:09:15 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 03:09:15 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 03:09:15 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3378 seconds.
> Nov 11 04:05:33 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 04:05:33 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 04:05:33 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3580 seconds.
> Nov 11 05:05:13 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 05:05:14 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 05:05:14 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3539 seconds.
> Nov 11 06:04:13 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 06:04:13 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 06:04:13 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2772 seconds.
> Nov 11 06:50:25 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 06:50:25 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 06:50:26 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3126 seconds.
> Nov 11 07:42:32 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 07:42:32 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 07:42:32 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 3087 seconds.
> Nov 11 08:33:59 XXX-XXXX dhclient4: DHCPREQUEST on eth0 to 10.14.176.70
> port 67
> Nov 11 08:33:59 XXX-XXXX dhclient4: DHCPACK from 10.14.176.70
> Nov 11 08:33:59 XXX-XXXX dhclient4: bound to 10.14.180.135 -- renewal in
> 2779 seconds.
>
> and so on.
> My DHCP client configuration file only has following options enabled:
>
> request subnet-mask, broadcast-address, time-offset, routers,
> domain-name, domain-name-servers, host-name,
> netbios-name-servers, netbios-scope;
>
> And my lease file logs these responses (approximately every 50 minutes) as
> :
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 05:37:22;
>   rebind 3 2015/11/18 06:26:23;
>   expire 3 2015/11/18 06:41:23;
> }
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 06:28:43;
>   rebind 3 2015/11/18 07:22:22;
>   expire 3 2015/11/18 07:37:22;
> }
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 07:14:31;
>   rebind 3 2015/11/18 08:13:43;
>   expire 3 2015/11/18 08:28:43;
> }
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 08:01:46;
>   rebind 3 2015/11/18 08:59:31;
>   expire 3 2015/11/18 09:14:31;
> }
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 08:57:34;
>   rebind 3 2015/11/18 09:46:46;
>   expire 3 2015/11/18 10:01:46;
> }
> lease {
>   interface "eth0";
>   fixed-address 10.14.180.135;
>   option subnet-mask 255.255.255.128;
>   option routers 10.14.180.129;
>   option dhcp-lease-time 7200;
>   option dhcp-message-type 5;
>   option domain-name-servers 10.14.176.70,10.14.176.2;
>   option dhcp-server-identifier 10.14.176.70;
>   option domain-name "b08.okc.mydomain.com.";
>   renew 3 2015/11/18 09:51:31;
>   rebind 3 2015/11/18 10:42:34;
>   expire 3 2015/11/18 10:57:34;
> }
> and so on.
>
> What could I be doing wrong? According to me, the ip address should not
> need to change that often.
>
> Please help
> srini rao
>
> After a outage, or when everyone arrives at the office at the same time,
> many clients will get leases at the same time.  To avoid the renewals all
> happening at the same time, the DHCP varies the renewal time a little.
> Notice the "renewal in 3539 seconds." in your log.  I see it varying from
> 46 to 60 minutes in your log.  This is exactly what you should expect.  If
> you want less frequent renewals, you could change to 8 hour leases.  I use:
>
> min-lease-time 28800;
> default-lease-time 28800;
> max-lease-time 28800;
>
> --
> Bob Harold>
>

I cannot find it in the release notes or man pages, so it is a guess on my
part.  Perhaps the source code has some comments ...

--
Bob Harold
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20151125/93aa32b4/attachment-0001.html>


More information about the dhcp-users mailing list