问题 问题排查

DNS 错误怎么办?域名无法解析与 DNS 污染排查方法

浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN、ERR_NAME_NOT_RESOLVED,或开代理后部分网站无法解析,多与本地 DNS 污染、客户端 DNS 配置和浏览器安全 DNS 有关。

首次发布
最后更新
内容类型
问题排查
阅读时间
约 1 分钟

直接答案

DNS 错误指域名无法被正确解析成 IP 地址。使用代理时最常见的原因是:本地运营商 DNS 对海外域名返回了错误结果(DNS 污染)、代理客户端的 DNS 配置错误或上游不可达、浏览器的安全 DNS 绕过了客户端,以及系统 DNS 缓存残留。处理思路是先刷新 DNS 缓存,再检查客户端 DNS 设置与浏览器安全 DNS,必要时开启 TUN 让客户端统一接管 DNS。

可能原因

  1. A

    本地 DNS 污染

    运营商 DNS 对部分海外域名返回错误或无效的 IP 地址,请求被引向错误的服务器,导致连接失败或超时。

  2. B

    客户端 DNS 配置错误

    手动修改过客户端的 DNS 设置,上游服务器填写错误或不可达时,所有域名都会解析失败。

  3. C

    浏览器安全 DNS 绕过客户端

    浏览器开启了安全 DNS(DNS over HTTPS)时,会自行解析域名,可能与客户端的 fake-ip 等机制冲突。

  4. D

    系统 DNS 缓存残留

    切换代理模式或节点后,系统中仍缓存着旧的解析结果,导致访问异常。

  5. E

    节点域名解析失败

    机场节点使用域名作为服务器地址时,该域名在本地无法解析,会导致节点连接失败。

检查方法

  • 在终端使用 nslookup 或 dig 查询出问题的域名,观察返回的 IP 是否异常或为空。
  • 检查浏览器设置中的「使用安全 DNS」选项是否开启。
  • 查看客户端日志中是否出现 dns resolve failed 等解析错误。
  • 临时关闭代理,确认国内网站的域名解析是否正常。
  • 开启 TUN 模式后再次访问,观察问题是否消失。

解决步骤

  1. 刷新系统 DNS 缓存

    Windows 执行 ipconfig /flushdns;macOS 执行 sudo dscacheutil -flushcache 并重启 mDNSResponder 进程;然后重新打开浏览器。

  2. 恢复客户端默认 DNS 设置

    如果修改过客户端的 DNS 配置,先恢复为默认值或订阅自带的配置,排除手动设置的问题。

  3. 处理浏览器安全 DNS

    在浏览器设置中暂时关闭安全 DNS,或改为使用当前服务提供商,让解析交给系统和代理客户端处理。

  4. 开启 TUN 模式统一接管

    在支持的客户端中开启 TUN 模式,让 DNS 请求也被客户端处理,减少本地 DNS 污染的影响。

  5. 检查节点地址解析

    如果节点全部无法连接且日志显示节点域名解析失败,更新订阅或询问机场是否提供备用地址。

DNS 错误的典型场景

使用代理时的 DNS 问题有一个特点:它常常不会直接报 DNS 错误。很多「连接超时」「证书错误」其实源于 DNS 返回了错误的 IP。所以当某个网站在代理下表现异常,而换节点没有改善时,值得把 DNS 列为重点怀疑对象。

常见错误信息对照

错误信息 含义 处理方向
DNS_PROBE_FINISHED_NXDOMAIN 域名不存在或解析被拦截 刷新缓存,检查 DNS 设置
ERR_NAME_NOT_RESOLVED 无法解析域名 检查客户端 DNS 与浏览器安全 DNS
DNS_PROBE_FINISHED_NO_INTERNET DNS 服务器无法连接 检查本地网络与 DNS 上游
dns resolve failed(客户端日志) 客户端解析失败 恢复默认 DNS 配置
ERR_CONNECTION_TIMED_OUT 可能解析到了错误 IP 用 nslookup 核对结果

说明fake-ip 模式下,nslookup 返回 198.18 开头的地址属于正常现象,这是客户端分配的内部地址,并不代表解析错误。

不同客户端的 DNS 设置位置

  • Clash Verge Rev / Mihomo:DNS 配置位于配置文件的 dns 段,常见模式为 fake-ip 与 redir-host;进阶配置可参考 Mihomo 内核入门。
  • Shadowrocket:在「设置 → DNS」中可指定 DNS 服务器,配置文件中的 DNS 设置优先级更高。
  • v2rayN:在设置中可分别配置远程 DNS 与直连 DNS,路由规则会影响域名使用哪一组 DNS。

注意不要随意在 DNS 设置中添加来源不明的公共 DNS 服务器,DNS 服务商可以看到你访问了哪些域名。

完整的 DNS 排查方法见 DNS 错误与 DNS 污染排查指南;DNS 问题引起的证书报错可参考 TLS 握手失败怎么办。

仍然无法解决怎么办?

如果按上述步骤处理后仍存在 DNS 错误,建议换一款客户端导入同一订阅测试,判断是否为客户端配置问题;同时联系机场客服确认节点域名是否可用,并查看机场状态页。在公司或校园网络中,DNS 可能受到网络管理策略限制,请遵守所在单位的网络使用规定。

常见问题

DNS 错误怎么办?

DNS 错误指域名无法被正确解析成 IP 地址。使用代理时最常见的原因是:本地运营商 DNS 对海外域名返回了错误结果(DNS 污染)、代理客户端的 DNS 配置错误或上游不可达、浏览器的安全 DNS 绕过了客户端,以及系统 DNS 缓存残留。处理思路是先刷新 DNS 缓存,再检查客户端 DNS 设置与浏览器安全 DNS,必要时开启 TUN 让客户端统一接管 DNS。

DNS 污染是什么意思?

指 DNS 查询返回了错误的解析结果,使请求被引向错误的地址。使用代理时由客户端接管 DNS,可以减少这种影响。

开了代理反而国内网站打不开,是 DNS 问题吗?

有可能。客户端 DNS 配置错误会影响所有域名,也可能是规则把国内域名送进了代理,需要分别检查。

fake-ip 和普通 DNS 模式有什么区别?

fake-ip 模式会先返回一个内部假地址,由客户端在代理端完成真实解析,能减少污染影响,但个别应用可能需要额外的直连设置。