我看到一个奇怪而令人沮丧的问题。
任何没有连接到互联网的系统(Windows 7显示没有互联网访问图标,因为它不能不断地ping微软的服务器)甚至不能访问本地托pipe的服务器。
问题似乎是当没有活动的NIC时, HOSTS文件没有用于parsingDNS条目。
您可以像这样重现它:
断开系统与互联网的连接(确保所有有线和无线连接都已断开)。
如有必要,向HOSTS文件添加一个条目(例如, 127.0.0.1 foobar或127.0.0.1 foobar.com )
打开命令提示符
键入ping foobar或ping foobar.com
下面的截图显示了一个清晰的示例。 在第一个快照中,笔记本电脑通过无线方式连接到路由器。 HOSTS文件只有三个条目,他们解决得很好。 在第二个快照中,无线电closures,因此HOSTS文件中的条目被忽略 。 此外,请注意,即使没有任何活动的NIC(如127.0.0.1 ),ping localhost仍能正常工作,但它使用的是IPv6地址(必须是硬编码的)。
在Windows XP中,您可以看到相同的结果,而没有安装IPv6,所以它与IPv6无关。 我尝试了解应该如何解决127.0.0.1而桌面系统(没有无线网卡)通过其以太网适配器连接,然后再从路由器拉出电缆,等待几秒钟,然后再次插入后,再次同样的事情发生,如果不是拉出电缆,通过软件[Disable] NIC(NIC 状态对话框中的[Disable]button或通过设备pipe理器 )。
它看起来好像HOSTS文件只有被读取和使用,如果有一个活跃的网卡,否则它被忽略。 这是有道理的,如果没有活动的networking适配器,那么可能不会有任何networking活动,因此不需要通过HOSTS文件来parsing主机名。
这个假设是似是而非的,因为它排除了本地托pipe的虚拟服务器。 无论外部DNS服务器连接如何,都应该使用HOSTS文件,否则当不连接到Internet时,不能使用本地托pipe服务器的简单/一致性/testing生产名称(例如,Web服务器; Visual Studio,3dsmax等的帮助服务器。; 等等)。
有谁知道如何强制Windows使用HOSTS文件,即使没有活动的NIC?
图1 :无线网卡连接到路由器时(电缆调制解调器处于待机状态,因此没有外部Internet连接)。

图2 :closures无线射频(以太网端口在两种情况下均不连接)。

图3 :没有IPv6的XP中的结果相同

你有没有尝试检查这些主机名是否用ping或其他方法正确parsing? 这可能有助于找出问题。 如果是的话,这很可能是MDMarra描述的问题。
很有可能你有一个服务或服务绑定到一个地址或接口,当你已经断开电缆不再“上”。 检查你的configuration文件。