Several ip-addresses to the same MAC address.

Staffan.Ungsgard at teliasonera.com Staffan.Ungsgard at teliasonera.com
Fri Apr 28 13:02:07 UTC 2006


Hi
Does the isc-server support multiple ip-addresses to a single MAC. This is what happens for us with a home gateway that
uses different links/interfaces (VP/VC) for different services. An unique option-82 information is added to each interface which then
is used to offer addresses from different pools for different servers.

In the snippet below, two different addresses are handled by the dhcp-server for the same MAC address.
Everything works fine for the initial address offer as the dhcp-server uses the option-82 infomation to distinguish between the
different "clients". The request is broadcasted, picked up by a relay and then relayed to the dhcp-server with added option-82 information.
When the address is renewed, it's done via a unicast straight fromc each client to the server, and thus no option-82 information
will be present.

What I think happens here is that the dhcp-server finds the MAC address in it's internal database, but as there must be records
for two different ip-addresses bound to the same MAC, and the dhcp-server happens to find the "other record" first, it finds out
that the ip-address bound to the MAC is not the same as the address requested - and therefore NACKs the request.

When finally the client does a DHCPREQUEST via the broadcast/relay again, the request is granted.

Can anybody shine any light on this - is my description above correct, and is there anything I can do to get rid of the NAKs.


Here is the log snippet. Lease time is 20 minutes.
I call the first client interface one, and the second interface two.

Apr 28 10:59:04 dhcp3 dhcpd: [ID 702911 local0.info] DHCPDISCOVER from 00:14:7f:04:31:22 via 123.23.3.129
Apr 28 10:59:05 dhcp3 dhcpd: [ID 702911 local0.info] DHCPOFFER on 123.23.3.139 to 00:14:7f:04:31:22 via 123.23.3.129
Apr 28 10:59:05 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.139 (123.23.3.250) from 00:14:7f:04:31:22 via 123.23.3.129
Apr 28 10:59:05 dhcp3 dhcpd: [ID 702911 local0.info] DHCPACK on 123.23.3.139 to 00:14:7f:04:31:22 via 123.23.3.129

----------------- Interface one has received it's ip-address via broadcast-and-relay

Apr 28 10:59:48 dhcp3 dhcpd: [ID 702911 local0.info] DHCPDISCOVER from 00:14:7f:04:31:22 via 123.23.3.65
Apr 28 10:59:49 dhcp3 dhcpd: [ID 702911 local0.info] DHCPOFFER on 123.23.3.88 to 00:14:7f:04:31:22 via 123.23.3.65
Apr 28 10:59:49 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.88 (123.23.3.250) from 00:14:7f:04:31:22 via 123.23.3.65
Apr 28 10:59:49 dhcp3 dhcpd: [ID 702911 local0.info] DHCPACK on 123.23.3.88 to 00:14:7f:04:31:22 via 123.23.3.65

----------------- Interface two has received it's ip-address

----------------- Now interface one asks for a renew after half the lease time via unicast to the server, and receives a DHCPNAK

Apr 28 11:09:03 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.139 from 00:14:7f:04:31:22 via hme0: lease 123.23.3.139 unavailable.
Apr 28 11:09:03 dhcp3 dhcpd: [ID 702911 local0.info] DHCPNAK on 123.23.3.139 to 00:14:7f:04:31:22 via hme0

----------------- Interface two asks for a renew after half the lease time via unicast to the server, and receives a DHCPACK

Apr 28 11:09:47 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.88 from 00:14:7f:04:31:22 via hme0
Apr 28 11:09:47 dhcp3 dhcpd: [ID 702911 local0.info] DHCPACK on 123.23.3.88 to 00:14:7f:04:31:22 via hme0

----------------- This continues for a while, one get NAKs and two get ACKs, until finally interface one does a request via the
                  relay instead of directly. In this case the option 82 information is used and the client get's an ACK.

Apr 28 11:16:35 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.139 from 00:14:7f:04:31:22 via 123.23.3.129
Apr 28 11:16:35 dhcp3 dhcpd: [ID 702911 local0.info] DHCPACK on 123.23.3.139 to 00:14:7f:04:31:22 via 123.23.3.129

----------------- But... the next unicast relay request fails again for interface one.

Apr 28 11:19:01 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.139 from 00:14:7f:04:31:22 via hme0: lease 123.23.3.139 unavailable.
Apr 28 11:19:01 dhcp3 dhcpd: [ID 702911 local0.info] DHCPNAK on 123.23.3.139 to 00:14:7f:04:31:22 via hme0
Apr 28 11:19:47 dhcp3 dhcpd: [ID 702911 local0.info] DHCPREQUEST for 123.23.3.88 from 00:14:7f:04:31:22 via hme0
Apr 28 11:19:47 dhcp3 dhcpd: [ID 702911 local0.info] DHCPACK on 123.23.3.88 to 00:14:7f:04:31:22 via hme0

Best Regards

-- Staffan Ungsgard




More information about the dhcp-users mailing list