什么是TUN模式
用Clash、v2rayN这类客户端翻墙时,你可能见过一个叫"TUN模式"或"虚拟网卡"的开关。开启后,很多原本不走代理的软件突然能翻墙了。TUN模式是实现真全局代理的关键技术,理解它能帮你解决很多"某个软件死活翻不了墙"的问题。
系统代理 vs TUN模式
要理解TUN模式,先看它和传统"系统代理"的区别。
系统代理的局限
传统方式是设置系统HTTP/SOCKS代理。它的问题是:只有愿意读取系统代理设置的程序才会走代理,主要是浏览器和部分软件。很多程序(尤其是命令行工具、游戏、某些桌面App)根本不看系统代理,于是就翻不了墙。这类流量叫"绕过代理的流量"。
TUN模式的原理
TUN模式创建一块虚拟网卡,并接管整个系统的路由表,让操作系统认为所有网络流量都应该从这块虚拟网卡走。客户端在这一层拦截全部IP层流量,再根据规则决定放行直连还是转发到代理节点。
因为它工作在系统网络的更底层,不依赖程序是否支持代理设置,所以能真正做到全局:无论什么软件的流量都能被接管和分流。这就是为什么TUN模式常被称为"真全局"。
| 对比项 | 系统代理 | TUN模式 |
|---|---|---|
| 覆盖范围 | 仅支持代理的程序 | 全系统所有流量 |
| 命令行/游戏 | 大多无效 | 有效 |
| UDP支持 | 有限 | 好 |
| 权限要求 | 普通权限 | 需管理员/驱动 |
| 配置复杂度 | 低 | 中 |
什么时候需要开TUN模式
- 某个软件(如Telegram桌面版、游戏、开发工具)不走系统代理,翻不了墙。
- 需要代理UDP流量,比如某些游戏、语音通话。
- 命令行工具(git、pip、npm等)需要走代理。
- 想让整个系统所有流量都按规则分流,图省心。
各平台开启方法
Windows(Clash Verge / Clash Meta)
开启TUN模式通常需要安装虚拟网卡驱动(Wintun),客户端一般会自动处理。开启后要以管理员权限运行客户端,否则无法接管网卡。
macOS
macOS的TUN模式需要授予客户端网络扩展权限,首次开启会弹出系统授权提示,同意即可。部分客户端需要输入管理员密码安装辅助工具。
Android
安卓的VPN模式本质上就是TUN,开启时系统会弹出"VPN连接请求"授权,顶部出现钥匙图标即表示生效,天然就是全局接管。
iOS
Shadowrocket等客户端同样基于系统的VPN(Network Extension)机制实现全局接管,配置好节点点击连接即可。
TUN模式的常见问题
1. 开启后完全断网
多半是DNS配置或路由冲突。检查客户端的DNS设置是否开启,确认fake-ip或DNS劫持配置正确;虚拟网卡驱动没装好也会导致断网,重装驱动或重启客户端试试。
2. 国内网站也变慢/走了代理
TUN模式接管全部流量后,分流规则的重要性更突出。要确保规则里国内域名和IP走直连,否则全部流量都挤到代理节点,既慢又费流量。用带有完善规则集(含中国IP段GEOIP)的配置。
3. 提示需要管理员权限
因为TUN要修改系统路由表和安装虚拟网卡,必须有较高权限。Windows下右键以管理员身份运行,macOS下授权辅助工具即可。
4. 和其他VPN/网卡冲突
如果同时开着公司VPN、其他代理软件或虚拟机网卡,可能和TUN的路由抢占冲突,导致部分流量异常。建议一次只启用一套全局代理。
5. 关闭后网络异常
偶尔TUN异常退出会残留错误的路由或DNS设置,导致关掉后依然上不了网。重启客户端让它正常清理,或手动重置网络(刷新DNS、重连网卡)即可恢复。
TUN模式安全提示
TUN模式接管全部流量,一旦客户端崩溃或节点断开,如果没有兜底设置,可能出现流量泄露或直接断网。建议:
- 使用配置完善、更新及时的客户端内核(如mihomo/Clash.Meta)。
- 确保DNS防泄露配置正确,避免DNS查询绕过隧道。
- 了解客户端的行为:节点断开时是断网还是回退直连,做到心里有数。
总结
TUN模式通过创建虚拟网卡接管系统全部流量,实现了不依赖程序代理设置的真全局代理,是解决"某软件翻不了墙""命令行/游戏无法代理"的终极手段。它的代价是需要更高权限,也更依赖正确的分流规则和DNS配置。用好TUN模式,配合完善的规则让国内流量直连、海外流量走代理,你的整个系统就能顺畅又省心地科学上网。


