I'm having a slight problem with some terminals behind a DHCP relay.
The problem is that the terminal, when rebooted/shutdown releases its DHCP lease. HOWEVER it is not at the same time cleared from the routers ARP cache.
When the terminal reloads it request a new DHCP lease, and this time getting a new lease/IP. This far, no problem. However the DHCP server (some windows server), now hands out the released IP/lease to another requesting terminal, and as the DHCP relay offer is transmitted as a unicast to the terminal, the offer is sent to the old ARP entry and thus to the wrong MAC address resulting in the new client not being able to obtain an DHCP address.
A workaround could be to limit the ARP table timeout significantly. If I clear the ARP cache manually the problem also dissapers.
What I would rather do, is to clear the specific ARP entry upon DHCP release or force a new ARP lookup upon a new DHCP lease. Is this possible?
The relay is a 2911 with 15.1.4M
As a note:
I have stumbled upon this command:
ip dhcp relay prefer known-good-server
Which has this documentation:
*(Optional) Reduces the frequency with which the DHCP clients change their
address and forwards client requests to the server that handled the previous
request.
• The DHCP relay deletes the ARP entries for addresses offered to the
DHCP client on the unnumbered interfaces
but my interfaces are not unnumbered and I haven't been able to find more info as to what is command does. Anyone has some good references
--------------------------------------------
Barebone IOS code:
gi 0/1.2
desc DHCP servers
ip address w.w.w.1 255.255.255.0
!
gi 0/1.3
desc Terminals
ip address y.y.y.1 255.255.255.0
ip helper-address w.w.w.x
ip helper-address w.w.w.y
ip helper-address w.w.w.z