I have a Windows Server 2003 SP2 server that is (hopefully temporarily) ghetto-hosted behind me in my office on our Comcast business connection.
It has two NICs in it. The "private" NIC is hooked up to our office's router and participates in our 10.1.10.0/24 network. The "public" NIC is hooked up to our "Comcast Business IP Gateway," which is essentially Comcast's proprietary modem. That NIC has an Internet-accessible static IP address (assigned by Comcast) assigned to it.
So I can administer the machine in the office through the private NIC and the outside world can access the services running on the server (a small Web site, an API server) through the public NIC. Great.
Randomly (once every two to three weeks), the server will stop serving any requests that come through the "public" NIC.
- Rebooting the server always and immediately fixes the problem.
- While in the problematic state, right-clicking the public network connection and going to the "Support" tab shows that "Windows did not detect problems with this connection." Clicking "Repair" immediately fixes the problem.
- While in the problematic state, software running on the server (such as the Web site, API server, database) are still accessible and functioning normally when accessed within the office (that is, through the private NIC).
- Nothing unusual is reported in the event log at the time of the event log. It doesn't seem to coincide with any system event (this morning's failure occurred between 6:47 and 6:52 a.m.).
- Restarting the Comcast modem does not fix the problem.
- While in the problematic state, I can mstsc into the server through the private interface to reboot it. There's no connectivity warnings. And it can get to the outside Internet (which goes through the public NIC)! It's as if only packets coming inbound through the public NIC are getting lost to the ether.
- Windows Firewall logging reports nothing unusual while in the problematic state.
What are some other debugging tips that I can try? Anyone see anything similar to this before?
(I'm a software developer who knows enough about networking to do damage. Hopefully we can get this thing hosted at a datacenter soon enough, but this will have to do while I have an IT budget of zero dollars for the foreseeable future.)
I solved the problem by replacing the NIC with a brand new one.
The problem, which was occurring more and more frequently, has not reoccurred since, so I'm chalking this one up to "spooky hardware failure."
So in the problematic state, doing a route print shows that the default gateway has reverted to the default gateway of the private NIC (that is, the SBS server) instead of that of the public NIC (the cable modem).
Removing the default gateway for the private NIC causes me to be unable to access the machine from within the office.
How can I guarantee that the default gateway that is the cable modem always "wins"? I've unchecked "automatic metric" and assigned it 1, then assigned a metric of 2 to the private NIC, but I really don't know what I'm doing here. Any advice?