TUN 模式是代理客户端创建一块虚拟网卡并把系统路由指向它,在网络层接管几乎所有程序的流量,不管程序是否支持代理设置。结论:只用浏览器就别开;命令行工具、游戏或某些桌面应用在开了系统代理后仍不走代理时,就该开 TUN,并同时开启 DNS 劫持。
TUN 的工作原理
系统代理只是“告诉”程序把请求发到本机某个端口,程序是否照做取决于它自己。TUN 的做法不同:
- 客户端在系统中创建一块虚拟网卡(TUN 设备)。
- 修改系统路由表,让默认流量经过这块虚拟网卡。
- 程序发出的 TCP/UDP 数据包进入虚拟网卡后,由客户端内置的网络栈还原成连接。
- 客户端按分流规则决定直连还是发往代理节点。
对程序而言,它只是在正常上网,并不知道代理存在,因此兼容性最好。手机客户端以系统 VPN 方式运行,本质是同一种机制,所以手机上一般不需要单独开“TUN”。
TUN 与系统代理对比
| 对比项 | 系统代理 | TUN 模式 |
|---|---|---|
| 接管范围 | 只接管读取系统代理设置的程序 | 几乎所有程序 |
| UDP 支持 | 基本不支持(HTTP 代理只处理 TCP) | 支持,游戏和语音通话可用 |
| 所需权限 | 普通权限 | 管理员权限,或安装服务、网络扩展 |
| DNS 处理 | 由程序或系统决定 | 可由客户端统一接管,减少泄露 |
| 对系统影响 | 小,关掉即恢复 | 修改路由表,可能与其他 VPN 冲突 |
系统代理的原理与局限见 系统代理模式详解。
什么时候需要 TUN
- 终端里的
git、npm、pip、curl、docker需要走代理,又不想逐个配环境变量; - 游戏客户端、游戏平台下载,需要 UDP 转发;
- Windows 商店(UWP)应用、部分 Electron 应用不读取系统代理;
- 使用 AI 编程工具或命令行调用 AI 接口,希望出口 IP 稳定一致,参考 调用 AI API 和命令行工具时网络连不上、超时怎么办 和 Codex 网络环境与机场选择;
- 希望统一由客户端处理 DNS,减少泄露。
不需要 TUN 的情况:只用浏览器上网,系统代理已经足够,而且更省资源、更少冲突。
开启前准备
- 退出其他 VPN 和加速器:它们同样会改路由表,两个 TUN 同时运行几乎必然冲突。
- 确认客户端支持并已更新:Clash Verge Rev、v2rayN、sing-box 等主流客户端都支持 TUN,选择见 机场客户端大全。
- 记住关闭入口:万一开启后断网,先知道在哪里关掉 TUN 开关,或直接退出客户端。
各平台开启方法
入口名称因客户端而异,流程大同小异。
Windows
- 让客户端获得管理员权限。以 Clash Verge Rev 为例,开启 TUN 前会提示安装“服务模式”,按提示完成,详见 Clash Verge Rev 使用教程。
- 在设置中打开 TUN(虚拟网卡)开关。
- 网络栈(stack)保持默认;遇到兼容问题再在
system、gvisor、mixed之间切换。 - 首次开启时 Windows 防火墙可能弹窗,允许客户端访问网络。
v2rayN 同样提供 TUN 选项,开启时需要以管理员身份运行,见 v2rayN 使用教程。
macOS
- 开启 TUN 时客户端会请求安装辅助工具或网络扩展,输入管理员密码。
- 部分客户端需要在“系统设置 → 隐私与安全性”中允许系统扩展。
- 授权完成后打开 TUN 开关。系统升级后若 TUN 突然失效,通常需要重新授权一次。
Linux
创建 TUN 设备需要 root 权限或 CAP_NET_ADMIN 能力。图形客户端通常在开启时请求授权;命令行运行 mihomo 或 sing-box 时,可以用 systemd 服务并授予相应能力,见 sing-box 使用教程。
TUN 模式下的 DNS 设置
开启 TUN 后,DNS 处理方式直接影响能否正常上网:
- 开启 DNS 劫持(hijack DNS),让发往 53 端口的查询都由客户端处理,否则部分程序会直接向系统 DNS 查询,导致分流不准或泄露。泄露检测方法见 代理环境下 DNS 泄露怎么检测与彻底防护。
- 推荐 fake-ip 模式:减少 DNS 查询等待,与 TUN 配合效果最好。两种模式的取舍见 Fake-IP 与 Redir-Host 模式有什么区别,如何选择。
- 个别应用不兼容 fake-ip(局域网发现、部分游戏、需要真实 IP 的程序):把相关域名加入 fake-ip 过滤列表,详见 fake-ip 模式引发的兼容问题怎么排查与修复。
完整配置见 代理客户端 DNS 设置教程。
如何确认 TUN 已生效
- 系统网络适配器列表里能看到客户端创建的虚拟网卡,名称通常包含客户端或内核名。
- 关闭系统代理后,浏览器仍能访问海外网站。
- 在终端执行
curl -I https://www.google.com(不设任何代理环境变量),能返回响应头。 - 客户端的连接或日志页面能看到来自命令行、游戏进程的连接。
常见问题
开启 TUN 后完全无法上网怎么办
先关掉 TUN 确认基础网络正常,再依次检查:是否同时开着其他 VPN 或加速器;切换网络栈类型;DNS 劫持是否开启、上游 DNS 是否可用。更多步骤见 TUN 模式开启失败怎么解决。
TUN 和系统代理要不要同时开
可以但没必要。开启 TUN 后流量已被全面接管,系统代理只是让浏览器多走一层本地端口。建议二选一:日常用系统代理,需要时切到 TUN。
开了 TUN 后局域网设备、NAS 访问异常
TUN 可能接管了局域网网段的路由。确认客户端已把私有网段(如 192.168.0.0/16、10.0.0.0/8)设为直连或排除路由,大部分客户端默认已经处理。
公司 VPN 能和 TUN 共存吗
两者都会修改路由表,通常只能二选一。需要同时使用时,可以只开系统代理,让公司 VPN 负责内网流量。
开了 TUN 后游戏延迟反而变高
TUN 会把游戏流量也交给规则处理。国内游戏应确保命中直连规则,可以按进程名或域名添加直连;海外游戏则要选延迟低、支持 UDP 的节点,并确认节点协议没有被当前网络限制 UDP。
手机上需要开 TUN 吗
不需要。安卓和 iOS 客户端本身就通过系统 VPN 接口接管流量,效果等同于电脑上的 TUN。
兼容的机场
以下为 推荐榜 前列品牌,品牌资料显示均支持第三方客户端订阅导入;导入方式以各品牌官方说明为准。
星岛梦是 2020 年开始运营的机场品牌,提供月付、季付、年付以及不限时按量套餐,入门年付折合约 8 元/月(60GB),线路采用内网互联与国际专线。
- 年付折合
- ¥8/月
- 每月流量
- 最高 600GB
光速云是 2020 年开始运营的综合型机场,品牌资料强调 IEPL 专线、企业级内网专线与 VLESS 协议,提供自研客户端并支持第三方客户端订阅导入,入门年付折合约 7.5 元/月(59GB),月付 17 元起(110GB)。
- 年付折合
- ¥7.5/月
- 每月流量
- 最高 500GB
飞猫云是 2023 年开始运营的机场品牌,品牌资料重点突出 IEPL 专线与低价小流量年付套餐,入门年付折合约 7 元/月(50GB),提供自研客户端与多地区节点覆盖。
- 年付折合
- ¥7/月
- 每月流量
- 最高 500GB