Recently I worked on decommissioning one node in a load-balanced DHCP server setup, which required re-configuring the fail-over relationship on a replacement server. The DHCP process itself is well documented by Microsoft (Deploy DHCP Failover), so I won’t cover that here but I just want to point out one issue which had me scratching my head for a while.

Post migration, everything appeared to be working as expected (i.e. clients were getting leases). About a day later, I started hearing reports of intermittent network drop-outs, of a few seconds at a time. Investigation followed.

I found that some clients were not able to renew leases, but a full release/renew was working. Tracing showed discover packets being sent out and reaching both DHCP servers but DHCP logs (C:\windows\system32\dhcp), for problematic clients, were only being populated on one DHCP server. The server which had the logs of clients with renewal issues, repeatedly logged the following.

“36,02/19/20,13:18:33,Packet dropped because of Client ID hash mismatch or standby server.,,,BBBBE871ABB2,,0,6,,,,,,,,,0”

Usually, this error is to be expected, as per DHCP Failover Events and Performance. In my case this wasn’t expected, as the error came up very frequently and I could replicate it with ‘ipconfig /renew‘.

Eventually I found one DHCP server had a secondary IP configured on it’s one and only network adapter. It is stated that one adapter is automatically bound and used by DHCP but I can’t find documentation which suggests that all IPs on the network adapter have to be added as IP helper addresses. Adding the secondary IP as an IP helper solved the issue.

Hopefully this helps someone out.