DNS_PROBE_FINISHED_NXDOMAIN 怎么解决:域名解析失败的原因、命令行排查与分设备修复
Chrome 或 Edge 打开网页时,页面中间出现「无法访问此网站」,下面一行写着「找不到 xxx 的服务器 IP 地址」,最底部是灰色的错误代码 DNS_PROBE_FINISHED_NXDOMAIN。有时只有一个网站这样,有时所有网站都这样;有人是刚卸载了某个网络工具后出现,有人是换了路由器、改了系统 DNS,或者在手机上打开了「私人 DNS」之后出现。
这个错误说明浏览器在建立连接之前的第一步——把域名换成 IP 地址——就失败了,而且 DNS 服务器明确回答「没有这个域名」。真正不存在的域名只是少数情况,更常见的是:本机缓存了一条过期的失败记录、系统用的 DNS 服务器不可达或回答有误、浏览器开着的「安全 DNS」指向了打不开的服务、某个软件改了网卡 DNS 却没恢复。排查的核心是先用命令行确认「谁说这个域名不存在」,再对症修改。
几个相近的 DNS 错误有什么区别
表里最后一行很重要:如果报的是超时而不是 NXDOMAIN,说明域名已经解析出 IP,问题在后面的连接阶段,改 DNS 没有用。分清这两类错误,能省掉一半无效操作。错误代码在页面最底部,字号很小,截图求助时记得把这一行也截进去,别人才能判断你卡在哪一步。
| 错误代码 | 含义 | 常见原因 | 首先检查 |
|---|---|---|---|
| DNS_PROBE_FINISHED_NXDOMAIN | 服务器回答域名不存在 | 缓存、DNS 设置、拼写 | nslookup 对比两台 DNS |
| DNS_PROBE_FINISHED_NO_INTERNET | 根本没联网 | 网线、Wi-Fi、认证页 | 能否打开任意网站 |
| DNS_PROBE_FINISHED_BAD_CONFIG | DNS 配置无效 | 手动填了错误地址 | 网卡 DNS 设置 |
| DNS_PROBE_POSSIBLE | DNS 可能有问题 | 安全软件、扩展干扰 | 无痕窗口重试 |
| ERR_NAME_NOT_RESOLVED | 解析失败的通用提示 | 同 NXDOMAIN | 同上 |
| ERR_CONNECTION_TIMED_OUT | 解析成功但连不上 | 线路或防火墙 | ping 解析出的 IP |
从报错到恢复:分步操作
- 第一步:先把网络线路准备好。如果出错的是境外网站,先连上刺猬VPN再打开目标站,确认问题是否只在直连时出现;刺猬VPN用自定义用户名和密码注册,不需要邮箱和手机号,免费节点永久免费、不限流量、不限速。如果出错的是国内网站,先断开所有网络工具,用纯直连状态排查;
- 第二步:检查域名拼写。把地址栏里的域名完整复制出来,看是否多了字母、少了点、用了错误的后缀,例如把 .com 写成 .con;
- 第三步:用另一台设备或手机流量打开同一网址。其他设备能打开,问题在本机;所有设备都打不开,问题在路由器、运营商 DNS 或网站本身;
- 第四步:清除本机 DNS 缓存。Windows 用管理员身份打开终端执行 ipconfig /flushdns;macOS 执行 sudo dscacheutil -flushcache 后再执行 sudo killall -HUP mDNSResponder;Chrome 还要在地址栏打开 chrome://net-internals/#dns,点「Clear host cache」;
- 第五步:用 nslookup 定位。执行 nslookup 域名,看默认服务器的回答;再执行 nslookup 域名 223.5.5.5 和 nslookup 域名 1.1.1.1,用不同的公共 DNS 对比。默认服务器说不存在、公共 DNS 能解析,就是你当前用的 DNS 有问题;
- 第六步:检查浏览器的安全 DNS。Chrome 在「设置」「隐私和安全」「安全」里有「使用安全 DNS」,选了自定义服务商且该服务打不开时,所有网站都会解析失败,先改回「使用当前服务提供商」测试;
- 第七步:检查网卡 DNS。Windows 在「设置」「网络和 Internet」「属性」里看 DNS 服务器分配,改回「自动(DHCP)」或填上可用的公共 DNS;macOS 在「系统设置」「网络」「详细信息」「DNS」里检查;
- 第八步:仍不行就重置网络栈。Windows 管理员终端执行 netsh winsock reset 与 netsh int ip reset 后重启;同时打开 C:\Windows\System32\drivers\etc\hosts,看有没有把目标域名指向错误地址的行。
按现象排查
- 只有一个网站报 NXDOMAIN,其他正常:先查拼写,再用 nslookup 对比公共 DNS,公共 DNS 也说不存在,多半是域名过期或被注销,只能等网站恢复;
- 所有网站都报 NXDOMAIN:DNS 设置整体失效,检查浏览器安全 DNS、网卡 DNS 与 hosts 文件,清缓存后重试;
- 卸载某个网络工具后出现:软件改了网卡 DNS 或留下虚拟网卡没删,在网卡属性里改回自动获取,并在设备管理器里删除残留的虚拟网卡;
- 只在公司或学校网络出现:内网 DNS 只解析内部域名,或者拦截了某些站点,换手机流量对比;
- 手机所有应用都连不上,但 Wi-Fi 信号满格:安卓「私人 DNS」填了无法访问的主机名,改回「自动」或「关闭」;
- 访问内网地址如 nas.local 报错:本地主机名要靠路由器或 mDNS 解析,公共 DNS 不认识,改回路由器分配的 DNS;
- 连着网络工具时国内站点报错、断开后正常:分流规则或 DNS 设置把国内域名送到了境外解析,检查是否开启了按域名的智能分流。
DNS 方案对比
没有一种 DNS 在所有场景都最好。国内网站用运营商或国内公共 DNS 最快,境外网站的解析结果在直连状态下可能被干扰,交给线路处理更稳定。智能分流的意义正在于此:国内域名照常直连解析,境外域名走线路,两边都不受影响。实际可用性取决于当前网络环境。
| 对比项 | 运营商默认 DNS | 公共 DNS | 连接刺猬VPN 时 |
|---|---|---|---|
| 国内网站解析 | 通常最快 | 较快 | 智能分流下国内域名照常直连 |
| 境外网站解析 | 结果可能不准确 | 取决于网络环境 | 由线路处理境外访问 |
| 隐私 | 运营商可见查询记录 | 服务商可见 | 境外查询经 HTTPS+AES 加密传输 |
| 设置难度 | 无需设置 | 手动填写或改路由器 | 连接即用 |
| 常见问题 | 偶尔劫持到广告页 | 个别地区不可达 | 断开后需确认网卡 DNS 已恢复 |
| 流量 | 不涉及 | 不涉及 | 免费节点永久免费、不限流量、不限速 |
Windows、macOS、安卓与 iPhone 的差别
Windows 的 DNS 缓存由 DNS Client 服务管理,ipconfig /displaydns 可以看到当前缓存的条目,失败记录也会被缓存一段时间,所以改完 DNS 一定要再执行一次 ipconfig /flushdns。PowerShell 里用 Resolve-DnsName 域名 -Server 1.1.1.1 能得到比 nslookup 更详细的输出,包括记录类型与 TTL。
macOS 的解析由 mDNSResponder 负责,命令行的 dig 与 nslookup 不完全走系统解析流程,可能出现「命令行能解析、浏览器不行」的情况,这时以浏览器为准,重点检查系统设置里的 DNS 与描述文件。安卓 9 以上的「私人 DNS」在「设置」「网络和互联网」里,填错主机名会导致全部解析失败。iPhone 上安装过 DNS 描述文件的,在「设置」「通用」「VPN 与设备管理」里检查并删除不需要的配置。
一次解析要经过哪几层
浏览器解析一个域名,大致按这个顺序查:先查浏览器自己的缓存,再查操作系统缓存与 hosts 文件,然后把请求发给系统设置的 DNS 服务器,这台服务器再去向根服务器、顶级域服务器和网站的权威服务器逐级询问。任何一层给出「不存在」的答案,浏览器都会显示 NXDOMAIN,而且这个否定答案本身也会被缓存一段时间,长短由权威服务器设定的否定缓存时间决定。
这解释了几个看似奇怪的现象:网站刚恢复,你这边仍然打不开,因为否定答案还没过期;同一个网站在手机上能开、电脑上不能开,因为两台设备问的是不同的 DNS 服务器;改了 DNS 设置却没生效,因为浏览器那一层的缓存还在。排查时从最靠近你的那一层开始清,一层一层往外推,比一上来就换 DNS 更容易找到真正的原因。
路由器层面的问题
家里所有设备同时出现 NXDOMAIN,多半是路由器的问题。登录路由器后台,在 WAN 或 DHCP 设置里查看下发给设备的 DNS 地址:有人曾经手动填过某个 DNS 后来失效了,或者路由器固件里的 DNS 中继进程卡死。最简单的验证方法是重启路由器;重启后恢复,说明是中继进程的问题,可以考虑升级固件。
部分运营商会把不存在的域名劫持到自己的导航页,这种情况浏览器不会报 NXDOMAIN,而是打开一个满是广告的页面。如果你在路由器里开启了「DNS 重绑定保护」或广告过滤,也可能把正常域名误判拦截,返回不存在。临时关闭这些功能测试一次,就能判断是不是它们造成的。确认之后再把功能打开,并把误拦的域名加入白名单。
和 DNS 相关知识的分工
排查 NXDOMAIN 时经常会遇到另一个概念:DNS 泄漏。它指的是连着线路时,域名查询仍然发给了本地运营商,既可能暴露你访问的网站,也可能导致解析结果被干扰。原理与检测方法见 DNS 泄漏是什么。
想手动换一个更可靠的 DNS,阿里、腾讯、Cloudflare、Google 等公共 DNS 各自的地址、加密方式与适用场景见 公共 DNS 服务对比。换 DNS 是修复 NXDOMAIN 的常用手段,但换之前先用 nslookup 确认确实是 DNS 的问题。
常见报错速查表
| 现象 | 原因 | 解决办法 |
|---|---|---|
| 单个网站 NXDOMAIN | 拼写错误或域名失效 | 核对拼写,nslookup 对比公共 DNS |
| 所有网站 NXDOMAIN | DNS 设置整体失效 | 检查安全 DNS、网卡 DNS、hosts |
| 卸载工具后出现 | 网卡 DNS 未恢复 | 改回自动获取,删残留虚拟网卡 |
| 手机全部连不上 | 私人 DNS 填错 | 改回自动或关闭 |
| 内网主机名报错 | 公共 DNS 不认识本地名 | 改回路由器分配的 DNS |
| 改了 DNS 仍报错 | 失败记录被缓存 | flushdns 并清浏览器 host cache |
高频问答
- 问:NXDOMAIN 是网站挂了吗?答:不一定,多数情况是你用的 DNS 或本机缓存有问题,用公共 DNS 对比一下就知道;
- 问:清了缓存为什么还报错?答:浏览器有自己的缓存,Chrome 要在 net-internals 页面单独清除,或者重启浏览器;
- 问:改成公共 DNS 会变慢吗?答:国内网站可能略慢一点,差别通常感觉不到,选离你近的服务即可;
- 问:安全 DNS 要不要开?答:可以开,但要选当前网络能访问的服务商,打不开时所有网站都会解析失败;
- 问:为什么命令行能解析、浏览器不行?答:浏览器可能用了自己的安全 DNS 或缓存,以浏览器的设置为准排查;
- 问:连着线路时国内网站报错怎么办?答:确认已开启按域名的智能分流,国内域名应当照常直连解析。
收尾:把解析链路理清楚
DNS_PROBE_FINISHED_NXDOMAIN 本质上是「问错了人」或「记错了答案」。用 nslookup 对比两台 DNS 找出是谁说域名不存在,清掉系统与浏览器两层缓存,再检查安全 DNS、网卡 DNS、hosts 与路由器四个位置,几乎所有情况都能定位。修好之后记下自己的设置,下次再出问题就不必从头查起。
刺猬VPN采用 HTTPS+AES 加密传输,自定义用户名和密码即可匿名注册,不需要邮箱和手机号;免费节点永久免费、不限流量、不限速;时长套餐有效期内不限流量、不限速,客户端支持按域名与 IP 的智能分流和断线保护,境外网站的访问交给线路处理,国内网站照常直连。实际可用性取决于当前网络环境。
开始使用刺猬VPN:HTTPS+AES 加密、零日志,匿名注册无需邮箱
刺猬VPN提供永久免费节点,不限流量;无需邮箱,自定义用户名即可匿名注册。一个账号支持多设备同时在线,实际可用性取决于当前网络环境。