核心结论
代理环境下的 DNS 问题主要有三类:DNS 污染导致域名被解析到错误地址、DNS 泄露导致真实地区暴露、解析失败导致节点或网站连不上。多数情况下,在 Clash 系客户端开启 DNS 模块并使用 Fake-IP 模式、配合 DoH 加密 DNS 和 TUN 模式即可解决。
问题现象
DNS 问题的表现往往很像“节点不好用”,容易误判。常见现象包括:
- 开了代理,某些网站依然打不开,而同一节点访问其他网站正常;
- 浏览器提示
DNS_PROBE_FINISHED_NXDOMAIN或“找不到服务器 IP 地址”; - 客户端日志出现
dns resolve failed、lookup ... i/o timeout; - AI 服务提示地区不支持,但节点明明在支持地区;
- 节点全部超时,更换网络后又恢复正常。
判断技巧:如果“IP 能通、域名不通”,基本可以锁定是 DNS 问题。
可能原因
| 问题类型 | 原因 | 典型表现 |
|---|---|---|
| DNS 污染 | 明文 DNS 查询被篡改,返回错误 IP | 特定网站打不开,解析结果异常 |
| DNS 泄露 | 代理开启后 DNS 仍走本地运营商 | AI 或流媒体判断出真实地区 |
| 解析失败 | 上游 DNS 不可用或超时 | 所有域名都打不开,或节点域名解析不出 |
| 缓存残留 | 系统或浏览器缓存了旧的错误结果 | 修改设置后问题依旧 |
| 模式不匹配 | redir-host 模式下本地先做解析 | 部分网站被污染,泄露风险更高 |
| 多处设置冲突 | 浏览器 DoH、系统 DNS、客户端 DNS 同时生效 | 结果不稳定,时好时坏 |
三类问题分别是怎么发生的
DNS 污染:传统 DNS 查询使用明文 UDP 53 端口,查询结果可能在传输途中被篡改,返回错误或无法访问的地址。此时即使代理节点正常,客户端拿到的也是错误 IP,连接自然失败。
DNS 泄露:开启系统代理后,浏览器的网页流量走了代理,但域名查询仍可能由系统直接发给本地运营商的 DNS。这样一来,服务端虽然看到的是节点 IP,DNS 请求来源却暴露了真实网络位置,部分 AI 或流媒体服务会据此做出不同的判断。
解析失败:上游 DNS 服务器不可用、被本地网络屏蔽,或者客户端配置中填写了已失效的 DNS 地址,都会导致解析超时。如果连节点入口域名都解析不出来,就会表现为所有节点超时。
一个容易忽略的细节:浏览器的“安全 DNS”功能会绕过客户端直接发起加密查询,可能让客户端的分流规则失效。
快速检查
- 关闭代理后访问国内网站是否正常,排除本地网络故障;
- 在客户端中确认 DNS 模块已启用;
- 清空系统 DNS 缓存后重试(命令见下文);
- 浏览器暂时关闭“安全 DNS / DoH”设置,避免绕过客户端;
- 用同一节点在手机上访问同一网站,对比结果。
详细排查
1. 对比不同 DNS 的解析结果
# Windows:分别用系统 DNS 与指定 DNS 查询
nslookup example.com
nslookup example.com 223.5.5.5
# macOS
dig example.com +short
dig example.com @223.5.5.5 +short
如果不同 DNS 返回的地址完全不同,或者返回了明显无关的地址,说明可能存在污染。开启 TUN 模式时返回 198.18.x.x 属于 Fake-IP 的正常现象。
2. 清除 DNS 缓存
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
浏览器也有独立缓存,Chrome 系浏览器可以在 chrome://net-internals/#dns 页面清除。
3. 检测 DNS 泄露
开启代理后访问任意一个 DNS 泄露检测网站,查看列出的 DNS 服务器:
- 只出现节点所在地区或公共 DNS 服务商的服务器:基本没有泄露;
- 出现你本地运营商的 DNS 服务器:存在 DNS 泄露。
DNS 泄露在“系统代理模式 + 浏览器自行解析”的组合下最常见。对 AI 用户来说,还需要一并检查 WebRTC 是否暴露真实 IP,详见 Region Not Supported 怎么办。
4. 查看客户端日志
在客户端日志中搜索 dns,关注解析超时的上游地址。如果某个上游 DNS 频繁超时,应从配置中移除或替换。
解决方法
使用 Fake-IP 模式
Fake-IP 与 redir-host 的区别如下:
| 对比项 | Fake-IP | redir-host |
|---|---|---|
| 本地返回 | 虚拟 IP(如 198.18.x.x) | 真实 IP |
| 真实解析位置 | 代理规则命中时由节点远端解析 | 本地先解析 |
| 速度 | 快 | 稍慢 |
| 污染与泄露风险 | 低 | 较高 |
| 兼容性 | 个别应用需加入过滤名单 | 好 |
绝大多数用户建议选择 Fake-IP。遇到个别局域网设备或游戏不兼容,可以把相关域名加入 fake-ip-filter。
Clash 系客户端 DNS 参考配置
以下为 Mihomo 内核的常见写法,字段以你使用的客户端版本文档为准:
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
default-nameserver:
- 223.5.5.5
- 119.29.29.29
nameserver:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
proxy-server-nameserver:
- https://dns.alidns.com/dns-query
default-nameserver用于解析 DoH 服务器本身的域名,必须填 IP;nameserver使用 DoH 加密查询,避免明文被篡改;proxy-server-nameserver专门用来解析节点入口域名,可以减少“节点全部超时”的情况。
在 Clash Verge Rev 中可以通过“设置 → DNS 覆写”修改,具体步骤见 Clash Verge 使用教程。
配合 TUN 模式
系统代理只接管支持代理设置的程序,部分应用会绕过它自行解析 DNS。开启 TUN 模式 后,DNS 请求会被客户端统一接管,泄露问题能明显减少。
其他建议
- 浏览器的“安全 DNS”与客户端 DNS 二选一,避免冲突;
- 路由器上不要再额外设置 DNS 劫持或其他代理插件;
- 修改配置后记得清除系统与浏览器缓存。
仍然无法解决怎么办
- 切换到手机热点测试,判断是否是宽带或路由器的 DNS 设置问题;
- 把客户端恢复为订阅默认配置,排除自定义覆写带来的错误;
- 如果节点域名始终解析失败,联系机场确认入口是否更换;
- 仍然超时的话,参考节点超时怎么解决继续排查。
使用代理与 DNS 相关服务时,请遵守所在地法律法规以及各服务的使用条款。
相关问题
常见问题
什么是 DNS 污染?
DNS 污染是指域名查询在传输过程中被篡改,返回了错误或无法访问的 IP 地址。表现为某些网站即使开了代理也打不开,或者被解析到毫不相关的地址。使用加密 DNS 或让代理节点远端解析可以避免。
DNS 泄露会有什么影响?
DNS 泄露是指开启代理后,域名查询仍然通过本地运营商 DNS 发出。它会让部分服务通过 DNS 请求来源判断出你的真实地区,可能导致 AI 服务出现地区异常或风控提示。
Fake-IP 和 redir-host 应该选哪个?
大多数用户推荐 Fake-IP。它直接返回虚拟 IP,把真实解析交给节点远端完成,速度快且不容易泄露;redir-host 会在本地先做真实解析,兼容性更好,但更容易受污染和泄露影响。
开了 TUN 模式后 nslookup 返回 198.18 开头的地址正常吗?
正常。这是 Fake-IP 模式分配的虚拟地址,表示域名解析已经被客户端接管,真实连接会由客户端在节点端完成解析。
本文最后更新于 。网络服务与 AI 平台政策变化较快,如发现信息过时,欢迎通过联系我们反馈。