
系统代理和 TUN 这两个开关,新手常常按「哪个更强就开哪个」来选,结果要么是开了却仍有应用不走代理,要么是全都接管之后本地设备访问反而出了问题。它们其实回答的是不同的问题:系统代理靠操作系统的设置转交流量,TUN 则用一块虚拟网卡从更底层接管。
这篇先说清两者各自的作用与适用场景,再补上官方文档之外的部分:怎么判断你的场景需要哪一个,以及切换时容易踩的坑。
需要提前说明的是,这两个开关都不涉及「哪个更快」。它们决定的是流量从哪一层被交给客户端,而不是交给客户端之后跑得怎么样——后者取决于线路本身。把这一点分清楚,能省掉很多在错误方向上的折腾。
一、系统代理与 TUN 的区别
据官方说明,系统代理的作用是修改操作系统的代理设置,让遵循系统代理的程序把流量交给客户端处理;而 TUN 模式通过一块虚拟网卡来接管流量,从而覆盖那些不支持系统代理的程序。两者的出发点不同,适用的场景也不同。
| 模式 | 官方描述的作用 | 典型适用场景 |
|---|---|---|
| 系统代理 | 修改操作系统的代理设置 | 浏览器等遵循系统代理设置的程序 |
| TUN 模式 | 使用虚拟网卡接管流量 | 不读取系统代理设置的程序 |
这张表只归纳官方对两种模式“作用”的描述,不涉及任何速度或稳定性的比较。
二、什么时候该开系统代理
如果你要处理的主要是浏览器这类会读取系统代理设置的程序,先尝试系统代理通常是更直接的一步:它按官方说明修改 OS 的代理设置,随后遵循该设置的程序会把流量交给客户端。开启后建议先用一个你有权访问的目标做基本确认,观察行为是否符合预期。
需要留意的是,是否所有程序都遵循系统代理,取决于程序自身实现——有的程序会忽略系统代理设置。这也正是 TUN 模式存在的原因。
三、什么时候需要 TUN 模式
当某些程序不读取系统代理设置时,仅靠系统代理可能覆盖不到它们。按官方说明,TUN 模式通过虚拟网卡接管流量,因此可以覆盖这类不支持系统代理的程序。是否需要开启 TUN,取决于你要处理的程序是否属于这一类。
TUN 涉及虚拟网卡,属于对系统网络更“底层”的接管方式,开启时可能需要相应的系统权限。本文仅转述官方对其作用的说明,不评估其性能,也不建议在不了解影响的情况下长期默认开启。
四、选择清单
- 先判断你要处理的程序是否遵循系统代理设置。
- 浏览器等遵循系统代理的程序,优先尝试系统代理。
- 遇到不读取系统代理的程序,再考虑 TUN 模式。
- 开启任一模式后,用你有权访问的目标做基本确认。
- 不把本文当作性能或“成功率”结论,实际行为以你的环境为准。
五、用一个问题判断该开哪个
问题很简单:你要处理的那个程序,会不会读取系统的代理设置?浏览器几乎都会,因此系统代理通常够用;而不少命令行工具、游戏客户端、部分桌面应用不读取系统代理,这时才轮到 TUN。
- 先只开系统代理,用目标程序验证一次。
- 如果目标程序仍然直连,再考虑 TUN。
- 开启 TUN 后,重新确认本地网络中的设备(打印机、NAS、路由器管理页)是否仍可访问。
- 如果本地访问受影响,用规则或分流把本地网段排除在隧道之外。
- 确认无误后再固定为日常配置,不要在没验证的情况下长期默认开启。
六、切换时最容易踩的三个坑
第一个是权限:TUN 涉及虚拟网卡,通常需要更高的系统权限,被安全软件拦截时表现为「开启了但没生效」。第二个是两者同时开启后的行为不易判断——排查阶段建议一次只开一个。第三个是关闭客户端后系统代理设置没有被正确还原,导致整机上不了网;遇到这种情况,先到系统的网络设置里手动关闭代理即可。
需要在路由器层面统一处理全屋设备的读者,方向和这里不同,可以先看OpenWrt 安装前要核对的版本与软件源。
七、把选择固定下来
验证完之后,最好把结论固定成一个默认配置,而不是每次凭记忆去开关。多数人的实际使用场景其实很稳定:日常浏览用系统代理,某个特定程序需要时才切 TUN——那就把这个组合当作默认,只在遇到那个特定程序时才改。
需要注意的是,这个默认可能会被系统更新、客户端升级或安全软件重置。因此值得每隔一段时间确认一次当前的接管方式是不是你以为的那个,尤其是在系统大版本更新之后。
如果你在多台设备上使用,也不必强求各台一致。台式机长期在同一个网络里,和一台经常换 Wi-Fi 的笔记本,合适的默认本来就不同——按设备的实际用法各自设定,比统一配置更省心。
八、常见问题
开了 TUN 之后打印机 / NAS 访问不了?
本地网段被一并接管了。把本地地址段排除在隧道之外即可,具体做法以你所用配置的规则为准。
关掉客户端后整机断网?
多数是系统代理设置没还原。到系统网络设置里手动关闭代理开关,再重启客户端确认行为是否正常。
手机热点下表现不同,正常吗?
正常。移动网络与固定宽带的路径、延迟和稳定性都不同,同一条线路在两者上的表现有差异属于预期之内,不必据此判断线路好坏。
虚拟机、远程桌面里该怎么设?
先想清楚你要接管的是宿主机还是虚拟机内部的流量,两者是独立的网络栈。在宿主机上接管不会自动覆盖虚拟机内部,反之亦然。
两个都开会更保险吗?
不会,只会让问题更难定位。排查时一次只开一个,确定方案后再固定下来。