摘要:本质是域名没解析对,或解析出的地址不可达。代理环境下 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 泄漏。