client/desktop · 集群 B · 桌面进阶配置 · 3/6

系统代理与 TUN 模式怎么选:覆盖范围、兼容性与使用场景对比

发布时间 待核实核实日期 待核实最近更新 待核实测试状态 Not Tested
Answer First · 核心结论

系统代理只影响主动读取代理设置的应用,轻量、权限需求低,适合以浏览器为主的用户;TUN 模式在网络层接管系统流量,能覆盖命令行、游戏和 UDP,但需要较高权限,冲突时影响面也更大。如果你只用浏览器,可以优先使用系统代理;如果需要接管更多软件或 UDP,更适合开启 TUN。

两种模式的本质区别

系统代理和 TUN 的本质区别在于接管的层级:系统代理是在应用层“请应用自愿走代理”,TUN 是在网络层“让系统流量强制经过客户端”。

系统代理模式:
[浏览器] ─读取代理设置─▶ [客户端代理端口] ─▶ 内核 ─▶ 出口
[终端]   ─不读设置────────────────────────────────▶ 直接出去
[游戏]   ─不读设置────────────────────────────────▶ 直接出去

TUN 模式:
[浏览器] ─┐
[终端]   ─┼─▶ 系统路由 ─▶ [TUN 虚拟网卡] ─▶ 内核 ─▶ 出口
[游戏]   ─┘

这就是为什么很多用户会遇到“浏览器能用,某个软件不行”——不是软件坏了,而是它压根没有走系统代理。虚拟网卡的底层原理见 TUN 虚拟网卡原理。

全面对比

对比维度 系统代理 TUN 模式
接管层级 应用层 网络层
覆盖范围 读取代理设置的应用 绝大部分系统流量
UDP 支持 通常不支持 支持
命令行工具 多数需单独配置 通常自动覆盖
DNS 处理 部分应用自行解析 可统一由内核处理
权限需求 普通用户 管理员 / 服务 / 网络扩展
对系统的改动 修改代理设置 创建虚拟网卡,修改路由与 DNS
与其他 VPN 冲突 较少 较多
故障影响面 代理失效时部分应用受影响 配置异常时可能整机断网
退出后残留 系统代理设置可能残留 路由一般随客户端退出恢复

从表中可以看出,两种模式不是“谁更好”的关系,而是覆盖面与侵入性之间的取舍。

系统代理的优势与局限

系统代理的优势是简单、轻量、侵入性低。它只是修改了一项系统设置,不需要特殊权限,出问题时影响范围也有限——最坏情况下只是浏览器打不开,其他不走代理的程序照常工作。

它的局限也很明确:

  • 不读取代理设置的程序完全不受控制;
  • UDP 流量基本无法处理;
  • 部分应用自行做 DNS 解析,可能导致泄漏或分流不准确;
  • 客户端异常退出后,系统代理设置可能残留,导致“上不了网”。

残留问题的处理见 Windows 安装代理客户端注意事项 中的相关章节;macOS 上的处理见 macOS 代理客户端权限设置。

TUN 模式的优势与代价

TUN 的优势是覆盖全面、行为统一:命令行、游戏、各类桌面软件都能被接管,UDP 也能处理,DNS 可以由内核统一管理,分流结果更一致。

它的代价包括:

  • 需要较高权限,首次配置步骤较多;
  • 与其他 VPN、加速器、虚拟机网络等更容易冲突;
  • 配置不当时可能导致整机断网或局域网不可达;
  • 排障时涉及的层级更多。

TUN 的开启步骤与常见报错见 桌面端 TUN 模式开启指南。

按场景选择

下面按常见使用场景给出条件化建议,仅供参考:

你的主要使用场景是?
 │
 ├─ 只用浏览器看网页、查资料
 │    └─▶ 系统代理通常足够
 │
 ├─ 浏览器 + 偶尔用终端(包管理器、版本控制)
 │    ├─ 愿意为终端单独设置代理变量 → 系统代理
 │    └─ 希望一劳永逸               → TUN
 │
 ├─ 需要语音通话、游戏等 UDP 应用
 │    └─▶ 更适合 TUN(还需节点与协议支持 UDP)
 │
 ├─ 某个桌面软件不读系统代理
 │    └─▶ TUN
 │
 └─ 电脑同时运行公司 VPN 或虚拟机
      └─▶ 优先系统代理,避免路由冲突;确需 TUN 时先了解对方路由策略

UDP 在代理中的特殊性见 TCP 与 UDP 在代理场景中的差异。

同时开启时会发生什么

两者可以同时开启。此时的行为通常是:

  • 读取系统代理设置的应用(如浏览器),连接会先到客户端的代理端口,再由内核处理;
  • 不读取系统代理的应用,流量经系统路由进入 TUN,再由内核处理;
  • 两条路径最终汇入同一个内核,使用同一套规则。

对日常使用来说,同时开启一般没有问题。但在排障时,建议先只开一种,确认正常后再叠加,这样能清楚知道问题来自哪条路径。分层排障的思路见 分层排障法。

终端走代理的两种方式

终端不走代理是开发者最常遇到的问题,有两种解决思路:

方式 做法 优点 缺点
设置环境变量 在终端中设置 HTTP/HTTPS 代理变量指向客户端端口 不需要 TUN,影响范围可控 每个终端会话或配置文件中都要设置,部分工具不读变量
开启 TUN 系统层面接管 所有工具自动生效 需要权限,可能与其他网络工具冲突

环境变量的具体写法因终端和工具而异,请参考相应工具的文档。客户端的代理端口可以在设置页面查看。

从系统代理切换到 TUN 的建议顺序

如果你目前使用系统代理,打算尝试 TUN,可以按下面的顺序逐步切换,以便出问题时能迅速回退:

  1. 在系统代理模式下确认订阅、节点和规则都正常工作;
  2. 退出其他 VPN、加速器等可能创建虚拟网卡的工具;
  3. 按客户端要求完成权限准备,然后开启 TUN,暂时保留系统代理;
  4. 用终端或原本不走代理的软件测试,并在连接面板中确认能看到这些连接;
  5. 检查局域网设备与境内网站访问是否正常;
  6. 确认一切正常后,再决定是否关闭系统代理。

如果第 4 步之后出现断网,直接关闭 TUN 即可回到原来的状态。这种“先叠加、确认后再精简”的做法,比一次性切换更容易定位问题。

小结

系统代理和 TUN 不是二选一的竞争关系,而是不同覆盖范围的工具。以浏览器为主的用户用系统代理就足够;需要接管更多软件和 UDP 的用户可以开启 TUN;排障时一次只开一种。理解两者的边界,就能根据场景灵活切换。

如果你在比较服务商对 UDP 与客户端的支持资料,可以前往 机场品牌库 查看,或使用 对比工具 并排比较,数据来自品牌资料,本站未实测。

常见问题

系统代理和 TUN 可以同时开吗?

可以。同时开启时,读取系统代理的应用通常仍通过代理端口进入客户端,其余流量由 TUN 接管,最终都由同一个内核按规则处理。但排障时可以先只开一种,便于定位。

只开 TUN 不开系统代理,浏览器还能用吗?

通常可以。TUN 在网络层接管流量,浏览器发出的连接同样会进入虚拟网卡被处理。少数情况下浏览器扩展或自身代理设置可能产生干扰,需要检查。

为什么开了系统代理,终端还是不走代理?

很多命令行工具默认不读取系统代理设置,需要单独设置代理环境变量,或者改用 TUN 模式让系统层面统一接管。

TUN 模式会不会更慢?

TUN 需要在用户态处理更多数据包,理论上有额外开销,但对日常使用的影响通常不明显。本站未实测具体性能差异,实际表现因设备和客户端版本而异。

信息来源与更新时间

信息来源
品牌清单资料(品牌公开信息整理)
测试范围
本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
发布时间
待核实
核实日期
待核实
最近更新
待核实

字段含义与数据状态见 字段说明;核查进度见 品牌动态与核查日志。