TUN 模式
TUN 模式让 Clash 在系统层面接管网络,把那些「不认代理设置」的应用也纳入分流。它是 Clash for Windows 里最实用、但也最容易踩坑的功能之一。
什么是 TUN
TUN 是一张虚拟网卡。开启后,系统把流量先交给这张虚拟网卡,由 Clash 读取并决定走向(直连或代理)。因为是在网络栈底层拦截,所以无论应用自身是否支持代理,流量都逃不出 Clash 的手心。
为什么要用 TUN
很多场景普通 HTTP/SOCKS 代理搞不定:
- 部分游戏、命令行工具、Docker 容器不走系统代理;
- 一些国产软件硬编码直连,无视代理设置;
- 希望做到「系统级全局接管」,免去逐个应用配置的麻烦。
TUN 模式正是为解决这些问题而生。
关键配置
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- 0.0.0.0:53
参数说明:
| 参数 | 作用 |
|---|---|
enable |
总开关 |
stack |
网络栈,system(系统)或 gvisor(内置,跨平台更稳)或 mixed |
auto-route |
自动写入路由表,把流量导向虚拟网卡 |
auto-detect-interface |
自动跟随当前上网网卡 |
dns-hijack |
劫持系统 DNS 请求,避免污染与泄露 |
权限要求
TUN 需要在网络层创建虚拟设备,Windows 上必须以管理员身份运行 Clash for Windows,macOS/Linux 则需要相应权限。没权限时 TUN 会启动失败或毫无效果,这是最常见的「开了没反应」原因。
与 TProxy 的区别
- TUN:虚拟网卡方案,客户端侧、用户态实现,跨平台、配置简单,适合桌面用户;
- TProxy:Linux 内核模块方案,常用于旁路由/网关,透明代理无需客户端,但对部署环境要求高。
桌面日常使用,TUN 是更省心的选择。
注意事项
- 开启
dns-hijack后,系统 DNS 会被接管,配合 Fake-IP 或真实 IP 模式使用,能显著改善解锁与速度; - 某些杀毒软件/防火墙会拦截虚拟网卡创建,遇到异常先临时关闭排查;
- 不需要系统级接管时,关掉 TUN 用普通代理即可,更轻量;
stack: gvisor在部分网卡环境下比system更稳定,可二选一尝试。
TUN 模式把 Clash 从「浏览器代理」升级成「系统网关」,是体验质变的关键一步。