规则、全局与 TUN 有什么区别?从流量接入到路由分流
规则与全局决定“进入核心的流量往哪里去”,系统代理和 TUN 解决“哪些流量怎样进入核心”。它们不是同一组互斥开关。理解这两层关系,就能解释为什么打开全局模式后,有些应用仍然没有经过代理。
先看流量有没有进入客户端
系统代理把代理地址告知操作系统及遵循该设置的应用,常见形式是让应用连接本机代理端口。某些程序使用自己的网络配置,因此不会因为系统代理开启就自动接入。
TUN 通过虚拟网络接口处理进入其路由范围的流量。实际覆盖范围由系统、路由、排除项、IPv6 和配置决定,不能仅凭开关名称断言“全部流量都被接管”。来源:Mihomo TUN 配置
再看进入后的出站选择
以 Mihomo 的模式为例,规则模式按配置中的规则匹配;全局模式使用全局策略选择;直连模式将相关流量直接连接。不同客户端的界面包装可能不一样,应以核心实际配置为准。来源:Mihomo 全局配置
| 组合 | 入站方式 | 进入后如何处理 | 适用的检查问题 |
|---|---|---|---|
| 系统代理+规则 | 遵循系统代理的应用 | 按规则选出站 | 某域名是否被分错 |
| 系统代理+全局 | 同上 | 全局策略决定 | 对照规则是否影响结果 |
| TUN+规则 | TUN 路由覆盖的流量 | 按规则选出站 | 不读系统代理的应用 |
| TUN+全局 | 同上 | 全局策略决定 | 检查接入及统一出站 |
表中的“全局”没有扩大第一列的应用覆盖范围;“TUN”也没有取消规则。两层要分别检查。
一次请求为何与预想不同
规则通常按顺序匹配,靠前的命中项可能让后面的规则没有机会执行。某个域名规则指向策略组后,策略组还可能选中直连、另一个组或某个节点。因此只看到组名,并不能确认最终出口。
在连接页面查找该请求,依次看目标、命中规则、策略组和最终出站。修改规则前备份,优先添加范围明确的规则,而不是为一个网站覆盖全部配置。来源:Mihomo 路由规则
一个可复现的排查例子
假设浏览器能打开目标网站,桌面软件却失败。先打开桌面软件,观察客户端是否产生新连接:没有记录时,检查接入;有记录但出站错误时,检查规则;出站正确却报 TLS 错误时,转查握手。
这三个分支需要不同处理。第一个分支不能靠修改出站国家解决,第二个分支也不一定需要 TUN。可对照客户端配置教程核实具体软件的接入方式。
日常使用怎样选择
先从能满足任务的最少设置开始。浏览器已经可用,就先验证规则;明确存在不读取系统代理的应用,再评估应用内代理或 TUN。测试 TUN 时额外检查局域网打印、NAS、公司网络和双栈连接。
完成临时全局对照后,恢复预期规则并再检查一次。若某个域名始终失败,可继续阅读DNS 排查;担心 IPv6 绕过时,查看双栈代理验证。
资料核对:2026 年 9 月 28 日。本文解释配置关系,不保证某个模式在所有系统中具有相同效果。
评论