跳到主要内容

首页 / 博客 / 功能详解

系统代理和 TUN 模式怎么选?六个真实场景逐个对照

系统代理和 TUN 模式怎么选?六个真实场景逐个对照

上一篇讲了 TUN 的原理,这篇只回答一个问题:你的具体情况下,该开哪个。

先把结论表放在最前面。

你要做的事系统代理TUN备注
浏览网页、看 YouTube✅ 开❌ 不用最省事、最省资源
Steam / 战网下载✅ 开游戏平台不读系统代理
git clone / npm install✅ 开可选也能用环境变量代替
Netflix / Disney+✅ 开❌ 不用浏览器和客户端都跟随系统代理
联机对战游戏✅ 开需要 UDP,且节点要够好
公司配发的电脑✅ 开⚠️ 慎开虚拟网卡易与终端管控冲突

下面逐个说清楚为什么。

场景一:日常浏览网页

只开系统代理就够了。

浏览器(Chrome、Edge、Firefox)默认跟随系统代理设置,开一个开关全都覆盖。TUN 在这个场景下不提供任何额外收益,反而多占 CPU、多一层 DNS 处理。

日常上网的最简配置系统代理 开TUN 关规则模式选一个延迟低的节点
这套配置能覆盖 80% 的日常使用

场景二:Steam / 战网 / Epic 下载慢

必须开 TUN。

游戏平台的下载器基本都直接走 socket,完全无视系统代理设置。你会看到一个典型现象:浏览器能打开 Steam 商店页面(走了代理),但下载速度只有几十 KB(下载器没走代理,还在挤原本的国际出口)。

场景三:命令行工具卡住

git clone 卡在 0%、npm install 一直转、docker pull 超时——这些工具都不读系统代理。

有两条路:

路线 A:开 TUN,一劳永逸,所有命令行工具自动生效。

路线 B:设环境变量,更轻量,不用装虚拟网卡:

# PowerShell(当前会话有效)
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"

# Git 单独配置(永久)
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897

# npm
npm config set proxy http://127.0.0.1:7897
npm config set https-proxy http://127.0.0.1:7897

Docker 比较特殊:容器内的 127.0.0.1 指向容器自己,不是宿主机。需要用 host.docker.internal 或者直接开 TUN。开 TUN 是最省事的做法。

场景四:流媒体(Netflix / Disney+ / HBO)

开系统代理即可,TUN 不需要。

网页端和桌面客户端都跟随系统代理。真正影响解锁的不是 TUN,而是:

流媒体能不能解锁,取决于这三件事1节点是不是原生 IP机房 IP 常被识别为代理,家宽2DNS 有没有泄漏系统用了国内 DNS 会暴露真实地区3规则有没有把流媒体域名分对建议单独建一个流媒体策略组
TUN 对这三件事都没有帮助

场景五:联机对战游戏

开 TUN,但要有心理预期。

游戏需要 UDP,系统代理不处理 UDP,所以只能靠 TUN。但注意:

  • 节点必须支持 UDP 转发(很多低价节点不支持或做了限制)
  • 多绕一跳必然增加延迟,除非你的节点是 IPLC/IEPL 专线
  • 部分游戏的反作弊会对虚拟网卡有反应
游戏场景的配置检查TUN 模式已开启,stack 选 mixed 或 gvisor节点支持 UDP(在节点信息里能看到 udp: true)把游戏域名测一下丢包率,比测延迟更重要如果延迟反而变高 —— 说明这条线路不适合游戏,换节点或放弃

场景六:公司配发的电脑

慎开 TUN。

企业电脑上通常装了终端安全软件(EDR)、VPN 客户端、或者域策略。TUN 会创建虚拟网卡并改路由表,容易出现三类问题:

  1. 与公司 VPN 抢路由,导致内网访问不了
  2. 被 EDR 判定为可疑网络行为并上报
  3. 域策略强制的代理设置与 Clash Verge 冲突

如果确实需要用,建议:

  • 只开系统代理,不开 TUN
  • 在规则里把公司内网域名和 IP 段明确设为 DIRECT
  • 先跟 IT 部门确认是否允许

三种组合的实际表现

三种配置的资源占用(同一台机器,空闲状态参考值)都不开内存 ~80 MB仅系统代理内存 ~110 MB系统代理 + TUN内存 ~180 MB数值为同机对比的相对参考,实际因版本、配置规模、连接数而异

差距不大,现代电脑基本无感。真正的差别在行为复杂度上:TUN 开着的时候,一旦出网络问题,需要排查的层次会多一层。

一个折中方案:只开 TUN,关掉系统代理

如果你既要游戏又要浏览器,可以试试这个组合:

  • TUN 开
  • 系统代理关

好处是所有流量走同一条路径,行为统一,排查简单。副作用是某些明确写死「读系统代理」的软件可能表现不同,另外浏览器插件里的代理设置可能会绕过 TUN(比如 SwitchyOmega)。

小结

一句话决策只上网系统代理要下游戏加 TUN命令行环境变量或 TUN公司电脑只用系统代理

不确定的时候,从系统代理开始,缺什么补什么,比一上来就全开要好排查得多。

延伸阅读:TUN 模式原理详解局域网共享代理