四个层级,按顺序排查
DNS
解析域名
传输层
TCP 连接
TLS
证书验证
应用层
HTTP 响应
修复 Windows、Wi-Fi 和 PS5 上的“DNS 服务器无响应”
Windows 网络诊断有时会以这样一句话结束:“你的计算机似乎配置正确,但设备或资源(DNS 服务器)没有响应。”浏览器会显示类似的死胡同,游戏主机则会在连接测试时报告 DNS 失败。它们说的是同一件事:域名查询发给了 DNS 解析器,却没有收到答复。
这条消息到底是什么意思
解析一个域名只需要一问一答。你的设备向递归解析器(参见递归解析器与权威解析器)询问某个域名的地址,解析器回复 IP 地址或错误。这条消息的意思是答复始终没有到达。它并不表示域名不存在,也不表示你的网络已断开。
这一点使它区别于 NXDOMAIN。NXDOMAIN 是一个答复:解析器回应了,并说这个域名不存在。“无响应”则是沉默。解析器可能已宕机、无法访问、负载过高、被防火墙拦截,或者回应太慢,超过了你的设备允许的超时时间。常见的原因是充当 DNS 转发器的家用路由器、运营商的解析器,或设备本身的某些设置。
找出哪一层没有回应
可能出问题的有四处:单台设备、路由器、运营商的解析器,或某一个解析器地址。在改动任何设置之前,两个简单的测试就能把它们区分开。
- 在同一网络上换一台设备试试。 如果同一 Wi-Fi 上的手机能打开网页,说明网络和解析器都正常,问题出在你的电脑或游戏主机上。
- 向另一个解析器问同样的问题。 在终端里运行
nslookup example.com 8.8.8.8,地址可以换成任意公共解析器。如果它有回应,而直接运行nslookup example.com却超时,沉默的就是你的默认解析器。 - 使用原始 IP。 如果
ping 8.8.8.8有回复但域名解析失败,说明连接正常,只有 DNS 出了问题。如果 ping 也失败,那就是连接问题,不是 DNS 问题。
| 你看到的现象 | 可能的层级 | 第一步 |
|---|---|---|
| 所有设备都失败,ping 公共 IP 正常 | 路由器的 DNS 转发器或运营商的解析器 | 重启路由器,然后在路由器上更改 DNS |
| 所有设备都失败,ping 公共 IP 也失败 | 运营商或线路故障 | 查看运营商的状态页面,或打电话咨询 |
| 一台设备失败,其他设备正常 | 该设备:网卡、VPN、安全软件、驱动 | 见下文的 Windows 修复方法 |
| 直接运行 nslookup 超时,指定 8.8.8.8 的 nslookup 正常 | 只是你配置的那个解析器有问题 | 把网卡或路由器切换到另一个解析器 |
| 两种都超时,但按 IP 去 ping 正常 | 此网络或本地软件封锁了 53 端口 | 先关闭 VPN 或防火墙做测试,再换一个网络试试 |
| 只有 PS5 或其他游戏主机失败 | 主机的网络设置 | 在主机上手动设置 DNS |
四个层级,按顺序排查
DNS
解析域名
传输层
TCP 连接
TLS
证书验证
应用层
HTTP 响应
先修复网络一侧:路由器和调制解调器
家用路由器内置一个小型 DNS 转发器。你的设备询问路由器,路由器再询问运营商。这类转发器运行很久后可能卡死,而断电重启往往比修改任何设置都有效。
重启路由器和调制解调器
把两者都拔掉电源,等待约 30 秒,先接上调制解调器,再接上路由器。等几分钟让它们重新连上,然后再测试。
如果可以,用网线连接一台设备测试
如果有线连接的电脑正常而 Wi-Fi 不行,问题出在无线链路或其设置上,而不是 DNS 本身。
更改路由器的 DNS 设置
在路由器的管理页面中,到 WAN、互联网或 DHCP 设置下找到 DNS 字段。不同品牌的叫法不同,请查看说明书。在这里设置公共解析器,所有设备都会生效。
Windows 10 和 11:按顺序修复
在以管理员身份运行的命令提示符中执行这些命令,每执行一条就测试一次。它们按影响从小到大排列。
ipconfig /flushdns
ipconfig /release
ipconfig /renew
netsh winsock reset
ipconfig /flushdns清空本地缓存。当问题出在缓存了错误答案时有用,但它无法让一个不回应的解析器恢复。参见如何清除 DNS 缓存。- 先
ipconfig /release再ipconfig /renew,会向路由器的 DHCP 服务器申请新的租约,其中包括它提供的 DNS 服务器地址。 netsh winsock reset会重置 Windows 套接字层。它需要重启,并且可能删除某些 VPN 或安全程序添加的网络条目。
把网卡切换到另一个 DNS 解析器
如果路由器分发的解析器是沉默的那个,就让这台电脑改用另一个。Google Public DNS(8.8.8.8)和 Cloudflare(1.1.1.1)等公共解析器是常见的选择。它们只是示例,不是推荐,而且会改变谁能看到你的查询记录。参见如何更改 DNS 服务器。
Windows 11 操作路径
打开设置,然后选择网络和 Internet,选择 WLAN 或以太网,打开你当前连接的属性。找到 DNS 服务器分配,选择编辑,把“自动 (DHCP)”改为手动,打开 IPv4,填写首选和备用地址。保存后测试。
Windows 10 操作路径
打开控制面板,然后是网络和共享中心,再选择更改适配器设置。右键点击你的 Wi-Fi 或以太网适配器,选择属性,选中 Internet 协议版本 4 (TCP/IPv4),点击属性,选择使用下面的 DNS 服务器地址,填写两个字段。点击“确定”。
设备上其他会阻碍 DNS 的因素
- VPN 和安全软件。 一些 VPN 客户端和防火墙会拦截 DNS。断开 VPN,或暂停网页防护功能,测试一次。如果域名能解析,就去调整那个程序的 DNS 或过滤设置,而不要一直关着它。
- IPv6,仅作测试。 在 IPv6 路径有问题的网络上,查询可能卡住。在网卡属性中取消勾选 Internet 协议版本 6 (TCP/IPv6),测试一下,如果没有变化就重新开启。一直禁用它并不是修复。
- 网卡驱动。 过时或损坏的 Wi-Fi 驱动可能丢失流量。在设备管理器中更新网卡,或选择卸载设备并重启,让 Windows 重新安装。
Wi-Fi 特有的问题
如果笔记本只在 Wi-Fi 下出现这个错误,先检查信号再查 DNS。弱信号会丢包,而 DNS 查询只是一个很小的数据包,很容易丢失。靠近路由器,如果支持就试试 5 GHz 频段,并与有线连接对比一下。
酒店、咖啡馆和机场的公共热点是另一种情况。许多热点要求你先在登录页面接受条款,DNS 才能正常工作。请打开一个普通的 HTTP 地址,或任何你没访问过的网站,让登录页面能够出现。自定义的 DNS 设置可能导致该页面无法加载,所以在这类网络上请把网卡改回自动获取。
PlayStation 5
在 PS5 上,DNS 故障通常出现在测试互联网连接时,或者游戏、PlayStation Network 无法连接时。修复方法与电脑类似:先重启路由器,再在主机上手动设置 DNS。
完全重启主机
通过电源菜单关机,而不是使用休息模式,稍等片刻后再开机。
打开连接设置
依次进入设置、网络、设置、设置互联网连接。选择你的网络,并打开它的高级选项。系统软件更新后,菜单的措辞可能会有变化。
选择手动 DNS
把 DNS 设置设为手动,然后输入主 DNS 和副 DNS。这里可以填公共解析器的地址。除非有明确的理由要更改,否则把 MTU 设置保持为自动。
再测试一次
在网络设置中运行测试互联网连接。它会报告主机是否获得了 IP 地址、是否连上了互联网,以及是否登录了 PlayStation Network。
如果用网线测试仍然失败,试试换一根网线或路由器端口。其他游戏主机的网络设置中也有 DNS 字段,但菜单名称不同,请查看厂商的帮助页面。
用 nslookup 和本站工具验证修复结果
确认你选择的解析器有回应。直接查询它,然后与系统默认的结果对比。
nslookup example.com 8.8.8.8
nslookup example.com
两条命令都应该为该域名输出 Name: 和 Address: 行。如果出现“DNS request timed out”,说明解析器没有回应,这正是本文要解决的问题。如果出现“Non-existent domain”,那是 NXDOMAIN,属于另一种问题。顶部的“Server:”行显示是哪个解析器作出了回应。
通过浏览器检查有助于区分是你的网络问题还是域名问题。把域名放进我们的 DNS 查询工具、NSLookup 工具,或首页的查询框。它们是从我们的服务器解析的,而不是从你的连接。如果它们能返回地址,而你自己的设备却超时,说明域名没有问题,故障在你这一侧。请注意,这些工具只接受域名:它们会拒绝 IP 地址和单标签名称,所以请用 example.com 这样的名称测试,而不要用 192.0.2.10 或 localhost。
核心要点
“无响应”指的是你询问的解析器保持沉默,而不是域名不存在。用第二台设备和第二个解析器找出沉默的那一层,然后修复那一层。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
常见问题
相关阅读
两种截然不同的使用时刻
dig / nslookup
完整协议细节,可脚本化,可离线使用
网页版工具
无需配置,支持批量查询,可分享
修复“Server DNS Address Could Not Be Found”
我陪几百人处理过这个错误。大多数修复只需两分钟,关键在于弄清问题出在网站、你的网络,还是仅仅出在你的机器上。
三个层级都被称作“DNS 服务器”
存根解析器
您自己的设备
递归解析器
运营商、路由器或 1.1.1.1
权威服务器
域名自己的 DNS
如何更改你的 DNS 服务器(路由器或设备)
你的设备在加载任何东西之前都会先问一位解析器。弄清该改路由器还是改设备本身之后,更换它只需几分钟。
实际如何选择 TTL
如何在 Windows、macOS 和 Linux 上清除 DNS 缓存
按层级整理的 DNS 缓存清除命令参考:每条命令清除什么,以及清除操作永远触及不到的层。