Clash TUN 透明代理配置教程

Clash TUN 虚拟网卡流量拓扑

TUN 模式是 Clash 区别于传统系统代理模式的核心能力——它通过虚拟网卡接管操作系统三层流量,实现进程级透明代理。然而 TUN 也是配置出错率最高的模块,本文汇总编辑部在 200+ 工单中归纳的六大类故障及其解法。🛰️

Clash TUN 工作原理 — 从数据包进入到规则匹配

启用 TUN 后,mihomo 通过 wintun(Windows)或 utun(macOS/Linux)创建虚拟网卡,配合 auto-route 写入系统路由表。所有出站流量先进入 TUN 设备,由内核的 IP 栈解析后送入规则引擎,再根据匹配结果选择 DIRECT 或代理出站。

strict-route 详解 — 为什么开启后局域设备不可达

strict-route: true 强制所有流量(含局域)走 TUN 设备,再由规则决定是否 DIRECT。若规则集缺少局域绕过条目,表现为:打印机不可发现、NAS 无法访问、智能家居 App 离线。⚠️

标准局域绕过规则(置于 rules 最顶部)

rules:
  - IP-CIDR,127.0.0.0/8,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,224.0.0.0/4,DIRECT
  - IP-CIDR,255.255.255.255/32,DIRECT

fake-ip 与 TUN 的联动陷阱

fake-ip 模式下 DNS 返回 198.18.0.0/16 段的假 IP,TUN 截获后通过域名嗅探(sniff)还原真实目标。若 sniff 未覆盖目标协议(如部分 UDP 游戏流量),会出现「能 ping 通但应用连不上」的诡异现象。

Windows wintun 特有问题

Windows 11 24H2 起,wintun 驱动签名策略收紧。若 TUN 启动报「无法创建适配器」,以管理员身份执行:

netsh int ipv4 reset
netsh winsock reset
# 重启后重新安装 wintun.dll(Verge Rev 会自动处理)

另一个高频问题:Hyper-V 与 wintun 争抢虚拟网卡资源。若安装了 WSL2 或 Docker Desktop,需在「网络连接」中确认 wintun 适配器未被 Hyper-V 虚拟交换机劫持。🪟

macOS utun 权限与系统扩展

macOS 要求 TUN 类应用注册 System Extension。首次启用时弹出「允许添加 VPN 配置」对话框。若静默失败,检查 /Library/Logs/DiagnosticReports/ 中是否有 nesessionmanager 崩溃日志。🍎

TUN 推荐配置模板(mihomo v1.18+)

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  strict-route: false
  dns-hijack:
    - any:53
  inet4-address: 198.19.0.1/30
生产环境建议 strict-route: false + 完善的局域绕过规则,而非盲目开启 strict-route。这是工单数据中解决率最高的组合(87% 的 TUN 故障由此修复)。

性能调优 — TUN 模式的吞吐天花板

平台TUN 吞吐系统代理吞吐瓶颈
Windows 11 (i7-12700)~920 Mbps~850 Mbpswintun 驱动
macOS M2~1.1 Gbps~900 Mbpsutun 栈
RPi 4B (Linux)~280 Mbps~310 MbpsCPU 加密

延伸阅读

规则与 TUN 联动 · → Linux 网关 TUN 部署