TUN 模式与系统代理的区别:为什么开了代理有的软件依然连不上?
为什么浏览器能正常打开海外网站,但命令行终端、Git、特定桌面软件却频繁连接超时?深入解析系统代理与虚拟网卡 TUN 模式的运作机制与实操配置。 正文比较应用读取系统代理设置与虚拟网卡接管流量的范围,说明什么时候需要 TUN、可能涉及的权限和排障步骤,避免误以为开启后所有连接都会自动成功。
≡点击展开目录导航(共 6 个章节)↓
引言:让人困惑的“部分软件连不上”现象#
很多用户在使用跨国网络工具时,常常会遇到以下典型困惑:
- 打开 Chrome 或 Edge 浏览器,访问 Google、YouTube 一切丝滑流畅;
- 但一旦打开命令行执行
git clone,终端却始终停在Connecting to github.com直到报 Connection Timed Out 错误; - 或者打开外服战网、特定桌面客户端、设计工具同步插件时,软件提示无法连接到互联网。
这种“明明开了代理,部分程序却像没联网一样”的现象,其根源就在于系统代理(System Proxy)与虚拟网卡 TUN 模式(TUN Mode)的底层拦截级别差异。
机制一:系统代理(应用层君子协定)#
- 运作机制:
当你在 Clash Verge Rev 等工具中打开「系统代理」开关时,软件实际上只是向 Windows 注册表(或 macOS 网络系统设置)写入了一个本地监听地址(如 127.0.0.1:7897)。
- 局限性:
这种拦截方式属于“君子协定”:
- 只有主动读取系统代理的软件才会受影响:大部分标准 Web 浏览器都会遵守该设置;
- 命令行终端默认忽略系统代理:Windows CMD、PowerShell、Linux Shell 等终端工具默认不读取注册表中的系统代理,必须手动输入
set http_proxy=...环境变量才能生效; - 非 HTTP 协议无法处理:很多走纯 UDP 协议、底层网络套接字的程序或游戏,直接绕过系统代理层直连公网,从而遭遇阻断。
机制二:TUN 模式(网络三层强行接管)#
- 运作机制:
TUN 是操作系统内核级的虚拟网络设备驱动(Network Tunnel):
- 客户端在系统中安装并虚拟出一张名为
Clash或sing-box的全新虚拟网卡; - 软件修改操作系统的全局路由表,将默认网关(
0.0.0.0/0)的流量优先级重定向到该虚拟网卡; - 此时,操作系统内的任何程序、任何进程、无论是 TCP 还是 UDP 数据包,在发送前都必须首先经过这张虚拟网卡;
- 虚拟网卡将收到的原始 IP 数据包交由 Mihomo 核心进行路由规则匹配,符合代理规则的进行二次加密封装后出海,符合直连规则的直接本地释放。
系统代理 vs TUN 模式深度对比表#
| 对比维度 | 系统代理 (System Proxy) | TUN 虚拟网卡模式 (TUN Mode) |
|---|---|---|
| 网络 OSI 拦截层级 | 偏向应用层(依赖软件主动读取) | 网络三层(IP 数据包级强制接管) |
| 对命令行终端支持 | 默认不支持(需手动配置环境变量) | 原生完整支持(所有终端全自动接管) |
| 对 UDP / 游戏流量支持 | 不支持 UDP 代理转发 | 原生支持(支持 UDP 全量转发) |
| 安装与权限要求 | 普通用户权限即可开启 | 首次开启需管理员权限安装驱动 |
| 日常使用推荐 | 仅适合普通网页浏览 | 推荐开发者与有全局代理需求的用户开启 |
如何在客户端中正确配置与开启 TUN 模式?#
以当前主流桌面客户端 Clash Verge Rev 为例:
- 以管理员身份启动:退出后台的 Clash Verge,右键桌面图标选择「以管理员身份运行」;
- 安装核心服务驱动:
- 进入左侧「设置 (Settings)」;
- 找到「服务模式 (Service Mode)」模块,点击右侧的「安装 (Install)」按钮;
- 安装完成后,服务模式指示灯会变成绿色激活状态;
- 开启 TUN 模式主开关:
- 在设置中找到「TUN 模式 (TUN Mode)」;
- 拨动开关开启,系统会在网络适配器列表中自动生成虚拟网卡驱动;
- 验证接管效果:
- 打开 Windows PowerShell 或 Mac Terminal;
- 输入
curl -I https://www.google.com或直接执行git clone; - 终端能够瞬间返回 HTTP 200 或高速拉取仓库代码,即证明全量流量接管成功。
总结#
系统代理是轻量级网页浏览的便捷方案,而 TUN 模式则是解决各类网络死角、构建全局一致性分流环境的终极利器。理解了二者的区别,面对各种网络报错时你就能有的放矢,从容应对。
本篇常见问题答疑 (FAQ)
什么是系统代理(System Proxy)?它有什么局限?↓
TUN 模式为什么能接管全部网络?↓
日常开启 TUN 模式会有额外副作用吗?↓
推荐延伸阅读
相关知识专题Clash Verge Rev 新手完整使用教程:订阅导入、内核切换与 TUN 模式开启
专为桌面端(Windows / macOS / Linux)打造的现代 Clash Verge Rev 图文实操教程,涵盖安装、订阅链接导入、规则分流选择及解决命令行和游戏代理难题的 TUN 虚拟网卡全解。 正文补充官方来源核对、模式选择与 TUN 排障步骤;界面以当前版本为准。
Mihomo 核心功能详解与客户端选型:原 Clash.Meta 的演化与技术全景
深入剖析活跃度最高的开源代理内核 Mihomo(原 Clash.Meta)的技术革新、新协议支持、Rule-Set 规则集与衍生 GUI 客户端选型全攻略。 还会介绍规则集、协议支持与常见图形客户端的关系,帮助读者分清内核和界面程序;具体支持情况请以项目当前文档为准。
什么是“机场”?节点、订阅链接与网络代理通俗科普
为什么大家把商业节点服务商称为机场?订阅链接的本质到底是什么?通俗拆解节点、客户端与分流规则的基本运行逻辑,厘清安全防泄露常识。 还会解释节点、订阅链接和客户端之间的关系,提醒订阅地址可能包含账号凭据,分享或公开前应先核对隐私与服务条款,尤其注意公开链接后的泄露风险。