I spent a few hours today troubleshooting broken network connectivity on a broken Windows 2003 virtual machine. The issue was puzzling as the system showed entries in its ARP cache (arp -a) after a reboot, and yet it could not communicate with other network devices. The system had also managed to pick up a DHCP lease before networking ceased.
My initial thought was that it was going to be caused by some VPN client software that had been installed on this particular VM (in fact, there were a few different clients, and they rarely all play well together). Despite removing them, the problem persisted.
I’d tried switching the network adapter from a “Legacy Network Adapter” in Hyper-V to the better “Network Adapter” type and still faced the problem. Moving Hyper-V hosts didn’t solve the issue either.
Resetting the tcp IP stack didn’t help either:
netsh interface ip reset resetlog.txt
At this point I fired up the local security policy editor and was confronted with an IPSec policy error, which was odd as we don’t use IPSec in that environment. I decided to try creating a new policy store:
And as if by magic things started working again.