Domain-Name-System
如何修復本地主機文件的 Windows 7 dns 覆蓋?
我在 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 伺服器記錄。