我的 Win 10 机器遇到了 DNS 问题,具体如下:
- 系统启动时,一切正常
- 一段时间后,DNS请求开始超时
- 当请求超时时,问题要么持续一段时间,然后它会在短时间内自行再次开始工作(此后问题再次循环),要么持续到我禁用/使能够我的适配器(可以立即修复问题,但只持续很短的时间)
更多细节:
它只影响 DNS。ICMP 或直接 IP 等请求没有问题。如果连接已建立,并且无需再次请求 DNS - 它可以在任何时间段内正常工作。
在出现 DNS 问题期间,我可以观察到以下情况:
C:\Users\almado>nslookup yahoo.com
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
Name: yahoo.com
Addresses: 2001:4998:58:c02::a9
2001:4998:c:a06::2:4008
2001:4998:44:204::a7
98.138.253.109
98.139.183.24
206.190.36.45
对于 DNS 服务器本身:
C:\Users\almado>nslookup
DNS request timed out.
timeout was 2 seconds.
Default Server: UnKnown
Address: 8.8.8.8
我已经尝试过的方法
- 使用另一个 DNS 服务器(从上面的代码片段可以看出,我当时使用的是 Google 公共 DNS)。我尝试过使用 ISP 提供的 DNS,既有静态 DNS,也有网络适配器 IPv4 中的自动设置选项
重置所有缓存,释放地址并续订租约。我还重置了
winsock catalog
,完整列表如下:ipconfig /flushdns ipconfig /registerdns ipconfig /release ipconfig /renew netsh winsock reset catalog netsh int ipv4 reset reset.log netsh int ipv6 reset reset.log
- 禁用智能名称解析/并行请求。如描述所述这里。重要的是,提到的键不存在,因此我添加了它们
- 禁用 DNS 客户端服务(通过
services.msc
)。在网络适配器选项中禁用/启用 IPv6。这些操作不会改变任何内容。 - 手动将控制台添加
gpedit.msc
到系统(我的家庭版默认没有控制台)希望"Turn off smart multi-homed name resolution"
在那里启用。但是在"Administrative Templates"
>"Network"
>"DNS Client"
我根本没有这个选项,而且我在那里的所有选项都有"Not configured"
状态。 - 恢复默认“Internet 设置”。这是“解决方案 5”,来自这里。
- 使用防病毒软件进行全面扫描,以防 DNS 限制我,因为我可能有一些恶意软件。没有发现任何东西。
当然,我在完成上述修改后重启了机器。值得一提的是,问题不久前就开始出现了——同一台机器运行正常,没有出现任何问题,也没有进行任何手动更改——但我相信问题在最新的 Windows 更新后开始出现(对此不是 100% 确定)。
我还通过完全禁用防火墙并过了一段时间后仍然观察到同样的问题来检查这不是一些与防火墙相关的问题。
版本
- 系统:x64
- 操作系统:Windows 10 家庭版 1607 / Build 14393.351
ipconfig /all
(这里我使用我的 ISP LAN 路由器作为 DNS 服务器)
Windows IP Configuration
Host Name . . . . . . . . . . . . : Home
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : hitronhub.home
Ethernet adapter Ethernet:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : F0-79-59-81-96-65
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Wireless LAN adapter Local Area Connection* 3:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
Physical Address. . . . . . . . . : E8-B1-FC-6B-AC-75
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Ethernet adapter VPN - VPN Client:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VPN Client Adapter - VPN
Physical Address. . . . . . . . . : 00-AD-D0-34-8B-00
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Wireless LAN adapter WiFi:
Connection-specific DNS Suffix . : hitronhub.home
Description . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 7260
Physical Address. . . . . . . . . : E8-B1-FC-6B-AC-74
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.0.10(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Wednesday, November 9, 2016 7:40:10 PM
Lease Expires . . . . . . . . . . : Wednesday, November 16, 2016 7:40:09 PM
Default Gateway . . . . . . . . . : 192.168.0.1
DHCP Server . . . . . . . . . . . : 192.168.0.1
DNS Servers . . . . . . . . . . . : 192.168.0.1
NetBIOS over Tcpip. . . . . . . . : Enabled
答案1
这个答案总结了发帖人和我自己为分析和解决问题所做的研究。
我在这里描述了(可能)解决问题的一系列操作,然后介绍了我对此有效原因的理论。
步骤 1:停止 DNS 客户端服务
- 在 Windows 的“开始”菜单中,键入
services
并单击以运行服务 - 查找名为的服务DNS 客户端
- 右键单击该服务并执行停止阻止它
步骤 2:重置网络
- 在 Windows 的“开始”菜单中,单击设置
- 点击网络与互联网
- 点击地位
- 点击网络重置
- 点击是的
详细描述可参见本文。我相信网络重置可能相当于执行帖子中上面列出的所有重新初始化命令。
步骤 3:重新启动 DNS 客户端服务
重复步骤 1,但开始而是重新启动服务。
如果问题仍然存在,请尝试重新启动 Windows。
我对它为何有效的理论
显然,Windows 中引入了一些与 DNS 客户端服务相关的错误设置,导致 DNS 出现故障。网络重置通常足以使网络恢复到已知状态,但在这种情况下,服务运行时无法重置错误设置。因此,需要停止 DNS 客户端服务,以便网络重置成功重新初始化所有 DNS 设置。
答案2
有同样的问题,
据我测试和阅读,您无法通过 Windows 10 中的注册表禁用智能名称解析和并行请求,这些注册表编辑仅涉及 Windows 8。
您需要在组策略编辑器(gpedit.msc)中启用“关闭智能多宿主名称解析”
由于您拥有家庭版,因此您需要先手动安装策略编辑器,只需进行一些调整。