升级 20H2(内部版本 19042.685)后 Windows DNS 解析器/客户端损坏

升级 20H2(内部版本 19042.685)后 Windows DNS 解析器/客户端损坏

将我的 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 密钥上运行安装程序。

这将启动修复并正常进行。

从保留所有内容的选项开始。

您还可以保留数据或不保留任何内容。不保留任何内容非常接近全新安装。

相关内容