duplicate ip address assigned

Matthew.Stier at fujitsu.com Matthew.Stier at fujitsu.com
Fri Apr 23 20:19:34 UTC 2021


https://www.flexradio.com/insider/ip-addresses-static-vs-dhcp-vs-dhcp-reservations/

Static and DHCP address can share the same network, but Static addresses need to excluded from the pool of addresses the DHCP issues.

DHCP Reservations are simply DHCP issued address, which has been pre-arranged to be issued the same IP address each time.  (usually by MAC address) Don't fit the criteria, you don't get the address.

-----Original Message-----
From: dhcp-users <dhcp-users-bounces at lists.isc.org> On Behalf Of Alan Batie
Sent: Friday, April 23, 2021 12:42 PM
To: dhcp-users at lists.isc.org
Subject: duplicate ip address assigned

We had a case yesterday where a statically assigned address was suddenly given to another customer; in reviewing logs, it looks like there were hints that something had gotten confused in the dhcp server; I shut off the connection to the rogue customer to allow the static customer to get the address, expecting that to solve the problem, but when I turned the rogue customer back on, they stole the address again - the address was being assigned to *both*.  I had to force the dynamic customer to a static address to allow the real static customer to function properly.

66:66:66:66:66:66 - mac address of rogue dynamic customer
00:11:22:33:44:55 - mac address of static customer
1.1.1.100 - dynamic ip address rogue dynamic customer initially had
1.1.1.105 - dynamic ip address rogue dynamic customer got later
1.1.1.200 - static ip address assigned to static customer
1.1.1.254 - ip address of dhcp server on the customer vlan on interface
ens193
1.1.1.1   - customer vlan interface address of the router
99.99.99.99 - wan ip address of dhcp server on interface ens192
	    * we're moving from bridging customer vlans to the dhcp server to using dhcp relay
	      I turned off the vlan bridging briefly, but turned it back on until I have more time
	      to make sure the dhcp relay is working right (tests worked, but in an abundance of
	      caution, I want to monitor transactions for a while...)
	    * ens192 doesn't show up, so the wan address of the dhcp server must have been obtained
	      from the period when relaying was the only option

This is the furthest back we have logs; the vlan bridging was turned off/on on the 7th, which is when I think things got initially confused, but it was still correctly assigning the static address:

> Apr  9 04:06:08 dhcp01 dhcpd: Dynamic and static leases present for
1.1.1.200.
> Apr  9 04:06:08 dhcp01 dhcpd: Remove host declaration StaticCustomer
or remove 1.1.1.200
> Apr  9 04:06:08 dhcp01 dhcpd: from the dynamic address pool for 
> 1.1.1.0/24 Apr  9 04:06:08 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 
> from
00:11:22:33:44:55 via ens193
> Apr  9 04:06:08 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
00:11:22:33:44:55 via ens193

and Wednesday, Dynamic Customer was still properly getting a dynamic
address:

> Apr 21 18:37:31 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPOFFER on 1.1.1.100 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via 1.1.1.1
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPOFFER on 1.1.1.100 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.100 (99.99.99.99)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPACK on 1.1.1.100 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.100 (99.99.99.99)
from 66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:37:31 dhcp01 dhcpd: DHCPACK on 1.1.1.100 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

I get that it's getting one request directly, and another from the relay; I don't think that should matter...

Shortly after this, the address changed for no apparent reason; it's also unclear why it repeatedly retried the request; it does look like it shifted from an address assigned via relay to an address assigned directly, but only briefly:

> Apr 21 18:42:34 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 21 18:42:34 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66 via
1.1.1.1
> Apr 21 18:42:35 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

> Apr 21 18:42:37 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:37 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

> Apr 21 18:42:43 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:43 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:43 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:43 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

> Apr 21 18:42:47 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:47 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:47 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:47 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

> Apr 21 18:42:52 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:52 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 21 18:42:52 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 21 18:42:52 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

But at 10pm, the static address was still properly being assigned:

> Apr 21 22:06:11 dhcp01 dhcpd: Dynamic and static leases present for
1.1.1.200.
> Apr 21 22:06:11 dhcp01 dhcpd: Remove host declaration StaticCustomer
or remove 1.1.1.200
> Apr 21 22:06:11 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 from
00:11:22:33:44:55 via ens193
> Apr 21 22:06:11 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
00:11:22:33:44:55 via ens193

and shortly after midnight, the dynamic address is still being assigned:

> Apr 22 00:11:37 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 22 00:11:38 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:39 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:39 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:39 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 22 00:11:39 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

> Apr 22 00:11:41 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:41 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193

> Apr 22 00:11:57 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via 1.1.1.1
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPOFFER on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (99.99.99.99)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.105 (99.99.99.99)
from 66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 22 00:11:57 dhcp01 dhcpd: DHCPACK on 1.1.1.105 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

But then a few minutes later, DynamicCustomer steals the static address:

> Apr 22 00:17:01 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 22 00:17:01 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66 via
ens193
> Apr 22 00:17:02 dhcp01 dhcpd: DHCPOFFER on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:17:02 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:17:02 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 00:17:02 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1
> Apr 22 00:17:02 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via 1.1.1.1

And at 8:30, it's being given to *both* clients:

> Apr 22 08:33:14 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:33:14 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193

> Apr 22 08:36:10 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 from
00:11:22:33:44:55 via ens193
> Apr 22 08:36:10 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
00:11:22:33:44:55 via ens193

> Apr 22 08:39:06 dhcp01 dhcpd: DHCPDISCOVER from 66:66:66:66:66:66
(DynamicCustomer) via ens193
> Apr 22 08:39:07 dhcp01 dhcpd: DHCPOFFER on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:39:07 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 (1.1.1.254)
from 66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:39:07 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:56:01 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:56:01 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193

> Apr 22 08:56:08 dhcp01 dhcpd: DHCPDISCOVER from 00:11:22:33:44:55 via
ens193
> Apr 22 08:56:08 dhcp01 dhcpd: DHCPOFFER on 1.1.1.200 to
00:11:22:33:44:55 via ens193
> Apr 22 08:56:09 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 (1.1.1.254)
from 00:11:22:33:44:55 via ens193
> Apr 22 08:56:09 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
00:11:22:33:44:55 via ens193
> Apr 22 08:56:09 dhcp01 dhcpd: DHCPDISCOVER from 00:11:22:33:44:55 via
1.1.1.1
> Apr 22 08:56:09 dhcp01 dhcpd: DHCPOFFER on 1.1.1.200 to
00:11:22:33:44:55 via 1.1.1.1

> Apr 22 08:56:09 dhcp01 dhcpd: DHCPREQUEST for 1.1.1.200 from
66:66:66:66:66:66 (DynamicCustomer) via ens193
> Apr 22 08:56:09 dhcp01 dhcpd: DHCPACK on 1.1.1.200 to
66:66:66:66:66:66 (DynamicCustomer) via ens193

_______________________________________________
ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.

dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users


More information about the dhcp-users mailing list