AmyTelecom - 2026顶级网络加速专线 | 极速秒开流媒体与AI的机场推荐

Clash Verge Rev TUN 模式 DNS 泄漏怎么排查?

更新于 2026-10-30 · amytelecom.top

简答:Clash Verge Rev 开启 TUN 不代表 DNS 一定不会泄漏。最快排查顺序是:先确认当前核心确实启用了 TUN,再检查 Strict Route、DNS Hijack 和 DNS Mode,随后核对 DNS Overwrite 是否覆盖订阅配置,最后用运行配置、日志和浏览器对照测试确认结果。

定义:DNS 泄漏是指代理或 TUN 已启用时,域名解析请求仍被系统、局域网或浏览器独立 DNS 通道送到未预期的解析器。

先试这一步:先确认问题属于 DNS 泄漏

本文适用于使用 Mihomo 核心的 Clash Verge Rev 桌面环境,重点覆盖 Windows;macOS 和 Linux 的差异放在后文。本文核验日期为 2026-10-30。不同发行版本的界面文字可能不同,以下菜单名以 Clash Verge Rev 当前公开代码中的设置字段为准,不把未确认的界面布局当成所有版本都一致。

先不要把所有“泄漏”混为一谈:DNS 泄漏看的是域名查询由哪些解析器处理;DNS 污染看的是返回地址或结果是否异常;WebRTC 泄漏看的是浏览器实时通信接口暴露的地址。三者检测对象不同,修复开关也不同。

  1. 在 Clash Verge Rev 中确认当前配置已启用 TUN,并让一个普通网页分别在 TUN 关闭、TUN 开启时加载。
  2. 关闭浏览器独立 Secure DNS 后重新测试一次,再恢复原设置进行对照。
  3. 检测页若显示本地运营商、局域网 DNS 或未预期的解析器,只能说明“该测试期间观察到了这些解析器”,不能证明所有应用、所有域名都走同一条路径。
  4. 如果只有浏览器检测异常,而命令行和其他应用正常,优先检查 Chrome 或 Edge 的 Secure DNS、扩展和缓存,不要立即修改全部 Mihomo 配置。

Chrome 的 Secure DNS 位于“设置—隐私和安全—安全—使用安全 DNS”;Edge 也提供“设置—隐私、搜索和服务—安全—使用安全 DNS”开关。两者都可能建立独立的加密 DNS 查询路径,具体行为还受设备管理策略影响。可分别参考 Chrome 官方说明 和 Edge 官方说明。

Clash Verge Rev 当前界面:三个位置先核对

Clash Verge Rev 的公开设置字段包含 TUN Mode、Strict Route、DNS Hijack、DNS Mode、Auto Route、Auto Detect Interface 和 MTU;DNS 设置中还包含 DNS Overwrite 以及 Enable DNS、Enhanced Mode、Nameserver、Fallback、Proxy Server Nameserver、Direct Nameserver 等字段。菜单名称可按下面的功能定位查找:

要检查的项目界面定位核对重点改动影响与回滚
TUN ModeSettings 中的系统或代理控制区域确认 TUN 已启用,并确认服务模式或管理员权限满足要求关闭 TUN 即可回滚到普通系统代理或直连
Strict Route、DNS Hijack、DNS ModeSettings—TUN Mode 设置Windows 优先核对 Strict Route;DNS Mode 使用 hijack 时应确认条件满足恢复 Auto 或关闭相关开关,再重新载入配置
DNS OverwriteSettings—Clash Setting—DNS Overwrite确认是否由前端覆写当前配置,是否因订阅内含 DNS 而被保护性关闭关闭覆写并重新载入原订阅配置
Runtime ConfigSettings—Verge Advanced Setting—Runtime Config查看最终运行的 tun 和 dns 字段,而不是只看订阅原文保存原配置或备份配置目录后再改动
日志目录Settings—Verge Advanced Setting—Open Logs Dir提高核心日志级别后观察 DNS 请求和启动错误排查完成后恢复普通日志级别

上述字段名称与 DNS Overwrite 的配置范围、订阅冲突提示可在 Clash Verge Rev 的公开设置定义中核对:Clash Verge Rev 设置字段。该页面是代码仓库中的开发分支资料,因此只能用于核对字段和功能名称,不能据此断言你安装的发行版本一定有完全相同的布局。

可直接核对的最小配置:先备份,再逐项验证

下面示例只展示 Mihomo 的字段关系,适合用来和 Runtime Config 对照,不建议在没有备份时直接覆盖订阅配置。它包含 TUN、DNS 劫持、Strict Route 和 Fake-IP 的最小组合;其中 DNS 上游只是示例地址,实际应替换为你能够访问且信任的解析服务。

tun:
  enable: true
  auto-route: true
  strict-route: true
  dns-mode: hijack
  dns-hijack:
    - any:53
    - tcp://any:53

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - https://dns.example/dns-query
  proxy-server-nameserver:
    - https://dns.example/dns-query
  • tun.dns-mode: hijack:表示在 native 的基础上,进一步拦截发往其他网卡 53 端口的请求;Mihomo 官方文档明确说明,Windows 使用该模式需要 Strict Route,Linux 需要 Auto Redirect。
  • tun.dns-hijack:把匹配到的 DNS 连接导入 Mihomo 内部 DNS 模块。any:53 与 tcp://any:53 分别覆盖常见 UDP 和 TCP 53 请求。
  • dns.enhanced-mode:这是 DNS 模块的处理模式,只能填写 fake-ip 或 redir-host;它与 TUN 的 dns-mode 不是同一个层级。
  • proxy-server-nameserver:专门用于解析代理节点域名,避免“要先解析节点域名才能连接 DNS,而连接 DNS 又需要代理节点”的循环依赖。
  • 不要把 dns-mode 写成 fake-ip:Fake-IP 属于 dns.enhanced-mode,不是 TUN 的 dns-mode 取值。

Mihomo 官方文档列出了 TUN 的 disabled、native、hijack 三种 DNS Mode,以及 DNS 的 fake-ip、redir-host 两种 Enhanced Mode。字段含义和适用条件应以 Mihomo TUN 文档 与 Mihomo DNS 文档 为准。

备份与回滚:先在 Clash Verge Rev 的高级设置中使用备份功能,或复制配置目录;只改一个变量,重新载入配置并重启核心。若 TUN 开启后断网,先关闭 TUN,恢复 DNS Overwrite 原状态,再载入备份,不要同时修改 MTU、IPv6、Fake-IP 过滤器和代理规则。

按顺序排查:从普通代理到 TUN 和 DNS

  1. 先测普通代理:关闭 TUN,只启用系统代理,确认浏览器能正常访问网页。若普通代理也失败,问题可能在订阅、节点、端口或基础连通性,不应先处理 DNS 泄漏。
  2. 再开 TUN:确认 TUN Mode、Auto Route 已开启。Windows 下优先开启 Strict Route,因为 Mihomo 文档说明它会增加防止 Windows 多宿主 DNS 解析造成泄漏的防火墙规则。
  3. 检查 DNS Mode:Windows 需要特别核对是否为 hijack,以及 Strict Route 是否同时生效。若界面只有 Auto,不要自行假设它等于 hijack,直接到 Runtime Config 查看最终生成值。
  4. 检查 DNS Hijack:至少核对是否存在 any:53;若只配置 UDP 但某应用使用 TCP 53,结果可能不同。macOS 和 Windows 对本地网络发出的 DNS 请求存在自动劫持限制,不能仅凭配置文件断言所有请求都会被接管。
  5. 检查 DNS Overwrite:如果订阅自身包含 DNS 段,前端可能提示覆写会替换订阅配置并自动关闭。此时要在 Runtime Config 中确认最终的 dns、tun 字段,而不是只看订阅原文。
  6. 检查浏览器:Chrome 或 Edge 的 Secure DNS 先关闭做一次对照;如果关闭后检测结果改变,说明浏览器独立 DNS 通道是重要变量。企业设备、家长控制或管理策略可能限制该开关。
  7. 最后看日志:在高级设置打开日志目录,临时提高核心日志级别,重新访问一个域名,观察 DNS 请求是否进入内部 DNS、使用了哪个上游,以及是否出现超时、解析失败或配置错误。日志只能证明记录到的请求,不代表未记录的应用请求一定相同。

Windows 的多宿主 DNS 客户端可能跨多个网络接口并行发起查询。微软文档对 DNS Smart Multi-Homed Name Resolution 的描述可用于理解这一行为:Microsoft Learn DNS Client 策略说明。因此,Windows 上“系统 DNS 设置看起来正确”并不等于 TUN 已经阻止所有解析路径。

Fake-IP、redir-host 与 GEOIP,CN,DIRECT 怎么选

Fake-IP会为域名返回虚拟地址,再由核心根据映射处理连接;redir-host更接近返回真实解析结果。Fake-IP 通常更容易让 TUN 按域名继续处理,但局域网设备、打印机、部分游戏、企业内网和需要真实地址的程序可能需要加入 Fake-IP Filter。Mihomo 官方文档明确提供了 Fake-IP Filter 以及 blacklist、whitelist、rule 等模式,不能把所有局域网域名一概加入排除列表。

使用 GEOIP,CN,DIRECT 时,直连分流可能让域名解析使用 direct-nameserver 或系统解析路径。它不等同于 DNS 泄漏,但如果直连解析器恰好是本地网络 DNS,检测页可能观察到本地解析器。排查时可以临时把该规则替换为更简单的测试规则,比较 Runtime Config、日志和检测结果,再决定是否恢复原规则。

现象优先检查不要先做的事
只有浏览器检测显示本地 DNSChrome/Edge Secure DNS、扩展、浏览器缓存立即更换全部 nameserver
Windows TUN 开启后出现本地解析器Strict Route、DNS Mode、DNS Hijack、系统多网卡只修改网卡 DNS 后认为问题已解决
开启 DNS Overwrite 后节点无法连接订阅是否自带 DNS、proxy-server-nameserver 是否存在继续叠加 fallback 和复杂 nameserver-policy
局域网设备无法访问Fake-IP Filter、局域网网段、route-exclude-address关闭全部 DNS 或删除所有规则
macOS 或 Linux 与 Windows 结果不同系统 DNS 接管方式、Linux Auto Redirect、接口路由照搬 Windows 的 Strict Route 结论

验证、错误分流与恢复流程

  1. 验证一:记录 TUN 关闭时的检测结果,再只开启 TUN,不改其他变量。
  2. 验证二:检查 Runtime Config 中是否同时存在 tun.enable: true、预期的 tun.dns-mode、dns-hijack 和 dns.enable: true。
  3. 验证三:临时关闭 Chrome 或 Edge Secure DNS,重新检测;结果改变时,优先处理浏览器通道。
  4. 验证四:查看日志,确认实际 DNS 请求是否进入 Mihomo 内部模块,以及上游是否发生超时或回退。
  5. 错误分流:如果配置加载失败,先检查 YAML 缩进和字段拼写;如果节点无法连接,先撤销 DNS Overwrite 并恢复订阅原 DNS;如果 TUN 一开就断网,先关闭 TUN,再恢复备份,最后单独测试 Strict Route 或 DNS Mode。
  6. 恢复:关闭 TUN、关闭 DNS Overwrite、载入备份配置并重启核心。确认普通代理恢复后,再一次只改一个开关。

Mihomo 提供 API 用于获取当前运行配置和 DNS 查询数据;如果界面中的 Runtime Config 不完整,可在确认外部控制器地址和密钥后,通过核心 API 核对当前运行字段。相关入口见 Mihomo API 文档。不要把订阅文件、外部控制器密钥或完整日志公开发布。

常见问题

Clash Verge Rev 开启 TUN 后还显示本地 DNS,是否一定是泄漏?

不一定。检测页只展示测试期间观察到的解析器,可能受到浏览器 Secure DNS、系统多网卡、局域网 DNS、直连规则或检测页自身测试方式影响。应结合 Runtime Config、核心日志和浏览器关闭 Secure DNS 后的对照结果判断。

DNS Mode 的 hijack 和 DNS Enhanced Mode 的 fake-ip 是一回事吗?

不是。tun.dns-mode: hijack描述系统 DNS 如何被配置和拦截;dns.enhanced-mode: fake-ip描述 Mihomo DNS 模块返回和处理地址的方式。两者可以组合,但字段位置和作用不同。

Windows 一定要打开 Strict Route 吗?

如果要使用 TUN 的 DNS hijack,Mihomo 官方文档明确要求 Windows 配合 Strict Route。它会增加针对 Windows 多宿主 DNS 行为的防护,但也可能影响某些虚拟机或特殊网络软件;遇到兼容性问题应记录现象后按备份回滚。

为什么 DNS Overwrite 打开后反而无法连接节点?

Clash Verge Rev 的设置定义提示,订阅含有自定义 DNS 时,DNS Overwrite 可能替换原配置,导致节点或部分网站无法加载。检查 Runtime Config 中的 proxy-server-nameserver,并尝试关闭覆写、重新载入订阅进行对照。

Fake-IP 会不会导致局域网设备失效?

部分局域网设备或依赖真实地址的应用可能不兼容 Fake-IP。应根据实际域名或网段加入精确的 Fake-IP Filter 或路由排除项,不要直接关闭所有 DNS 接管。

常见问题

Clash Verge Rev 开启 TUN 后还显示本地 DNS,是否一定是泄漏?

不一定。检测结果可能受到浏览器 Secure DNS、系统多网卡、直连规则和检测页测试方式影响,应结合 Runtime Config、核心日志和浏览器对照测试判断。

DNS Mode 的 hijack 和 Enhanced Mode 的 fake-ip 是一回事吗?

不是。hijack 属于 TUN 层的系统 DNS 接管方式,fake-ip 属于 Mihomo DNS 模块的处理模式,字段位置和作用不同。

Windows 一定要打开 Strict Route 吗?

使用 TUN 的 DNS hijack 时,Mihomo 官方文档要求 Windows 配合 Strict Route;但它可能影响某些虚拟机或特殊网络软件,修改前应备份并准备回滚。

为什么 DNS Overwrite 打开后反而无法连接节点?

订阅含有自定义 DNS 时,DNS Overwrite 可能替换原配置。应查看 Runtime Config,确认代理节点域名是否有 proxy-server-nameserver,并通过关闭覆写进行对照。

相关阅读

参考资料

  1. Mihomo 官方文档:TUN 配置
  2. Mihomo 官方文档:DNS 配置
  3. Clash Verge Rev 公开设置字段
  4. Google Chrome 官方说明:Secure DNS
  5. Microsoft Edge 官方说明:Secure DNS
  6. Microsoft Learn:DNS Smart Multi-Homed Name Resolution
  7. Mihomo 官方文档:API