Clash Verge Rev DNS 泄漏怎么解决?
简答:先不要直接更换 DNS:先在开启 Clash Verge Rev 后运行 DNSLeakTest 或 ipleak,再结合 Clash 日志判断请求是否进入内核。确认是旁路解析后,按“DNS Override/配置核对→TUN 与 DNS 劫持→浏览器 Secure DNS→IPv6 与多网卡→复测回滚”的顺序处理。fake-ip、TUN 或公共 DNS 单独开启,并不能自动证明没有 DNS 泄漏。
定义:DNS 泄漏是指设备的域名解析请求没有按照预期经过代理或指定解析链路,而是由系统、浏览器、IPv6、多网卡或其他应用使用了旁路解析器完成。
先用 1 分钟判断:到底是不是 DNS 泄漏
如果 DNSLeakTest 或 ipleak 显示了本地运营商解析器,不要仅凭这一项立即判断为泄漏。先记录测试时间、Clash Verge Rev 是否开启 TUN、当前模式、检测到的解析器名称,以及 Clash 日志中是否出现对应域名的 DNS 请求。DNSLeakTest 说明,检测过程会让客户端解析测试域名,并根据响应识别参与解析的服务器;其 Extended Test 会进行更多轮次查询。查看 DNSLeakTest 的检测说明
ipleak 对 DNS 泄漏的定义是:名称解析离开预期的隧道或链路;它同时提醒,旧浏览器标签页、浏览器独立 DNS、单独的 IPv6 路径和按应用配置都可能影响结果。查看 ipleak 的 DNS 检测说明
| 看到的现象 | 优先判断 | 下一步 |
|---|---|---|
| 检测结果只有预期解析器,日志有对应请求 | 暂未发现明显旁路 | 换新标签页再复测一次,并检查 IPv6 与浏览器设置 |
| 出现本地运营商或路由器解析器 | 可能存在系统、IPv6 或浏览器旁路 | 先确认请求是否进入 Clash,再检查 TUN、DNS 劫持和 Secure DNS |
| 检测结果变化很大,但日志没有对应请求 | 检测页可能由浏览器独立解析或缓存影响 | 新建无痕窗口,暂时关闭浏览器 Secure DNS 后对比 |
| 网站打不开、节点域名无法解析 | 可能是 DNS 配置错误,不等同于泄漏 | 检查 proxy-server-nameserver、上游可达性并准备回滚 |
先做这一项:关闭其他代理软件,重启 Clash Verge Rev,打开新的浏览器窗口,分别记录“Clash 关闭”和“Clash 开启”两次检测结果。不要把一次检测页面的 IP 地址或地区变化,直接当作 DNS 已经经过代理的证据。
最短修复路径:先核对 DNS Override,再确认 TUN
- 备份当前配置。在修改前保存订阅原始配置、当前配置和 Clash 日志。不要直接覆盖订阅原文,因为订阅更新可能重新生成运行配置。
- 确认当前配置。进入 Clash Verge Rev 的设置,查看 DNS Overwrite、TUN Mode、DNS Mode、DNS Hijack、Strict Route 等字段。不同版本菜单名称可能变化,以当前界面为准。
- 确认是否真的接管流量。官方界面文案说明,TUN 模式用于捕获设备流量;同时,TUN 需要服务模式或管理员模式。若 TUN 没有成功启动,系统代理开启并不代表所有应用的 DNS 请求都会进入 Clash。查看 Clash Verge Rev 的界面字段与 TUN 提示
- Windows 先检查服务或管理员权限。如果 TUN 开关自动关闭、提示服务不可用或启动后网络中断,先退出其他代理软件,再以当前版本提供的服务模式或管理员方式启动。不要同时启用多个虚拟网卡和多个 DNS 劫持程序。
- macOS 先观察系统 DNS 是否被改写。TUN 启用后,系统解析器可能发生变化;如果启用 TUN 后立即无法打开网页,先关闭 TUN,恢复系统网络设置,再检查 Clash 内部 DNS 和节点域名解析。不要用定时脚本强行反复写入系统 DNS,除非你明确知道它会影响哪些网络接口。
Clash Verge Rev 的官方代码和界面字段显示,DNS Overwrite 的开关按配置文件分别保存,并可能把 GUI 设置写入运行配置;因此,订阅文件中的 DNS 与图形界面覆盖项不一致时,应以当前运行配置和日志为准,而不是只看订阅原文。查看 DNS Overwrite 的配置文件作用范围 查看 GUI 覆盖项写入运行配置的实现
配置怎么改:理解 fake-ip、redir-host、respect-rules 和两个专用 DNS
下面只给出字段用途,不建议把示例完整复制到所有订阅。修改前先备份,并根据当前内核版本、订阅结构和网络环境逐项添加。
| 字段或模式 | 主要作用 | 不能单独证明什么 |
|---|---|---|
enhanced-mode: fake-ip | 让内核为域名返回虚拟地址,并由内核继续处理域名与连接映射 | 不能单独证明浏览器、IPv6 或其他应用没有旁路解析 |
enhanced-mode: redir-host | 保留真实解析结果,再根据规则处理连接 | 不能自动阻止系统或浏览器使用其他解析器 |
respect-rules: true | 让 DNS 连接遵循路由规则 | 需要合理配置 proxy-server-nameserver,否则可能出现代理节点域名无法解析或循环依赖 |
proxy-server-nameserver | 专门用于解析代理节点域名 | 它不是所有普通网站请求的统一解析器 |
direct-nameserver | 为直连域名指定解析路径 | 如果规则把域名判为 DIRECT,仍可能使用直连解析;需结合规则和日志判断 |
no-resolve | 部分规则中跳过对 IP 的额外解析 | 不是全局 DNS 防泄漏开关 |
mihomo 官方 DNS 文档明确说明,enable: false 时会使用系统 DNS;respect-rules 会让 DNS 连接遵循路由规则,并要求配置 proxy-server-nameserver;fake-ip 与 redir-host 是两种不同的 DNS 处理模式。查看 mihomo 官方 DNS 配置说明
低风险做法:先只启用客户端当前版本提供的 DNS Overwrite,保留订阅原有的 nameserver 和 fallback;如果仍有泄漏,再通过 Extend Config 或 Merge 逐项增加 respect-rules、proxy-server-nameserver 等字段。每次只改一个变量,重启内核并记录检测差异。
不要为了“防泄漏”盲目删除所有 direct-nameserver、关闭 IPv6 或把所有域名强制走同一解析器。这样可能造成国内站点、局域网域名、代理节点域名或公司内部服务无法解析。正确做法是先从日志确认哪一类域名发生旁路,再针对规则或解析路径修改。
浏览器 Secure DNS、IPv6 和规则直连导致的假象
浏览器可能不使用系统 DNS。Chrome 的 Secure DNS 会通过加密方式进行 DNS 查询,也允许选择自定义服务商;当你正在排查 Clash DNS 时,应先记下原状态,再暂时关闭 Secure DNS 做一次对照测试。Chrome 的路径是“设置→隐私和安全→安全→使用安全 DNS”。查看 Chrome 官方 Secure DNS 设置
Edge 也提供“使用安全 DNS 指定如何查找网站网络地址”的设置,路径是“设置→隐私、搜索和服务→安全→使用安全 DNS”。如果 Edge 与 Chrome 的结果不同,优先比较两个浏览器的 Secure DNS 状态,而不是马上改 Clash 配置。查看 Edge 官方 Secure DNS 设置
- 浏览器关闭 Secure DNS 后仍显示异常:检查是否有浏览器扩展、企业策略、第三方安全软件或其他代理程序接管解析。
- IPv4 正常、IPv6 检测出现本地解析器:检查 TUN 的 IPv6、系统网卡 IPv6 和订阅规则是否一致。不要只关闭浏览器 IPv6;应确认实际流量是否有 IPv6 路径。
- 只有部分域名显示异常:检查是否被规则判定为 DIRECT、是否使用了
GEOIP,CN,DIRECT或域名策略。规则直连不等于 DNS 泄漏,但它可能让域名通过直连解析,必须结合你的隐私目标判断。 - 只有 UWP 或特定应用异常:系统代理通常不能覆盖所有应用,需确认 TUN 是否成功、应用是否绕过系统代理,以及日志中是否有该应用的连接记录。
日志复核与复测:怎样才算处理完成
- 关闭浏览器旧标签页,重新启动 Clash Verge Rev,并记录当前配置名称、模式、TUN 状态、DNS Override 状态。
- 先打开 Clash 日志,访问一个新域名,观察是否出现 DNS 请求、解析结果和后续连接记录。日志没有对应请求时,不要仅凭网页检测结果断言请求已经进入 Clash。
- 分别使用 DNSLeakTest 的 Standard 与 Extended Test,记录检测到的解析器名称和数量;再用 ipleak 进行第二次对照。两个页面都只代表测试时的请求路径,不代表所有应用在所有时间都使用同一解析器。
- 重新打开 Chrome 或 Edge,检查 Secure DNS 是否恢复;再测试 IPv4 与 IPv6、普通网页与实际工作应用。
- 如果修改后节点域名无法解析、网页大面积打不开或 TUN 自动关闭,立即撤销最后一项修改,恢复备份配置,关闭 TUN 后确认系统网络恢复,再逐项加回。
完成标准:检测页面不再出现你不希望使用的本地解析器;Clash 日志能看到对应请求;浏览器 Secure DNS、IPv6、规则直连和其他代理程序的状态已记录;重启客户端和订阅更新后配置仍按预期生效。若只能满足其中一项,应写成“本次测试未发现明显泄漏”,不要写成永久保证。
常见问题 FAQ
开启 fake-ip 后还显示 DNS 泄漏,说明设置失败吗?
不一定。fake-ip 主要改变内核的 DNS 处理方式,并不能自动接管浏览器 Secure DNS、IPv6、按应用解析或其他代理软件。请同时检查浏览器设置、TUN 状态和 Clash 日志。
DNS Override 重启后又关闭,怎么办?
先确认当前使用的是哪个配置文件,因为官方界面字段说明 DNS Override 按配置文件分别保存。再检查订阅是否重新生成了 DNS 字段,以及 GUI 覆盖项是否仍然存在。修改前备份,必要时关闭 Override,恢复订阅原始配置后重新测试。
respect-rules 开启后节点连不上,怎么恢复?
先撤销 respect-rules,恢复最近一次可用配置。随后检查 proxy-server-nameserver 是否存在、其中的解析器是否可达,以及代理节点域名是否需要单独解析。不要在无法解析代理节点时继续强制让该解析请求遵循代理规则。
DNSLeakTest 显示多个解析器,就一定是泄漏吗?
不一定。解析服务可能由多个后端服务器响应,检测工具也可能显示同一解析服务的多个地址。应关注解析器归属是否符合预期,并结合 Clash 日志、浏览器 Secure DNS 和 IPv6 状态复核。
只关闭系统代理、不关闭 TUN 可以吗?
要看你的流量接管方式。Clash Verge Rev 的界面说明 TUN 用于捕获设备流量,系统代理与 TUN 是不同机制。排查时应分别记录两者状态,不要把“系统代理开关”当成 TUN 是否生效的判断依据。
常见问题
Clash Verge Rev DNS 泄漏怎么解决?
先用 DNSLeakTest 和 ipleak 做基线,再结合 Clash 日志确认请求是否进入内核。随后依次检查 DNS Override、TUN 服务或管理员权限、浏览器 Secure DNS、IPv6、多网卡和规则直连;每次只改一项,复测失败就恢复备份。
fake-ip 能彻底防止 DNS 泄漏吗?
不能。fake-ip 只改变 mihomo 的 DNS 处理模式,浏览器 Secure DNS、IPv6、其他代理软件和按应用解析仍可能走旁路。必须结合日志和多场景复测。
DNS Override 与订阅配置冲突怎么办?
先备份订阅和当前配置,确认正在使用的配置文件,再查看 GUI 中 DNS Override 是否启用。由于覆盖项可能写入运行配置,不能只看订阅原文;若改后断网,撤销覆盖并恢复最近一次可用配置。
Windows 开启 TUN 后 DNS 仍然泄漏怎么办?
确认 TUN 是否成功启动、服务模式或管理员权限是否满足,关闭其他代理和虚拟网卡后重新测试;同时检查 Chrome 或 Edge 的 Secure DNS 与系统 IPv6。
macOS 开启 TUN 后无法上网怎么办?
先关闭 TUN,确认系统网络恢复,再检查 Clash 内部 DNS、代理节点域名解析和当前配置文件。不要在未确认接口影响范围前使用脚本反复改写系统 DNS。
相关阅读
参考资料
- mihomo 官方 DNS 配置文档
- Clash Verge Rev 官方界面字段与设置说明
- Clash Verge Rev 官方代码中的配置覆盖逻辑
- Microsoft Edge 官方 Secure DNS 设置
- DNSLeakTest 检测方式说明(dnsleaktest.com)
- ipleak DNS 泄漏检测说明(ipleak.net)