我们的 ISP 意外地将我们的 IP 从静态 IP 切换到了 DHCP(说来话长),我们可能还需要一两天的时间才能恢复静态 IP。与此同时,我试图在我的计算机上使用主机文件,但我无法让它生效。我以前做过无数次,但似乎无法在我的 Windows 7 计算机上使用它。这是我尝试执行的简单一行:
127.0.0.1 test.example.com
我已将其添加到c:\windows\system32\drivers\etc\hosts
使用提升权限的记事本中。然后我运行ipconfig /flushdns
并arp -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 文件。希望这能有所帮助。