This happened to me the other day: I was called to see why a newly installed Windows 2008 machine could not see anything beyond the default gateway. After playing point-and-click for some time, I resorted to the command line. Issuing an ipconfig command revealed that the machine had two default gateways on the same interface and with the same metric. The correct one (let’s call it 192.168.1.254) plus 0.0.0.0:
Default Gateway . . . . . . . . . : 0.0.0.0 192.168.1.254
After some tcpdumping it seems that when having two default gateways and with the same metric, Windows 2008 does not randomly chooses one of them for every packet, rather it tries to send every packet through the smallest one (zero in this case). To resolve the problem one executes the following commands:
route delete 0.0.0.0 route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.254 metric 1
The -p switch is need to make the route change permanent across reboots.