Windows 系统代理与 TUN 模式有什么区别
系统代理是在 Windows 代理设置里写入本地地址,只有主动读取该设置的程序才会走代理;TUN 模式创建虚拟网卡,在网络层接管几乎全部流量,包括 UDP。前者影响面小,后者覆盖全但需管理员权限、更易冲突。
区别只在一句话:谁来决定“要不要走代理”
系统代理模式下,是否走代理由每个程序自己决定:客户端只是在 Windows 的代理设置里写入一个本地地址,读取这个设置的程序才会把请求交给客户端。TUN 模式下,由客户端决定:它创建一块虚拟网卡并修改路由,让几乎所有 IP 流量先经过内核,再按规则分配去向。因此,系统代理影响面小、几乎无需权限;TUN 覆盖面全、支持 UDP,但需要管理员权限,也更容易与其他网络软件冲突。
本文只解释客户端侧的两种接管方式。两种模式对速度的影响、以及网络本身的质量因素,属于网络专题的范围,见 晚高峰与网络质量影响因素。桌面端其他设置问题,可以回到 桌面端客户端专题页 查找。
系统代理是怎么工作的
写入的到底是什么
打开系统代理时,客户端会把“使用代理服务器”的地址设置为本机地址加客户端的本地端口,同时写入一份不走代理的例外列表,通常包括本地地址和内网地址段。你可以在 Windows 的“设置 → 网络和 Internet → 代理”里看到这项设置被改动。关闭系统代理,就是把这项设置撤销。
哪些程序会读取
- 主流浏览器在默认设置下会读取系统代理;
- 很多使用系统网络组件的桌面软件会读取;
- 命令行工具通常读取环境变量而非系统代理;
- 游戏、语音软件、部分自带网络栈的程序往往完全忽略它;
- 一些从应用商店安装的应用受系统隔离机制限制,即使读取设置也可能无法连接本机端口。
它的天然局限
系统代理传递的主要是 HTTP 与 HTTPS 请求,对 UDP 流量基本无能为力。语音通话、部分游戏、使用 QUIC 的应用,在系统代理模式下要么直连,要么失败。
TUN 模式是怎么工作的
虚拟网卡与路由
开启 TUN 时,客户端借助驱动创建一块虚拟网卡,并把默认路由指向它。此后,操作系统发出的 IP 数据包会先进入这块网卡,由内核接收、还原出连接,再按规则决定直连、代理还是拒绝。对程序来说,它并不知道有代理存在,所以不需要任何配置。
DNS 也被接管
为了按域名分流,TUN 模式通常会同时接管系统的 DNS 查询。常见做法是先返回一个内部虚拟地址,连接发生时再由内核解析真实地址。这种方式的取舍属于分流专题,见 代理客户端的 DNS 设置。
为什么需要管理员权限
创建网卡、修改路由表都属于系统级操作。Clash 系客户端在 Windows 上通常通过安装一个后台服务来获得权限,v2rayN 则常需要以管理员身份运行。这也是为什么安装包来源必须可信。
对照表:两种模式在 Windows 上的差异
| 比较项 | 系统代理 | TUN 模式 |
|---|---|---|
| 接管层级 | 应用层,靠程序自愿读取 | 网络层,按路由接管 |
| 覆盖范围 | 读取系统代理的程序 | 几乎全部程序 |
| UDP | 基本不支持 | 支持(取决于节点与协议) |
| 权限要求 | 普通用户即可 | 需管理员权限或后台服务 |
| 与其他 VPN 的关系 | 冲突较少 | 容易冲突 |
| 后台流量 | 多数不经过 | 可能被计入 |
| 关闭后的残留 | 可能残留代理设置 | 可能残留路由或网卡 |
| 按进程分流 | 通常做不到 | 部分内核支持 |
什么时候用哪一种
你需要代理的是什么?
├─ 只有浏览器 → 系统代理
├─ 还有命令行、开发工具
│ ├─ 只是少数几个工具 → 系统代理 + 在工具里单独设置
│ └─ 工具很多、不想逐个配置 → TUN
├─ 游戏、语音、需要 UDP 的软件 → TUN
└─ 电脑上还装着公司 VPN 或其他虚拟网卡
→ 优先系统代理;必须用 TUN 时先确认两者不冲突
开发场景的细节较多,单独整理在 终端与开发工具不走代理怎么办。
切换时容易踩的坑
两种同时开
TUN 打开后再开系统代理,浏览器会先把请求交给本地端口,客户端再处理,大多数情况下能用,但多绕一圈,排查时也难以分清问题出在哪一层。建议一次只开一个。
关闭后上不了网
系统代理模式下客户端异常退出,代理设置可能残留,表现为国内网站也打不开;TUN 模式下异常退出,可能残留路由或网卡。前者到代理设置里关闭手动代理即可,后者重启客户端再正常关闭,通常可以恢复。详细排查见 关闭代理后国内网站打不开 与 开启 TUN 模式后断网的排查。
流量比预期多
TUN 会把系统更新、网盘同步等后台流量一并接管。如果规则把它们判为走代理,套餐流量会明显加快消耗。可以让这类服务的域名直连,或者只在需要时开启 TUN。
用一个小实验确认当前生效的模式
不确定此刻到底是哪种模式在工作时,可以做一个简单对照:在浏览器里访问一个海外网站,再在命令提示符里对同一个网站发起一次请求。只有浏览器成功而命令行超时,说明当前只有系统代理在起作用;两者都成功,且你没有为命令行单独设置环境变量,说明 TUN 已在接管。同时打开客户端的连接页面,观察两次请求是否都出现在列表里,就能确认流量是否真的经过了内核。这个实验不需要任何额外工具,也适合在切换模式后做快速复核。
小结与提醒
日常浏览选系统代理,需要覆盖全部程序或 UDP 时选 TUN,这是最省事的判断方式。无论哪种模式,都请从官方渠道获取客户端,并遵守所在地法律法规与相关平台服务条款。
常见问题
系统代理和 TUN 模式需要同时打开吗?
一般不需要。TUN 已经在网络层接管了流量,再开系统代理只是让浏览器多走一次本地端口,通常没有额外收益。日常只开其中一个即可,排查问题时也更容易判断是哪一层出了状况。
为什么开了系统代理,游戏和命令行工具还是不走代理?
系统代理只是 Windows 里的一项设置,程序可以选择读取或忽略。多数浏览器会读取,而命令行工具、游戏和不少独立软件不会读取。这类程序需要 TUN 模式,或在程序内单独配置代理。
开启 TUN 模式会多消耗流量吗?
可能会。TUN 接管的是整台电脑的流量,系统更新、云同步、后台下载等原本不经过系统代理的流量,只要规则判定为走代理,都会计入机场流量。可以通过规则让这些服务直连来控制消耗。
来源与更新
品牌字段来自本站品牌数据文件(整理自 2026-09-04 品牌清单,Vendor Data,官网待核实);测速截图为 2026-10-18 复核后发布的单次 Measured Data;AI 与流媒体均为 Not Tested。发布 2026-10-18,最近更新 2026-10-18。本页不承诺任何平台的收录、排名或引用。