Host 文件在 Windows 7 上不起作用

Host 文件在 Windows 7 上不起作用

我们的 ISP 意外地将我们的 IP 从静态 IP 切换到了 DHCP(说来话长),我们可能还需要一两天的时间才能恢复静态 IP。与此同时,我试图在我的计算机上使用主机文件,但我无法让它生效。我以前做过无数次,但似乎无法在我的 Windows 7 计算机上使用它。这是我尝试执行的简单一行:

127.0.0.1        test.example.com

我已将其添加到c:\windows\system32\drivers\etc\hosts使用提升权限的记事本中。然后我运行ipconfig /flushdnsarp -d尝试使用以下命令对其进行 ping ping test.example.com,但我只得到:

Ping request could not find host test.example.com. Please check the name and try again.

如果我在同一台物理机器上的虚拟 XP 机器上重复完全相同的过程,它就会解析出127.0.0.1我想要的是什么。

有一个这里有类似的帖子它谈论检查代理设置,但我没有配置。

我还检查了下面的注册表项的值,它的设置为 500,是第二低的(类别为 8):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider

我还读过一篇文章,说 Windows 7 要求 IP 和主机之间有 8 个空格,我尝试过(以及 7 个空格、1 个空格、1 个制表符),但无济于事。

我没有时间在本地设置 DNS 服务器,所以这不是一个选项。这都是命令行,我甚至还没有达到浏览器级别。是的,我确定这c:\Windows是正确的路径,我已经检查过了%SystemRoot%。是的,我确定我将文件保存为hosts没有扩展名。

答案1

如果 IP 地址和主机名之间有多个空格,Windows 7 主机文件可能会“显示错误” - 请尝试使用:

127.0.0.1 test.example.com

...并将当前文件重命名为 hosts.bak,然后使用记事本再次创建 hosts 文件,以确保其中没有 unicode。

答案2

您确定您的 IP 堆栈已启用 hosts 文件吗?我记得根据策略可以禁用它,这是一项安全功能。我相信 Win7 的临时安装已启用它,但如果您使用的是公司计算机,则可能已禁用它,您需要重新启用它 - 我认为这可以通过网络控制面板以管理员身份完成。

听起来你很懂电脑,所以不要生气,但这里还有另一个常见的错误:

  • 在记事本中编辑主机有时会导致记事本保存“hosts.txt” - 因此请确保您编辑并保存了正确的文件。

我还读到过,在安全模式下重新启动并编辑文件可能会有效。这对我来说似乎是废话,但由于我在几个帖子中都看到过,所以我会把它传递下去。

最后尝试更改 hosts 文件中的 localhost,看看是否能够 ping localhost?如果没有,那么似乎你没有弄对文件?或者你弄乱的文件被忽略了,因为你的 IP 堆栈没有查找任何 hosts 文件。希望这能有所帮助。

相关内容