全站智能检索

直接说出你的问题

AI 会理解问题含义,并从本站机场档案和实用文章中找出最相关的内容。

试试:

输入问题后按回车搜索。

故障排查

DNS 报 NXDOMAIN、SERVFAIL、超时分别是什么意思?

三个结果看起来都是域名打不开,含义却不同:NXDOMAIN 是不存在,SERVFAIL 是解析失败,timeout 是没收到答复。本文给出对照检查法。

先看重点先用同一域名分别查询当前 DNS、1.1.1.1 和另一解析器。NXDOMAIN 不要靠刷新解决;SERVFAIL 要看权威 DNS、DNSSEC 或上游错误;timeout 先查到解析器的网络路径和端口。

浏览器都可能把 DNS 问题显示成“找不到服务器”,但命令行里的 NXDOMAINSERVFAIL 和 timeout 不是同一种失败。分清它们,能避免一看到域名打不开就换节点或刷新 DNS 缓存。

先记录完整域名和错误,再用至少两个解析器做同一查询。 Cloudflare 的官方排障文档也建议把 1.1.1.1 的结果与另一个解析器比较。

NXDOMAIN:解析器认为这个名字不存在

NXDOMAIN 表示所查询的域名不存在。常见原因是拼写错误、域名已删除、子域名没有配置,或上游明确返回不存在。

如果多个公共解析器都稳定返回 NXDOMAIN,反复刷新或切节点通常没有意义。先核对:

  • 域名是否多了空格、中文标点或漏掉一段;
  • 你复制的是网站域名,还是包含敏感 token 的完整订阅地址;
  • 服务商是否已经更换入口;
  • 只有某个子域名不存在,还是根域名也不存在。

不同解析器短时间结果不同,可能与缓存和刚发生的 DNS 变更有关。保留时间和查询结果,等待权威记录传播,比不停改本机 DNS 更可控。

SERVFAIL:解析器知道要查,但没能给出有效答案

SERVFAIL 是服务器失败的概括结果。Cloudflare 的扩展错误码文档列出了更具体的原因,例如 DNSSEC 验证失败、无法到达权威服务器、上游网络错误或缓存错误。

这时重点不是“域名不存在”,而是解析链路没有成功完成。若 1.1.1.1 和 8.8.8.8 都 SERVFAIL,更可能是权威 DNS 或 DNSSEC;若只有一个解析器失败,才更像该解析器路径或缓存。

普通用户不应通过关闭证书验证来处理 DNSSEC 或 SERVFAIL。可以把 dig 输出里的 EDE 信息、时间和解析器地址交给域名或服务提供方。

Timeout:查询没有在期限内收到答复

timeout 只说明没有及时收到响应,原因可能在本机防火墙、路由器、运营商、UDP 53、DoH/DoT 连接或解析器本身。它并不证明域名存在或不存在。

Cloudflare 建议在超时时测试到解析器的连通性,并比较不同地址。使用代理客户端时,还要确认 DNS 请求到底由系统、Mihomo 内置 DNS、Android 私人 DNS,还是浏览器安全 DNS发出。

一组最小对照命令

Windows 可以使用:

nslookup example.com
nslookup example.com 1.1.1.1
nslookup example.com 8.8.8.8

macOS/Linux 可以使用:

dig example.com
dig example.com @1.1.1.1
dig example.com @8.8.8.8

example.com 换成出问题的域名,但截图前遮住订阅 token。完整订阅 URL 常含账号凭据,不要直接贴进公开的 DNS 查询网站。

结果怎么行动

对照结果 下一步
所有解析器 NXDOMAIN 核对域名和服务入口
所有解析器 SERVFAIL 查权威 DNS、DNSSEC 或服务方公告
只有当前 DNS 失败 更换到已验证的解析器后复测
所有查询 timeout 查本地网络、路由、防火墙和 DNS 传输
DNS 返回地址但网页失败 转查 TCP/TLS、代理规则或目标站

DNS 只负责把名字解析成地址。拿到地址之后仍可能在连接、TLS 或应用层失败,所以“DNS 正常”不是整条链路正常;反过来,三种 DNS 错误也不该被统称为“节点全挂”。

浏览器、系统和代理可能走不同 DNS

浏览器可能启用自己的安全 DNS,并缓存解析结果;系统命令则查询操作系统当前解析器。代理客户端还可能让内置 DNS接管流量。因此浏览器能开、nslookup 失败,或反过来,都不稀奇。

排查时先记录浏览器是否启用 DoH、客户端是否开 TUN/fake-ip,以及命令实际查询了哪个服务器。不要在三层同时换 DNS。选择一层做对照,才知道结果变化来自哪里。

问题只在 Android 开启指定私人 DNS 时出现,可继续做私人 DNS 与 Clash 的可逆对照;不要把一个浏览器的 DoH 问题扩大成全机改 DNS。

清缓存不是所有错误的答案

本机缓存可能保留旧地址或短时错误,但 NXDOMAIN、SERVFAIL 和 timeout 的根因并不都会被 flushdns 修好。多个公共解析器持续返回相同错误时,清本机缓存不会改变权威 DNS或上游网络。

只有域名刚变更、其他设备已经拿到新结果而本机仍返回旧记录时,才值得清缓存并重启浏览器或代理内核。操作前保留旧结果和 TTL,便于判断是否真是缓存。

fake-ip 地址不要拿去做普通地理判断

Mihomo 的 fake-ip 会为域名分配内部映射地址,让后续连接仍可关联原域名。看到 198.18.0.0/15 一类保留网段时,不应把它提交到 IP 归属网站,也不能据此说 DNS 解析到了错误国家。

要判断真实出口,看最终连接和目标服务观察到的出口 IP;要判断规则,看内核日志中的域名与命中策略。不同问题用不同证据。

服务方应收到哪些材料

提供域名、发生时间、三个解析器的返回码、是否只在某网络出现,以及脱敏的 EDE 信息。不要只贴一张浏览器“无法访问”截图,也不要提交完整订阅 URL。

若只有服务商控制的订阅域名失败,这些材料能帮助其检查权威 DNS、DNSSEC 和上游;若公共域名也普遍超时,则先联系网络或 DNS 提供方。

资料来源

以下来源于 2026/8/8 复核。版本、支持平台和发布状态以后续官方页面为准。

  1. Cloudflare 1.1.1.1:DNS Resolver 排障
  2. Cloudflare 1.1.1.1:扩展 DNS 错误码
  3. Mihomo 官方文档:DNS

持续更新

收到新教程,也欢迎纠错

想收到新文章,可以关注 TG 频道;发现下载失效、套餐变化或步骤不一致,请附上页面链接和可公开的截图。不要发送订阅链接、密码或完整账户信息。