将我的 Windows 10 Pro 升级到20H2我开始遇到奇怪的名称解析延迟。这非常不舒服,因为每次打开网页至少需要 15 秒。每个发出 DNS 请求的控制台命令,每个 DNS 请求至少需要 10-15 秒(对于任何新主机)。
例如开超级用户网至少需要 10 秒。请求在 DNS 解析阶段停滞:
192.168.33.1 上的上游 DNS 解析器(我的家庭路由器)立即响应 Windows DNS 解析器:
从控制台解析显示相同的行为:
$ time getent hosts superuser.com
151.101.65.69 superuser.com
151.101.193.69 superuser.com
151.101.129.69 superuser.com
151.101.1.69 superuser.com
real 0m11.092s
user 0m0.015s
sys 0m0.000s
其他主持人的情况相同:
$ getent hosts github.com
140.82.121.4 github.com
$ time getent hosts github.com
real 0m10.013s
user 0m0.001s
sys 0m0.000s
上游 DNS 解析器(我的路由器)立即返回响应:
$ time nslookup superuser.com
Server: 192.168.33.1
Address: 192.168.33.1#53
Non-authoritative answer:
Name: superuser.com
Address: 151.101.193.69
Name: superuser.com
Address: 151.101.129.69
Name: superuser.com
Address: 151.101.1.69
Name: superuser.com
Address: 151.101.65.69
real 0m0.105s
user 0m0.000s
sys 0m0.031s
构建详细信息:
OS Name Microsoft Windows 10 Pro
Version 10.0.19042 Build 19042
Edition Windows 10 Pro
Version 20H2
Installed on 20/12/2020
OS build 19042.685
Experience Windows Feature Experience Pack 120.2212.551.0
我的直觉是,微软在新版 Windows 中尝试使用 DNS over HTTPS 或其他“现代事物”,并破坏了 DNS 解析器。问题也可能与该功能有关,DNS 解析器试图通过向多个源发送请求来加快解析速度。由于 AAAA 请求没有得到积极响应(因为主机没有 AAAA 资源),解析器等待另一个响应(来自另一个接口)来满足它,直到它超时。但我的这个理论也有缺陷,因为我在操作系统中只配置了一个解析器:这是由路由器的 DNS 提供的。
我在所有接口上禁用了 IPv6 协议,但没有帮助。
有些人已经开始举报相同的,但还不是一般的 DNS 解析器/客户端问题。
有什么想法可以解决这个问题吗?我希望 Windows DNS 解析器能够立即响应。
编辑
令人惊讶的是,第二次netsh int ip 重置按照 John 的建议,重新启动似乎可以永久解决 Windows 和 WSL2 环境的问题。与此同时,我也检查并安装了 Windows 更新,但它只带来了 .net 3.5 更新,这对 DNS 客户端不会产生任何影响。
(1)netsh int ip reset c:\resetlog.txt
非常开心,感谢社区!新年快乐!
答案1
我的直觉是,微软在新版 Windows 中尝试使用 DNS over HTTPS 或其他“现代事物”,并破坏了 DNS 解析器。
我认为这不对。我的两台 20H2 机器运行良好,我的 21H 新 Insider 机器也运行良好。
运行 TCP/IP 重置、DNS 刷新
以管理员身份运行打开 cmd.exe
(1)netsh int ip reset c:\resetlog.txt
(2)ipconfig /flushdns
(3)重启计算机
重启后测试。这可以修复许多 DNS 问题。
如果问题仍然存在,请尝试 DISM 和 SFC。
以管理员身份运行打开 cmd.exe。
DISM.exe /Online /Cleanup-image /StartComponentCleanup
DISM.exe /Online /Cleanup-Image /Restorehealth
证监会/扫描
再次重启并测试。
最后,如果上述步骤顺序(通常有效),你可能需要执行 Windows 10 修复安装
https://www.microsoft.com/en-us/software-download/windows10
Windows 10 正在运行,因此请单击“下载”按钮(而不是“升级”按钮)并选择“运行”。如果修复无法按上述方式运行,请使用“下载”按钮创建 USB Windows 安装密钥,然后在 USB 密钥上运行安装程序。
这将启动修复并正常进行。
从保留所有内容的选项开始。
您还可以保留数据或不保留任何内容。不保留任何内容非常接近全新安装。