rapidly growing dhcpd.leases file

Glenn Satchell Glenn.Satchell at uniq.com.au
Wed Mar 29 11:58:12 UTC 2006


Hi Nikos,

You have a badly behaving client (with mac address 00:ii:jj:kk:8b:8a)
cycling through every available address. You can see it continually
doing a DHCPDISCOVER followed by the server doing DHCPOFFER, but then
it either ignores or does not receive the off, so it goes back to
discover again. You should also check that the network from the server
to that client and the relay are correctly set up, as the replies may
not be getting back to the client.

regards,
-glenn

>Date: Tue, 28 Mar 2006 15:35:49 -0800 (PST)
>From: Nikos Mouat <nikm at cyberflunk.com>
>To: dhcp-users at isc.org
>
>Hi - I have a very rapidly growing dhcpd.leases file despite very little lease 
>activity going on. Here's an example:
>
># ls -l dhcpd.leases && sleep 1 && ls -l dhcpd.leases
>-rw-r--r--  1 root root 7451172 Mar 28 14:17 dhcpd.leases
>-rw-r--r--  1 root root 7458036 Mar 28 14:17 dhcpd.leases
># ls -l dhcpd.leases && sleep 1 && ls -l dhcpd.leases
>-rw-r--r--  1 root root 7480753 Mar 28 14:18 dhcpd.leases
>-rw-r--r--  1 root root 7487716 Mar 28 14:18 dhcpd.leases
>#
>
>so I'm growing 7K a second. If I restart dhcpd, it restarts and shrinks back to 
>a fresh starting point:
>[...]
>Wrote 0 deleted host decls to leases file.
>Wrote 0 new dynamic host decls to leases file.
>Wrote 70468 leases to leases file.
>[...]
>
>but it continues growing at the same pace.
>
># ls -l dhcpd.leases && sleep 1 && ls -l dhcpd.leases
>-rw-r--r--  1 root root 3347830 Mar 28 14:18 dhcpd.leases
>-rw-r--r--  1 root root 3355400 Mar 28 14:18 dhcpd.leases
># ls -l dhcpd.leases && sleep 1 && ls -l dhcpd.leases
>-rw-r--r--  1 root root 3553927 Mar 28 14:19 dhcpd.leases
>-rw-r--r--  1 root root 3560241 Mar 28 14:19 dhcpd.leases
>#
>
>There can be absolutely no traffic on the wire during this one second 
>interval.. you can see it takes 22 minutes to accumulate 1000 DHCP related 
>logs.. so that's less than one transaction per second..
>
># grep DHCP /var/log/messages| tail -1000 | head -2
>Mar 28 13:59:48 dhcp2 dhcpd: DHCPDISCOVER from <mac> via <relay>
>Mar 28 13:59:48 dhcp2 dhcpd: DHCPOFFER on <ip> to <mac> via <relay>
># grep DHCP /var/log/messages | tail -1000 | tail -2
>Mar 28 14:21:00 dhcp2 dhcpd: DHCPDISCOVER from <mac> via <relay>
>Mar 28 14:21:00 dhcp2 dhcpd: DHCPOFFER on <ip> to <mac> via <relay>
>#
>
>if I take a look at what is changing, it seems to be a whole lot of free lease 
>entries:
>
># cp dhcpd.leases q1 && sleep 1 && cp dhcpd.leases q2
># diff q1 q2
>298602a298603,298786
>> lease 10.XX.YY.51 {
>>   starts 2 2006/03/28 20:53:30;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.52 {
>>   starts 2 2006/03/28 20:53:27;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.53 {
>>   starts 2 2006/03/28 21:05:39;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.54 {
>>   starts 2 2006/03/28 20:53:25;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.55 {
>>   starts 2 2006/03/28 20:53:17;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.56 {
>>   starts 2 2006/03/28 21:03:48;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.57 {
>>   starts 2 2006/03/28 21:38:41;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:38:56;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.58 {
>>   starts 2 2006/03/28 20:53:09;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.59 {
>>   starts 2 2006/03/28 21:12:43;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.60 {
>>   starts 2 2006/03/28 20:53:06;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.61 {
>>   starts 2 2006/03/28 20:53:04;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.62 {
>>   starts 2 2006/03/28 21:20:08;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.63 {
>>   starts 2 2006/03/28 21:09:54;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.64 {
>>   starts 2 2006/03/28 21:18:46;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.65 {
>>   starts 2 2006/03/28 20:52:55;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.66 {
>>   starts 2 2006/03/28 20:58:33;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.67 {
>>   starts 2 2006/03/28 20:52:49;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.68 {
>>   starts 2 2006/03/28 21:21:04;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.69 {
>>   starts 2 2006/03/28 21:00:32;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.70 {
>>   starts 2 2006/03/28 21:35:30;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:36:47;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.71 {
>>   starts 2 2006/03/28 21:14:39;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.72 {
>>   starts 2 2006/03/28 20:57:20;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>> lease 10.XX.YY.73 {
>>   starts 2 2006/03/28 21:02:51;
>>   ends 2 2006/03/28 22:23:52;
>>   tstp 2 2006/03/28 21:32:36;
>>   binding state free;
>>   hardware ethernet 00:ii:jj:kk:8b:8a;
>>   uid "\001\000\340o\310\213\212";
>> }
>
>
>can someone tell me what the heck is going on and how to stop it?? This mac is 
>having problems ACKing a lease, but it's only sending discovers about every 13 
>seconds or so.
>
>Mar 28 14:22:59 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:22:59 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.250 to 00:ii:jj:kk:8b:8a via 
><relay>
>Mar 28 14:23:12 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:23:12 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.248 to 00:ii:jj:kk:8b:8a via 
><relay>
>Mar 28 14:23:28 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:23:28 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.248 to 00:ii:jj:kk:8b:8a via 
><relay>
>Mar 28 14:23:52 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:23:52 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.249 to 00:ii:jj:kk:8b:8a via 
><relay>
>Mar 28 14:23:58 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:23:58 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.158 to 00:ii:jj:kk:8b:8a via 
><relay>
>Mar 28 14:24:17 dhcp2 dhcpd: DHCPDISCOVER from 00:ii:jj:kk:8b:8a via <relay>
>Mar 28 14:24:17 dhcp2 dhcpd: DHCPOFFER on 10.XX.YY.247 to 00:ii:jj:kk:8b:8a via 
><relay>
>
>on top of that, my leases file has tons of entries like:
>
>lease 192.168.162.112 {
>   binding state free;
>}
>lease 192.168.162.111 {
>   binding state free;
>}
>lease 192.168.162.110 {
>   binding state free;
>}
>lease 192.168.162.109 {
>   binding state free;
>}
>lease 192.168.162.108 {
>   binding state free;
>}
>lease 192.168.162.107 {
>   binding state free;
>}
>
>help! I'm running isc-dhcp-V3.0.1 with some modifications to the OMAPI 
>interface.
>
>Thanks!
>-nm
>



More information about the dhcp-users mailing list