Domain-Name-System

如何修復本地主機文件的 Windows 7 dns 覆蓋?

  • June 24, 2011

我在 Windows 7 下遇到了以下問題:名稱解析使用 DNS 查找的結果,而不是使用本地主機文件中的內容。這與以前的 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 中刪除該主機。

我專門將此條目放在主機中,這樣我就可以在我的伺服器(localhost -> svn.mydomain)上創建一個到 Subversion 儲存庫的安全隧道,而不管我的網路連接如何,並且它被配置為僅通過隧道連接響應。這個錯誤打破了這個解決方案,我真的很想“解決”(是的,雙關語)這個問題。

如何防止 Windows 7 名稱解析覆蓋主機條目?

nslookup將返回名稱伺服器實際返回的內容(顧名思義),但這並不是名稱解析的全部內容。hosts文件優先,也可以使用netbios。

正如您所說,ping 工作正常,其他使用作業系統名稱解析功能的應用程序也正常工作。 nslookup的忽略主機文件是無關緊要的。

NSLOOKUP 不會查看您的 HOSTS 文件……您正在直接查詢您的 DNS 伺服器。因此,無論您的本地 HOSTS 文件如何,它都會返回您的 DNS 伺服器記錄。

引用自:https://serverfault.com/questions/247813