On my Server 2012 Essentials virtual machine, I was getting five or six messages every day telling me that the server is not connected to the Internet, even though it is. The messages appeared in a balloon alert in my system tray (from the 2012 Essentials Launchpad) as well as in the event log:
Log Name: Microsoft-Windows-Windows Server/Admin
Source: Microsoft-Windows-Windows Server
Event ID: 1280
Level: Error
User: SYSTEM
Computer: SVR2012E.mydomain.local
Description: Critical Alert: Critical Alert: InternetConnectivity is raised at SVR2012E. <Title> The server is not connected to the Internet. <Description> The server is not connected to the Internet. To access websites, you must ensure that the server is connected to the Internet.
Also in the event log:
Log Name: Microsoft-Windows-DeviceSetupManager/Admin
Source: Microsoft-Windows-DeviceSetupManager
Event ID: 202
Level: Warning
User: SYSTEM
Computer: SVR2012E.mydomain.local
Description: The Network List Manager reports no connectivity to the internet.
Analysis and, Hopefully, a Solution
I originally thought maybe there were transient errors in my Internet connection, so I just ignored this for several months. Eventually it became annoying enough to pursue.
First, note that the Windows Server Event ID 1280 is apparently used for any error in that log. I also have Event ID 1280 with text about low disk space on a workstation. So searching on Event ID 1280 is not an accurate way to find solutions to the Internet connection issue.
However, searching on “The server is not connected to the Internet” does bring back numerous results. It was this article that mentioned DNS Forwarders. Aha, I thought; I seem to remember that I had removed DNS forwarders back on SBS 2008, relying solely on root hints. Could that help here?
My current setup has one forwarder pointing to my router. That must be how the Essentials setup wizard configured it:
I couldn’t find any clear guidance on whether this setup is required for Server 2012 Essentials. Well, let’s find out. I deleted the DNS forwarder and, loosely following this article, updated the root hints. (It was interesting that this added IPv6 addresses for some root hints.) Since this, the messages about the server not being connected to the Internet have not appeared.
Update February 28, 2013 – Not Fixed?
I’m still seeing some "The server is not connected to the Internet" messages.
Wait, the forwarder to the router is back! How did that happen?
Sean Daniel talks here about the wacky DNS configuration of 2011 Essentials that apparently applies to 2012 Essentials as well. However in the comments of that article, he states that "the standard server DNS server will obtain forwarders on install," i.e. this auto-population of forwarders is apparently a standard DNS "feature."
Now that I think about it, no wonder it’s causing problems, because the first entry in my router’s DNS points to the 2012E server, and the server points to the router as a forwarder, so it becomes an infinite loop.
I can’t find any references about DNS automatically finding and adding the router as a forwarder. I’m pretty sure that didn’t happen in SBS 2008. I tried adding my ISP’s DNS ahead of the router in the list of forwarders, but after a reboot, the router is back at the top of the list.
Robert Pearman has published an article on using a scheduled task to repeatedly remove change or remove the forwarders. Do I really have a schedule a whack-a-mole task to clobber forwarders that keep reappearing?
Maybe I should remove the Server 2012 Essentials IP from the router’s DNS list, and let the Windows Server LAN Configuration service on the clients force DNS to point to the server’s IP when the clients are on the local LAN. I guess that’s the way it’s “supposed” to work. That should theoretically stop the circular DNS pinging that is going on now, but I ‘m worried about hitting DNS resolution issues that others have encountered.
Update to the update: On Windows XP and Server 2003 clients, there is no 2012 Essentials connector, hence no Windows Server LAN Configuration service, so you’ll have to manually set the DNS to point to the server (which better have a fixed IP address).
Update March 2, 2013 – Fixed, I Think
Removing the server’s IP from the list of DNS servers in the router seems to have solved this issue, as well as another issue I was having with a Windows 7 virtual machine where 3CX PBX software services were not starting properly (details here).
One strange problem was that after removing the server from the router’s DNS list, I could not use Remote Desktop to connect to the client (which runs as a virtual machine). It kept telling me the clock was out of sync, which it was not:
“Remote Desktop cannot verify the identity of the remote computer because there is a time or date difference between your computer and the remote computer.”
I had to go to the Hyper-V host and connect to the virtual machine to get in. When I did, I saw that the network adapter’s DNS was still set to Automatic even though the Windows Server LAN Configuration service was running. I had to restart that service to get it to populate the client’s DNS with the server’s IP. Once that was done, I was able to connect via Remote Desktop and the 3CX services start automatically on boot.