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 从「浏览器代理」升级成「系统网关」,是体验质变的关键一步。