如何修复 Windows 7 dns 覆盖本地 hosts 文件?

如何修复 Windows 7 dns 覆盖本地 hosts 文件?

我在 Windows 7 下遇到了以下问题:名称解析使用 DNS 查找的结果,而不是使用本地 hosts 文件中的内容。这与以前的 Windows 版本不同。有什么解决方法可以修复此错误?

例子:

我的本地主机文件包含以下条目(我禁用了 IPv6):

#       ::1             localhost
127.0.0.1               localhost
127.0.0.1               svn.mydomain

我可以 ping svn.mydomain 并且 Windows 7 将名称解析为 127.0.0.1,正如预期的那样。

但是,nslookup 将 svn.mydomain 解析为 192.168.4.105,这是来自我办公室网络的域名服务器的条目。Windows XP 正确返回 127.0.0.1。我最近将服务器移到了内部,这就是为什么 svn.mydomain 现在可以通过 DNS 解析,但当我在办公室网络之外时却不能。我宁愿不从 DNS 中删除该主机。

我特意将此条目放入 hosts 中,这样无论网络连接如何,我都可以在我的服务器上创建到 Subversion 存储库的安全隧道 (localhost -> svn.mydomain),并且它配置为仅通过隧道连接进行响应。这个错误破坏了该解决方案,我真的很想“解决”(是的,双关语) 这个问题。

如何防止 Windows 7 名称解析覆盖主机条目?

答案1

nslookup将返回名称服务器实际返回的内容(顾名思义),但这并不是名称解析的全部。 hosts 文件优先,也可以使用 netbios。

正如您所说的,ping 工作正常,使用操作系统名称解析功能的其他应用程序也应该如此。 nslookup忽略 hosts 文件是无关紧要的。

答案2

NSLOOKUP 不会查看您的 HOSTS 文件...您直接查询 DNS 服务器。因此,无论您的本地 HOSTS 文件如何,它都会返回 DNS 服务器的记录。

相关内容