TUN与规则分流:理解流量的两层选择概念场景
概念配图 · 操作以当前客户端与项目文档为准

先把入口与出口分开

系统代理向遵循该设置的应用提供本地代理地址。TUN通过虚拟网络接口与路由配置接收流量,可以覆盖部分不遵循系统代理的程序。两者是流量接管方式,实际覆盖范围仍取决于平台、权限、路由和应用行为。

应用请求→系统代理 / TUN→Mihomo核心→规则与出口

规则模式按配置中的规则列表进行匹配,匹配后的策略可能是DIRECT、拒绝策略或某个代理组。全局模式与直连模式改变出口选择方式,不能替代有效节点。把这两层分开,排错才不会只盯着TUN开关。

什么时候需要TUN

只需要浏览器或其他遵循系统代理的软件时,可先验证系统代理。目标程序不使用系统代理、或确实需要更广的流量接管时,再评估TUN。无需为了“更快”随意开启;TUN本身不是节点带宽提升功能。

开启前确认核心及客户端具备对应平台所需的权限,查看是否有其他VPN或路由软件冲突。远程服务器还需保留可恢复的管理通道。自动路由可能改变管理连接的路径,不能在缺少回退办法时盲目修改。

规则按意图排列

把明确的例外规则放在兜底规则之前,并确保所引用的代理组真实存在。下例仅演示域名规则和兜底关系,所有请求均直连,不包含远程节点,不是可用订阅。

YAML
mode: rule
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,DIRECT

理解DOMAIN、DOMAIN-SUFFIX等规则类型的差别;地址规则与域名规则涉及不同的信息。若要根据域名分流,还要考虑DNS处理和可供核心识别的域名。不要在不了解当前配置的情况下整体复制另一份DNS设置。

TUN开启失败与流量失败分开看

  • 无法建立接口:检查权限、服务状态、平台限制及核心日志。
  • 建立后没有连接:检查自动路由、排除范围与其他软件冲突。
  • 有连接但域名失败:检查DNS解析流程、DNS请求入口与节点。
  • 只影响部分应用:检查应用独立设置、排除项及路由覆盖范围。

先证明基础节点通过系统代理可以工作,再诊断TUN路径;这样能把远端节点问题与本机路由问题区分。切回原设置后复测,并保留每一步的结果。

不要把TUN当作隐私保证

TUN不会自动保证所有网络请求都走预期路径,也不能单独保证DNS或IPv6行为。是否绕过核心、是否命中规则、实际使用哪个出口,需要结合连接记录和系统网络设置检查。日志可能包含访问记录,分享前进行脱敏。

若关闭客户端后网络异常,核对系统代理和路由是否恢复。不要不加判断地清空系统防火墙或删除全部网卡。先撤销刚才的改动,再对照配置进阶逐项验证;遇到格式报错则转到YAML配置检查。

参考资料