问题 问题排查
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。
可能原因
- A
本地 DNS 污染
运营商 DNS 对部分海外域名返回错误或无效的 IP 地址,请求被引向错误的服务器,导致连接失败或超时。
- B
客户端 DNS 配置错误
手动修改过客户端的 DNS 设置,上游服务器填写错误或不可达时,所有域名都会解析失败。
- C
浏览器安全 DNS 绕过客户端
浏览器开启了安全 DNS(DNS over HTTPS)时,会自行解析域名,可能与客户端的 fake-ip 等机制冲突。
- D
系统 DNS 缓存残留
切换代理模式或节点后,系统中仍缓存着旧的解析结果,导致访问异常。
- E
节点域名解析失败
机场节点使用域名作为服务器地址时,该域名在本地无法解析,会导致节点连接失败。
检查方法
- 在终端使用 nslookup 或 dig 查询出问题的域名,观察返回的 IP 是否异常或为空。
- 检查浏览器设置中的「使用安全 DNS」选项是否开启。
- 查看客户端日志中是否出现 dns resolve failed 等解析错误。
- 临时关闭代理,确认国内网站的域名解析是否正常。
- 开启 TUN 模式后再次访问,观察问题是否消失。
解决步骤
-
刷新系统 DNS 缓存
Windows 执行 ipconfig /flushdns;macOS 执行 sudo dscacheutil -flushcache 并重启 mDNSResponder 进程;然后重新打开浏览器。
-
恢复客户端默认 DNS 设置
如果修改过客户端的 DNS 配置,先恢复为默认值或订阅自带的配置,排除手动设置的问题。
-
处理浏览器安全 DNS
在浏览器设置中暂时关闭安全 DNS,或改为使用当前服务提供商,让解析交给系统和代理客户端处理。
-
开启 TUN 模式统一接管
在支持的客户端中开启 TUN 模式,让 DNS 请求也被客户端处理,减少本地 DNS 污染的影响。
-
检查节点地址解析
如果节点全部无法连接且日志显示节点域名解析失败,更新订阅或询问机场是否提供备用地址。
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 模式会先返回一个内部假地址,由客户端在代理端完成真实解析,能减少污染影响,但个别应用可能需要额外的直连设置。