rapidly growing dhcpd.leases file

Nikos Mouat nikm at cyberflunk.com
Tue Mar 28 23:35:49 UTC 2006


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