网络故障排查网络故障排查
DNS 错误怎么排查?DNS_PROBE_FINISHED、解析失败与 DNS 泄漏
浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN、解析失败或域名无法访问,通常是系统 DNS 被劫持、客户端 DNS 配置与系统冲突、fake-ip 缓存残留或规则模式下 DNS 请求走错路径。本文给出排查顺序与客户端 DNS 设置建议。
遇到 DNS 错误,先在客户端启用内置 DNS 并把系统 DNS 改为公共 DNS,再清除系统与浏览器的 DNS 缓存;开启 TUN 模式时优先使用 fake-ip,只用系统代理时用 redir-host 更直观。DNS 泄漏则通过让客户端接管全部 DNS 请求、关闭浏览器的安全 DNS 来解决。
目录
DNS 错误的本质是「域名没有被正确解析成 IP」或者「解析结果不可达」。在代理环境下,DNS 请求可能由系统、客户端或浏览器三方中的任意一方处理,三者配置不一致就会出问题。按出现概率排序:系统 DNS 被运营商劫持或污染、客户端 DNS 与系统 DNS 冲突、fake-ip 缓存残留、浏览器自带的安全 DNS 绕过了客户端、规则模式下 DNS 请求走了直连。
浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN 表示域名解析失败,DNS_PROBE_FINISHED_NO_INTERNET 更多是网络接管本身有问题,后者可以先看客户端开启后没有网络。
排查清单(从最可能的原因开始)
- 启用客户端内置 DNS。让客户端接管解析,而不是依赖系统 DNS。多数客户端在设置中有 DNS 开关,开启后重启客户端。
- 把系统 DNS 改为公共 DNS。避免运营商 DNS 劫持或污染,例如改为 223.5.5.5 或 119.29.29.29 等国内公共 DNS 用于直连解析,海外域名交给客户端处理。
- 清除 DNS 缓存。Windows 执行
ipconfig /flushdns,macOS 执行sudo dscacheutil -flushcache,同时在浏览器地址栏进入 chrome://net-internals/#dns 清除浏览器缓存。 - 关闭浏览器安全 DNS。浏览器自己开启的 DoH 会绕过客户端,导致分流与解析结果混乱。
- 检查 fake-ip 残留。从 fake-ip 切换到 redir-host 或关闭客户端后,系统里可能残留 198.18.x.x 这类虚拟 IP 缓存,表现为关闭代理后网站也打不开。清缓存或重启即可。
- 切换 DNS 模式对比。在 fake-ip 与 redir-host 之间切换,如果一种正常一种异常,说明是模式与当前接管方式不匹配。
- 检查 DNS 泄漏。访问 DNS 泄漏测试网站,看到本地运营商的 DNS 服务器说明泄漏,需要让客户端接管全部 53 端口流量(TUN 模式通常自动处理)。
客户端 DNS 设置建议
fake-ip:客户端收到域名查询时立即返回一个保留段虚拟 IP(常见为 198.18.0.0/16),真正的解析在远端节点完成。优点是响应快、不泄漏、规则按域名匹配准确;缺点是部分依赖真实 IP 的软件会异常,需要用 fake-ip-filter 排除。开启 TUN 模式时建议使用 fake-ip,参考 Clash Verge Rev TUN 模式教程。
redir-host:客户端先真实解析域名,再用解析到的 IP 匹配规则。行为直观,兼容性好,但解析请求可能经过本地 DNS 造成泄漏,也可能因为解析到的 IP 与规则不一致而分流错误。只用系统代理、不开 TUN 时可以选择这种模式。
一个常见的稳妥配置思路是:国内域名用国内公共 DNS 直连解析,其余域名通过加密 DNS(DoH / DoT)经代理解析,并开启 fake-ip。具体字段名因客户端而异,以客户端文档为准。
原因、表现与处理对照表
| 原因 | 典型表现 | 处理方式 |
|---|---|---|
| 运营商 DNS 劫持 / 污染 | 部分域名解析到错误 IP,提示 NXDOMAIN | 系统 DNS 改公共 DNS,客户端接管解析 |
| 客户端与系统 DNS 冲突 | 时好时坏,重启后短暂正常 | 只让客户端处理 DNS,关闭多余配置 |
| fake-ip 缓存残留 | 关闭代理后网站也打不开,IP 为 198.18 开头 | 清 DNS 缓存或重启系统 |
| 浏览器安全 DNS 绕过客户端 | 分流失效、DNS 泄漏测试显示第三方 DNS | 关闭浏览器 DoH |
| DNS 请求走直连 | 泄漏测试显示本地运营商 DNS | 开启 TUN 或让客户端接管 53 端口 |
| DNS 模式与接管方式不匹配 | 切换 fake-ip / redir-host 后恢复 | 按接管方式选择模式 |
什么时候联系客服,什么时候换机场
DNS 问题基本都在本机配置。需要联系客服的情况是:机场订阅中内置的 DNS 配置本身有误(例如指向了不可达的 DNS 服务器),导致导入后所有域名都无法解析,而手动覆盖 DNS 设置后恢复。这种情况可以反馈给机场修正订阅模板。
DNS 问题一般不构成换机场的理由。如果解析正常但连接阶段报证书或握手错误,问题已经不在 DNS,转到 TLS 握手错误继续排查。关于客户端在整个链路中的位置,可以回看为什么需要客户端。
总结
- DNS 请求由系统、客户端、浏览器三方之一处理,配置不一致是根源。
- 先让客户端接管 DNS,系统改公共 DNS,清缓存,多数问题到此解决。
- TUN 模式配 fake-ip,只用系统代理时 redir-host 也可以。
- 关闭浏览器安全 DNS,避免绕过客户端造成泄漏与分流失效。
- DNS 问题几乎不涉及机场,订阅内置 DNS 配置有误时再反馈客服。
常见问题
什么是 DNS 泄漏,对使用 AI 工具有影响吗?
DNS 泄漏指流量走了代理,但域名解析请求仍发往本地运营商 DNS。它会暴露你访问了哪些域名,也可能因为解析到的 IP 地区与出口不一致导致部分服务判断异常。让客户端接管全部 DNS 请求即可解决。
fake-ip 和 redir-host 应该选哪个?
fake-ip 由客户端返回一个虚拟 IP、真正的解析在远端完成,速度快且不泄漏,适合 TUN 模式;redir-host 会真实解析域名再按 IP 匹配规则,行为直观但可能泄漏。一般建议 TUN 模式用 fake-ip,只用系统代理时两者均可。
开启 fake-ip 后某些软件(如游戏、局域网设备)异常怎么办?
这些软件拿到虚拟 IP 后无法直连。在客户端 DNS 设置中把它们的域名加入 fake-ip-filter 排除列表,或者对局域网域名与特定应用使用直连规则。
浏览器的安全 DNS(DoH)需要关闭吗?
如果浏览器自己开启了 DoH,DNS 请求会绕过客户端直接发往浏览器指定的服务器,可能造成分流失效或泄漏。使用代理客户端时,建议关闭浏览器的安全 DNS,让客户端统一处理。