疑难解答进阶
DNS 错误怎么排查?DNS_PROBE_FINISHED、解析失败与泄漏
开着代理时,系统、客户端和浏览器都可能各自处理 DNS 请求,三者配置不一致是大多数解析问题的根源。核心思路是让客户端统一接管 DNS。
简要回答
DNS 错误先看报错类型:NXDOMAIN 是域名没解析出来,NO_INTERNET 更像整个网络接管出了问题。修复的核心是让客户端统一接管 DNS:开启客户端内置 DNS,关闭浏览器的安全 DNS(DoH),刷新系统与浏览器的 DNS 缓存,并让 DNS 模式与接管方式匹配,TUN 模式下优先用 fake-ip。只改系统 DNS 对已被污染的域名效果有限。
DNS 出错时到底发生了什么
DNS 负责把域名翻译成 IP 地址。DNS 出错,意味着域名没有被解析出来,或者解析到了一个错误、不可达的地址。
开着代理时,系统、代理客户端和浏览器三方都可能各自发出 DNS 查询。三者设置互相打架,是大多数解析问题的来源。
DNS 污染DNS Poisoning
在域名解析这一步返回错误答案,让访问者连到错误或根本不存在的地址。它作用于域名层面,与直接封锁某个 IP 不是一回事。经代理在远端解析,通常可以绕开。
第一步:看清报错类型
现象浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN
检查是所有网站还是个别网站
这是域名没有被解析出来。个别网站出现,多是该域名被污染或分流规则把它判成了直连;所有网站都出现,按下文客户端 DNS 设置排查。
现象浏览器提示 DNS_PROBE_FINISHED_NO_INTERNET
检查代理接管本身是否正常
这类报错更像是整体网络接管出了问题,而不只是 DNS。先按开启代理后没有网络的步骤检查系统代理、TUN 和端口。
第二步:按现象定位原因
现象直连打不开某网站,开代理能打开;或者能 ping 通域名却打不开网页
检查该域名是否被解析到了异常 IP
典型的 DNS 污染。让 DNS 查询也走代理:在客户端开启内置 DNS 和 DNS 劫持,TUN 模式下推荐 fake-ip。
现象时好时坏,重启客户端后短暂恢复
检查客户端 DNS 与系统 DNS 是否同时在起作用
只让客户端负责解析:开启客户端内置 DNS 并重启客户端,系统 DNS 设为公共 DNS(如 223.5.5.5 或 119.29.29.29)供直连查询使用。
现象关掉代理后网站打不开,查询到的 IP 以 198.18 开头
检查是否有 fake-ip 缓存残留
fake-ip 模式下客户端会先返回保留网段里的虚拟地址,客户端关掉后这些缓存还在。刷新系统 DNS 缓存,必要时重启电脑。
现象分流规则失效,或泄漏测试里出现陌生的第三方 DNS
检查浏览器是否开启了安全 DNS(DoH)
浏览器自带的 DoH 会把查询直接发给它自己的服务器,绕过代理客户端。使用代理客户端时,在浏览器设置里关闭「使用安全 DNS」。
现象DNS 泄漏测试显示本地运营商的 DNS 服务器
检查规则模式下 DNS 请求是否直接发了出去
开启 TUN 模式,或在客户端里接管 53 端口的 DNS 流量,让所有查询都交给客户端处理。
现象在 fake-ip 和 redir-host 之间切换后问题消失
检查DNS 模式是否与接管方式匹配
按接管方式选模式:TUN 配 fake-ip;只用系统代理时两者都可以。某些局域网设备或游戏在 fake-ip 下异常,把相关域名加入 fake-ip-filter。
刷新 DNS 缓存
修改任何 DNS 设置后都要清缓存,否则旧结果会继续生效:
- Windows:在终端运行
ipconfig /flushdns - macOS:在终端运行
sudo dscacheutil -flushcache - Chrome:打开
chrome://net-internals/#dns清除主机缓存
快速自查清单
| 检查项 | 正常表现 |
|---|---|
| 报错类型 | 已区分 NXDOMAIN 与 NO_INTERNET |
| 客户端内置 DNS | 已开启 |
| 浏览器安全 DNS | 使用代理时已关闭 |
| DNS 缓存 | 系统与浏览器均已刷新 |
| DNS 泄漏测试 | 不出现本地运营商 DNS |
| DNS 模式 | TUN 配 fake-ip |
不是 DNS 的情况
全局模式下 DNS 已经走代理,单个网站仍打不开,可能是该站屏蔽了当前节点 IP,换个节点试试;也可能是网站本身故障。如果域名能正常解析,但连接时出现证书或握手报错,问题已经不在 DNS,转看 TLS 握手失败排查。
单纯的 DNS 问题一般不是换机场的理由。只有订阅自带的 DNS 配置有误(例如指向一个不可达的服务器),导致不手动覆盖就全部解析失败时,才需要联系机场。Clash 客户端的 DNS 设置位置见 Clash 教程。
常见问题
什么是 DNS 泄漏?会影响 AI 工具吗?
DNS 泄漏是指网页流量走了代理,域名查询却仍然发给本地运营商的 DNS。这样会暴露访问记录,也可能让对地区敏感的服务发现你的 DNS 和出口 IP 不在同一地区,从而触发地区或风控判断。让客户端接管全部 DNS 查询即可避免。
fake-ip 和 redir-host 应该选哪个?
开启 TUN 时优先 fake-ip,速度快、不易泄漏、按域名分流更准确。只用系统代理时两者都能用,redir-host 更直观。某些依赖真实 IP 的程序在 fake-ip 下异常时,把它们的域名加入 fake-ip-filter。
把 DNS 改成 8.8.8.8 能解决网站打不开吗?
对直连流量也许有帮助,但普通的明文 DNS 查询在传输途中仍可能被污染。更可靠的是让 DNS 经代理在远端解析,或使用 DoH、DoT 等加密 DNS。