Windows 7 停止使用“hosts”文件进行 DNS 解析

AJ.*_*AJ. 6 dns windows-7 hosts

我正在运行 Windows 7 家庭高级版 64 位。从今天开始,我注意到 DNS 解析没有读取我的%SYSTEMROOT%\System32\drivers\etc\hosts文件。我这样说是因为我在文件中添加了两个新条目,当我在命令行上运行 'nslookup' 时,它们没有解析。此外,仅尝试解析 'localhost' 就会导致查询我的主 DNS 服务器。

我已经阅读了几个线程,这些线程表明该文件可能已损坏并将其移到一边并创建一个新的。我已经这样做了,没有任何改善。

是否有某种注册表项来控制用于 DNS 解析的资源序列(类似于 Unix 上的 nsswitch.conf)?还有什么可能导致这种情况?

nhi*_*kle 12

当您nslookup在一个地址上运行时,Windows 将查询 DNS 服务器并且不会在hosts 文件中查找。总是。但是,当它实际连接时,它将使用主机文件值。尝试将 example.com 添加到您的主机文件中,并将其指向 127.0.0.1。运行nslookup: 它将解析为实际的 IP 地址。平它。您的本地主机会响应。

C:\>nslookup example.com
Server:  
Address:  10.110.5.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.32.10


C:\>ping example.com

Pinging example.com [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\>
Run Code Online (Sandbox Code Playgroud)