Windows 2003 DHCP Server – FIlled with BAD ADDRESS Entries

dhcpwindowswindows-server-2003windows-vista

Our WIndows Server 2003 DHCP scope is being filled with BAD ADDRESS leases.
This happened after we started deploying Vista to the domain.
It is most prevalent when a user disconnects from their wired connection and plugs back in on an alternate location.

I have ran wireshark on the DHCP server and can see the client machine refusing the DHCP address. The client requests the DHCP Address as evidenced by a DHCP REQUEST entry in the wireshark log and this is immediately followed by a DHCP DECLINED entry. It is a limited number of laptops affected by this (only Vista so far, it does affect our XP and other laptops when we run out of addresses though)
The addresses it declines are valid and not currently in use.

I have turned of conflict detection on the DHCP server but it is still filling it with BAD ADDRESS entries.
In these cases the user cannot get an IP address.

Another possibly related issue is that there are several users reporting IP Address Conflict messages on their laptops and workstations. These are all served from the same DHCP server.
The problem is most apparent when they disconnect either wired or wireless connections or bring their machines out of hibernate mode.

My belief is that this is caused by something in Vista but it has not been resolved by deploying SP2. All machines that users report both issues (NOt able to get an address, IP address conflict) are running Vista while machines running XP get only the IP Address conflict message.

THe DHCP Lease time is 3 days. Should this be reduced? Should I reenable conflict detection? Or should I just put XP SP3 on the machines that I can?

There are 2 DHCP servers in play, they share the same scope but have mutual exclusions, it's to cover us in the event of a failure as per the 80:20 rule. The problem occurred before I added the second DHCP server.

I have scanned the network for rogue DHCP servers, I have also disabled our DHCP server (only one at that time) and requested a DHCP address, none was received.

Also, most of the machines affected have virtual PC or virtual server running.

Best Answer

BAD_ADDRESS is IP address confliction, so the DHCP-server obviously gets a reply when it tries to ping those addresses. Have you tried using ping manually from the DHCP server? You could also try to look at the arp cache (arp -a in a commandline shell).