uid lease is duplicate / multiple DHCPOFFER
Wim Vandersmissen
wim.vandersmissen at icts.kuleuven.be
Thu Apr 29 13:22:42 UTC 2010
Hi,
We recently migrated our old dhcp environment to a 4.1.1 failover one.
After the migration we got users complaining that they got new ip addresses and
the logs are showing "uid lease x.x.x.x for client aa:bb:cc:dd:ee:ff is
duplicate on x.x.x.x/y" on those users.
Sometimes the dhcpservers know that they should load balance to the peer and
only send one DHCPOFFER and sometimes they respond with two DHCPOFFERS
containing two different IP addresses.
I used wireshark to debug the DHCPDISCOVER
- the client 'secs' field (0) or sometimes (3) or (5) is below our
'load-balance-max-secs' (6)
- the clients 'client address field' is also 0.0.0.0
Some more information about the failover:
- we're using 'split 128' for the load-balancing
- we're not using any reservations.
- we're using 'one-lease-per-client'
- both partners are in normal state (00:00:00:02)
- MCLT = 1800
- for this example the max-lease-time = 900
In the example below you can see that at 09h35 it works correctly, load balanced
to peer.. but at 21h40 both servers responds with different DHCPOFFERS and
different ip's which cause the duplicate message and a possible different ip for
the client (in this case it takes the same, but in other cases it takes the other
one)
We're seeing this behaviour on around 10% of our users (unique mac addresses).
cat /var/log/all|grep "Apr 29"|grep DHCPDISCOVER|awk '{print $8}'|sort|uniq|wc
10912 10912 196416
cat /var/log/all|grep "Apr 29"|grep duplicate|awk '{print $11}'|sort|uniq|wc
1160 1160 20880
Disabling the secondary dhcp server solves the duplicate messages and obviously
also the two different DHCPOFFERS but also removes the failover, so it's not
really an option.
Any clues/ideas what I can do/check next ?
Thanks,
Wim
-----------------------
09:35:44 dhcp1-l dhcpd: DHCPDISCOVER from 00:00:00:aa:bb:cc via 10.0.14.254: load balance to peer dhcp-failover
09:35:44 dhcp2-l dhcpd: DHCPDISCOVER from 00:00:00:aa:bb:cc via 10.0.14.254
09:35:45 dhcp2-l dhcpd: DHCPOFFER on 10.0.14.164 to 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
09:35:45 dhcp1-l dhcpd: DHCPREQUEST for 10.0.14.164 (134.58.127.6) from 00:00:00:aa:bb:cc via 10.0.14.254: lease owned by peer
09:35:45 dhcp2-l dhcpd: DHCPREQUEST for 10.0.14.164 (134.58.127.6) from 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
09:35:45 dhcp2-l dhcpd: DHCPACK on 10.0.14.164 to 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
09:36:25 dhcp2-l dhcpd: DHCPACK to 10.0.14.164 (00:00:00:aa:bb:cc) via eth1
09:36:25 dhcp1-l dhcpd: DHCPACK to 10.0.14.164 (00:00:00:aa:bb:cc) via eth1
---
21:40:06 dhcp1-l dhcpd: DHCPDISCOVER from 00:00:00:aa:bb:cc via 10.0.14.254
21:40:06 dhcp2-l dhcpd: DHCPDISCOVER from 00:00:00:aa:bb:cc via 10.0.14.254
21:40:07 dhcp2-l dhcpd: DHCPOFFER on 10.0.14.164 to 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
21:40:07 dhcp1-l dhcpd: DHCPOFFER on 10.0.14.179 to 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
21:40:07 dhcp1-l dhcpd: uid lease 10.0.14.179 for client 00:00:00:aa:bb:cc is duplicate on 10.0.14.0/24
21:40:07 dhcp1-l dhcpd: DHCPREQUEST for 10.0.14.164 (134.58.127.6) from 00:00:00:aa:bb:cc via 10.0.14.254: lease owned by peer
21:40:07 dhcp2-l dhcpd: DHCPREQUEST for 10.0.14.164 (134.58.127.6) from 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
21:40:07 dhcp2-l dhcpd: DHCPACK on 10.0.14.164 to 00:00:00:aa:bb:cc (Jarri) via 10.0.14.254
21:40:12 dhcp1-l dhcpd: DHCPACK to 10.0.14.164 (00:00:00:aa:bb:cc) via eth1
21:40:12 dhcp2-l dhcpd: DHCPACK to 10.0.14.164 (00:00:00:aa:bb:cc
More information about the dhcp-users
mailing list