Microsoft has finally made some improvements to the DHCP server role with its introduction of Windows Server 2012. One of the most exciting changes being the ability to make your DHCP servers highly available!
However, upon our testing of this new feature, we found that it does not like DHCP reservations and would cause our reserved IP’s to be listed as BAD_ADDRESS in the scope. This of course prevented those PC’s from obtaining an IP address, rendering them virtually useless! This issue exists in both Load Balanced and Hot Standby modes.
After a significant amount of time researching and testing, we found the cause of the problem. When your DHCP server goes into failover mode, the partner server assumes responsibility for the scope after a set amount of time passes (Set during the initial failover configuration). When this happens and the PC’s lease expires, it asks for a new IP from the partner DHCP server. The partner server then tries to ping the IP address it wants to assign to the requesting PC (A reservation, so it doesn’t change) and gets a response because the requesting PC hasn’t yet released its address. The partner server sees this response and marks the address as bad to prevent future issuance. This leaves the PC to assign itself an IP address, because the DHCP server can only assign it the reserved address.
To resolve this issue and allow your DHCP servers to be highly available, simply set the Conflict Detection Attempts to 0! That’s it, you’re done!
Hopefully this issue (bug?) will be patched sometime in the future…?