摘要:本质是域名没解析对,或解析出的地址不可达。代理环境下 DNS 可能被系统、客户端、浏览器三方分别处理,配置不一致就出错;让客户端接管、系统改公共 DNS、清缓存,多数到此为止。
一分钟速查
- 客户端接管 DNS:别依赖系统 DNS。
- 系统改公共 DNS:避免运营商劫持污染。
- 清 DNS 缓存:Windows 用 ipconfig /flushdns。
- 关浏览器 DoH:避免绕过客户端造成泄漏。
排查清单
第一步:启用客户端 DNS
启用客户端内置 DNS,让客户端接管解析,重启客户端。
第二步:系统改公共 DNS
把系统 DNS 改为 223.5.5.5 或 119.29.29.29 等公共 DNS,海外域名交给客户端。
第三步:清 DNS 缓存
Windows 执行 ipconfig /flushdns,浏览器进 chrome://net-internals/#dns 清缓存。
第四步:关浏览器 DoH
关闭浏览器安全 DNS(DoH),它绕过客户端会导致分流与解析混乱。
第五步:查 fake-ip 残留
切到 redir-host 或关客户端后,系统可能残留 198.18.x.x 虚拟 IP 缓存。
第六步:切换 DNS 模式对比
fake-ip 与 redir-host 之间切换,一种正常一种异常说明模式不匹配。
第七步:检查 DNS 泄漏
访问泄漏测试网站,看到本地运营商 DNS 说明泄漏,让客户端接管 53 端口流量。
客户端 DNS 设置建议
| 模式 | 原理 | 适用 |
|---|---|---|
| fake-ip | 返回保留段虚拟 IP,真实解析在远端完成 | 开 TUN 模式时推荐,响应快不泄漏 |
| redir-host | 先真实解析域名,再用 IP 匹配规则 | 只用系统代理、不开 TUN 时可用 |
关于 DNS 错误的 3 个误区
- 「DNS 问题就要换机场」——DNS 问题基本都在本机配置,一般不构成换机场理由;
- 「改了 DNS 立刻生效」——还要清缓存,否则旧解析结果仍被使用;
- 「浏览器 DoH 更安全就开着」——浏览器 DoH 绕过客户端,反而造成分流失效和 DNS 泄漏。
