TUN 模式让所有应用的流量都进入代理内核,不再依赖应用是否遵守系统代理设置。原理讲解在系统代理与 TUN 的区别一文,这里只讲怎么开、参数怎么调。
前置条件:服务模式
创建虚拟网卡需要系统级权限。Clash Verge 通过一个后台服务(服务模式)来长期持有这个权限,避免每次启动都弹 UAC 窗口。
打开「设置」,找到「服务模式」,点击安装。Windows 会弹出 UAC 确认,macOS/Linux 需要输入密码。装好后状态显示为「已激活」。
服务模式安装失败的常见原因:被杀毒软件拦截(临时放行即可)、旧版服务残留(先卸载服务再重装)。反复失败时参考故障排查。
开启 TUN 开关
回到设置页,打开「TUN 模式」开关。此时系统里会多出一块名为 Mihomo 或 utun 的网络适配器,所有流量开始经由它进入内核。浏览器随便开个网页验证一下连通性即可。
开启 TUN 后,「系统代理」开关可开可不开——TUN 的覆盖范围是系统代理的超集。保留系统代理开关的意义在于部分应用能更快感知代理存在。
值得了解的三个参数
设置页 TUN 区域有几个选项,默认值适合大多数人,但了解含义有助于排障:
- Stack(协议栈):默认
Mixed。遇到个别应用连接异常时,可切换成gVisor或System对比测试。 - DNS 劫持:默认
any:53,把所有明文 DNS 查询劫持进内核处理,是防止 DNS 泄漏的关键,建议保持开启。细节见 DNS 与泄漏防护。 - 严格路由(Strict Route):防止流量绕过 TUN 网卡。开启后覆盖更彻底,但个别局域网服务(打印机、投屏)可能受影响——遇到再关。
平台差异速记
- Windows:必须先装服务模式;个别 VPN 类软件的虚拟网卡会与 TUN 抢路由,冲突时先禁用另一方。
- macOS:首次开启需要在系统弹窗中允许添加网络配置;如果开启后断网,检查「系统设置」→「网络」里 utun 接口的服务顺序。
- Linux:服务模式基于 systemd;非 systemd 发行版需手动给内核授权
setcap cap_net_admin+ep。
验证 TUN 是否真正生效
- 打开「连接」页面,看列表里是否出现了浏览器之外的进程名(游戏、终端工具等);
- 命令行执行
curl ip.sb(不设任何环境变量),返回的应是代理出口 IP; - 用 DNS 泄漏测试确认解析也走了隧道。
游戏场景下的 TUN 调优(UDP、延迟抖动)单独写在游戏加速优化一文。