问题排查 Clash Verge 专题

DNS 错误怎么办:DNS_PROBE_FINISHED、解析失败、DNS 污染与泄漏的处理

代理环境下 DNS 错误的排查:浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN、部分网站解析到错误 IP、开代理后国内网站变慢、DNS 泄漏,对应客户端 DNS 未启用、DNS 污染、fake-ip 与 redir-host 模式、系统 DNS 缓存的原因与处理。

机场导航编辑部 发布 更新 约 3 分钟
DNS 错误怎么办:DNS_PROBE_FINISHED、解析失败、DNS 污染与泄漏的处理 封面图

代理环境下的 DNS 问题有一个共同解法:让客户端接管解析,国内域名走国内 DNS,国外域名通过代理解析。理解这一点,多数 DNS 错误都能一次解决。

按现象分类

现象原因处理
DNS_PROBE_FINISHED_NXDOMAIN解析失败客户端 DNS 走代理
部分网站打不开或证书错误DNS 污染fake-ip 或 DoH
开代理后国内网站慢国内域名走了国外 DNSDNS 分流
网站显示为错误的地区版本解析到了其他地区正常,可换节点
DNS 泄漏解析请求未经代理fake-ip、TUN 劫持

客户端接管 DNS

以 Clash Verge 为例,设置中启用 DNS:

  • 增强模式: fake-ip。客户端对国外域名返回虚拟 IP,实际解析在节点侧完成,本地 DNS 完全不参与。这是最省心的模式。
  • redir-host: 客户端在本地解析后再转发,需要保证解析走 DoH 或代理,否则仍可能被污染。
  • 上游 DNS: 国内域名用国内 DNS(运营商或公共 DNS),国外域名用 DoH(通过代理)。
  • fallback: 国外域名解析结果异常时使用备用 DoH。

详细配置见 Clash Verge DNS 设置,原理见 DNS 是什么

清缓存

配置改动后清缓存才生效:

  • Windows:ipconfig /flushdns
  • macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • 浏览器:Chrome 访问 chrome://net-internals/#dns 清除

TUN 模式下

TUN 接管流量后,系统 DNS 请求也要进入客户端,否则解析仍走原路。TUN 设置中开启 DNS 劫持(dns-hijack)。

国内网站变慢

DNS 全部走了国外服务器,国内域名解析到了海外 CDN 节点。客户端 DNS 配置中确保国内域名使用国内 DNS(nameserver 指向国内),国外域名才用 DoH。

fake-ip 的注意事项

  • 部分软件(尤其游戏、局域网工具)对虚拟 IP 不兼容,在 fake-ip-filter 中排除。
  • 切换模式后需清缓存。

进阶

  • IPv6: 本地有 IPv6 时解析可能返回 AAAA 记录绕过代理。客户端关闭 IPv6 解析。
  • hosts 残留: 之前的软件改过 hosts,检查并清理。
  • 路由器 DNS: 路由器强制劫持 53 端口时,用 DoH 或 TUN 劫持绕过。

DNS 导致的证书错误见 TLS 错误

常见问题

开代理后提示 DNS_PROBE_FINISHED_NXDOMAIN?
域名解析失败。客户端启用内置 DNS 并走代理,清系统 DNS 缓存,切全局模式测试。
什么是 DNS 污染?
本地 DNS 查询被返回错误的 IP,导致连到错误服务器或连不上。让国外域名通过代理解析可以绕过。
开了代理国内网站变慢?
所有 DNS 都走了国外服务器。客户端 DNS 配置中让国内域名使用国内 DNS。