在众多新手阅读科普知识或使用各类代理客户端时,最经常被老手建议的一句话就是:“把系统代理关掉,直接开启 TUN 模式!”
究竟什么是 TUN 模式?为什么有些软件(如 Chrome 浏览器)开启系统代理就能正常访问,而终端命令行、Git、Docker、游戏或某些客户端应用却依然频频报错连接超时?本文将深入网络协议栈,拆解两者的本质差异。
一、系统代理(System Proxy):脆弱的“君子协议”
1. 系统代理的工作机制
当你在 Clash、v2rayN 或其他客户端中勾选“系统代理”时,客户端所做的仅仅是调用系统底层 API,在 Windows 注册表或 macOS 系统偏好设置中写入一条代理服务器地址(例如 127.0.0.1:7890)。
这本质上是一条公开的建议。
[系统代理机制]
客户端设置系统代理 (127.0.0.1:7890)
├── 浏览器 (Chrome/Edge): 主动遵循系统设置 → 走代理 ✅
├── 终端 (CMD / PowerShell): 默认无视设置 → 走直连 ❌
├── Git / Docker / Python: 默认无视设置 → 走直连 ❌
└── 游戏客户端 (Steam / Riot): 默认无视设置 → 走直连 ❌
2. 为什么命令行与游戏总是无视系统代理?
- 应用层不识别:许多底层程序为了保证安全与性能,设计时直接绕过系统的网络设置框架,通过 Socket API 直接向网卡发起原始连接。
- UDP 协议盲区:绝大多数系统代理仅支持 HTTP/HTTPS 与基础 SOCKS5 握手,而在线游戏、Discord 语音或某些实时工具高度依赖 UDP 协议,这些协议无法被简单的 HTTP 系统代理转发。
二、TUN 虚拟网卡模式:强制接管全系统网络流量
1. TUN 的全称与底层层级
TUN(Network TUNnel)是一种在操作系统内核层面模拟的点对点虚拟网络接口(Virtual Network Interface)。它位于 OSI 模型的第三层(网络层 / IP 层)。
与传统的应用层代理不同,TUN 模式直接在你的电脑上安装了一张“隐形网卡”。
[TUN 模式流量走向]
应用程序发起网络请求(无论是浏览器、Git、游戏还是后台系统服务)
↓ (所有流量)
操作系统网络栈
↓ (默认路由指向)
TUN 虚拟网卡 (Clash Mihomo / Sing-box 内核)
↓ (内核内部高效匹配分流规则)
├── [规则命中: 国内流量/CN] → 直连通过本地物理网卡发出
└── [规则命中: 境外流量/GFW] → 封装加密发往境外机场节点
2. TUN 模式的核心优势
- 全程序免配加速:无论是
npm install、pip install、docker pull还是git clone,无需手动在终端export http_proxy,直接秒级下载。 - 完整支持 UDP 数据包:游戏连接、网络对战、语音通话等基于 UDP 传输的协议可以顺畅加速,不再出现游戏掉线。
- 彻底根除 DNS 与 WebRTC 泄露:操作系统产生的每一个 DNS 数据包均被虚拟网卡强行劫持,并定向到远端加密服务器解析,杜绝被本地运营商监视。
三、系统代理 vs TUN 模式 全方位参数对比表
| 对比维度 | 系统代理 (System Proxy) | TUN 模式 (TUN Mode) |
|---|---|---|
| 工作层级 | 应用层(HTTP/SOCKS5) | 网络层(IP 层虚拟网卡) |
| 浏览器翻墙 | ✅ 支持 | ✅ 完美支持 |
| Git / 命令行加速 | ❌ 需手动配置环境变量 | ✅ 零配置自动全加速 |
| Docker 镜像拉取 | ❌ 需修改 daemon.json | ✅ 零配置自动全加速 |
| 在线联机游戏 | ❌ 不支持 UDP 转发 | ✅ 支持低延迟 UDP 游戏加速 |
| DNS 泄露防护 | ⚠️ 易受本地 DNS 污染影响 | ✅ 100% 远程加密防泄露 |
| 权限要求 | 普通用户权限即可运行 | 需管理员(Root / Admin)权限 |
| 系统资源开销 | 极低(仅内存占用) | 低(轻微内核路由处理) |
四、如何开启与正确使用 TUN 模式?
以当前主流的 Clash Verge Rev 为例:
- 以管理员身份启动:右键点击客户端图标,选择“以管理员身份运行”(虚拟网卡驱动需要系统内核驱动权限);
- 进入设置开启 Service 模式:在设置(Settings)中安装并启动
Clash 内核服务(Service Mode); - 打开 TUN 模式开关:在常规主面板中将
TUN 模式切换为开启状态; - 关闭系统代理:既然 TUN 已经从网卡层接管了所有流量,建议关闭原有的“系统代理”开关,避免双重拦截产生冗余冲突。
一旦完成上述设置,你的设备便拥有了真正意义上的“透明网络环境”,无论是日常刷剧、技术开发还是畅玩海外服网游,都能获得极速无感的原生体验。