直接答案
TUN 模式是代理客户端在系统里创建一块虚拟网卡,把设备的网络流量在网络层“接管”过来,再按规则决定走代理还是直连。它和系统代理的区别在于:系统代理只对愿意读取代理设置的程序生效,而 TUN 模式能覆盖命令行工具、游戏和部分不认代理设置的软件。代价是需要更高的系统权限,配置不当时更容易出现 DNS 或网络冲突。
先分清两个维度
很多人把“TUN 模式”“系统代理”“全局模式”“规则模式”混为一谈,其实它们属于两个不同的问题:
- 流量怎么进入客户端:系统代理,或 TUN 模式。
- 进入客户端之后怎么走:规则模式(按规则分流)、全局模式(全部走代理)、直连模式(全部不走代理)。
所以“TUN + 规则模式”“系统代理 + 全局模式”都是合法组合。弄清楚这一点,大部分“为什么某个软件没走代理”的疑问就有了方向。
系统代理的工作方式
开启系统代理时,客户端在本机监听一个端口,并把操作系统的代理设置指向这个端口。浏览器等遵守系统代理设置的软件会把请求交给客户端处理。
它的局限也很明显:很多程序并不读取系统代理设置,例如部分命令行工具、游戏、某些桌面应用和系统服务。这些程序的流量会绕过客户端直接出去,于是出现“浏览器能用、某个软件不能用”的情况。
TUN 模式的工作方式
TUN 是一种虚拟网络设备。开启 TUN 模式后,客户端会创建虚拟网卡并修改路由表,让设备的 IP 流量先经过这块网卡。客户端从中取出数据包,交给内部的网络栈处理,再按规则转发。因为接管发生在网络层,程序是否支持代理设置已经不重要了。
TUN 模式通常还会接管 DNS 查询,这对防止 DNS 泄露有帮助,但也意味着 DNS 配置出错时会直接导致“什么都打不开”。
在手机上,情况略有不同:安卓和 iOS 上的代理客户端一般通过系统提供的 VPN 接口工作,本质上就是类似 TUN 的方式,所以手机上通常不需要单独找“TUN 开关”。
TUN 模式和 VPN 的区别
从技术形态上看,TUN 模式和很多 VPN 软件一样使用虚拟网卡。区别在于后端:VPN 通常把全部流量送进一条加密隧道,而代理客户端的 TUN 模式会在本地按规则分流,只把需要的流量交给代理节点。
判断标准:什么时候该开 TUN
| 你的情况 | 建议 | 理由 |
|---|---|---|
| 只用浏览器访问网页 | 系统代理即可 | 浏览器遵守系统代理设置,开销更小 |
| 命令行工具、开发工具不走代理 | 考虑开启 TUN | 这些程序常不读取系统代理 |
| 游戏需要走代理或测 NAT 类型 | 开启 TUN | 游戏多数不认系统代理,且需要 UDP |
| 担心 DNS 泄露 | 开启 TUN 并正确配置 DNS | TUN 能接管 DNS 查询 |
| 同时运行公司 VPN 或其他虚拟网卡软件 | 谨慎开启 | 路由和 DNS 可能互相冲突 |
| 笔记本在意续航 | 按需开启 | 全量流量经过客户端处理,可能增加耗电 |
开启 TUN 模式的步骤
- 确认客户端和内核支持:主流桌面客户端大多提供 TUN 开关,具体名称可能是“TUN 模式”“虚拟网卡模式”或“增强模式”。
- 授予权限:Windows 通常需要以管理员身份运行或安装服务组件;macOS 通常需要授权辅助程序或网络扩展。
- 关闭系统代理(可选):开启 TUN 后系统代理不是必需的,两者同时开启一般也不冲突,但排错时建议只留一种。
- 检查 DNS 设置:保持客户端默认的 DNS 接管配置,不熟悉时不要随意修改。
- 验证效果:用原本不走代理的程序测试访问,并用 DNS 泄露检测确认 DNS 查询是否经过代理。
注意事项
- 开了 TUN 上不了网,最常见的原因是与其他 VPN 或安全软件冲突、权限不足或 DNS 配置错误;关闭 TUN 后恢复正常,说明问题在 TUN 设置而不在节点。
- 在规则模式下开启 TUN,国内流量仍会按规则直连;在全局模式下开启 TUN,所有流量都会消耗节点流量。
- 公司或学校管理的设备可能禁止修改网络设置,请遵守设备管理要求和所在地法律法规。
TUN 模式和全局模式是一回事吗?
不是。TUN 模式和系统代理决定“哪些流量进入客户端”,全局、规则、直连模式决定“进入客户端的流量怎么走”,两者可以自由组合。
开了 TUN 模式上不了网怎么办?
先检查是否有其他 VPN 或安全软件冲突、客户端是否获得管理员权限,再检查 DNS 设置;关闭 TUN 能恢复上网,通常说明问题在 TUN 配置而非节点。