TUN 模式:什么情况必须开,什么情况别乱开
一句话回答:TUN 模式通过虚拟网卡在网络层接管流量,连命令行和不读系统代理的软件也会被接管,主要在游戏、命令行等系统代理管不到的场景开。它需要管理员权限,开启前先确认国内直连规则和 DNS 设置,否则可能更耗流量或变慢。
两种接管方式的分界线
电脑上让流量走机场,主要有两种方式,它们的覆盖范围不同。
| 方式 | 工作位置 | 谁会受影响 | 权限要求 | 典型问题 |
|---|---|---|---|---|
| 系统代理 | 本机开一个代理端口,告诉系统使用它 | 遵守系统代理的应用,如浏览器 | 普通权限 | 命令行、部分客户端不读取 |
| TUN 模式 | 创建虚拟网卡,在网络层接管流量 | 经过系统网络栈的绝大多数流量 | 管理员权限或服务 | 与其他网卡冲突,DNS 配置错误 |
可以这样理解:系统代理像门口的告示,守规矩的应用会照做,不守规矩的应用可以无视;TUN 则像在出入口统一安检,覆盖更全,但改造更大,出问题时排查也更难。
这里的”覆盖更全”并不等于”更好”。覆盖越全,需要管理的流量就越多,规则不完善时问题会被放大。
先判断你的软件属于哪一类
是否需要 TUN,取决于你具体要让哪些软件走代理。下面这份清单可以帮你逐项判断:
- 只用浏览器:系统代理通常足够。
- 终端命令行(git、curl、npm、pip 等):很多命令行工具不读取系统代理,需要 TUN,或者在终端中单独设置代理环境变量。
- 桌面游戏和启动器:很多游戏不遵守系统代理,但能否走代理还要看节点和协议是否支持,见后文。
- 自带网络层的桌面软件(部分更新器、聊天软件、客户端):可能忽略系统代理。
- 虚拟机、容器、WSL:它们的网络栈相对独立,通常需要在其内部或宿主机层面单独配置。
- 视频会议:部分软件使用 UDP 传输音视频,系统代理不一定覆盖,详见 远程办公教程。
判断方法很简单:先在系统代理模式下让软件走代理,如果它的请求没有出现在客户端的连接列表里,再考虑 TUN。不要因为”听说要开”就默认打开。
开 TUN 模式之前的三道门槛
TUN 会放大网络的复杂度,所以开之前最好先过三道门槛。
门槛一:节点在系统代理下能用。 先保证节点能通、网页能打开。如果连这一步都不通,开 TUN 只会让排错变难。订阅导入可参考 Clash 订阅导入。
门槛二:权限允许。 公司电脑、学校电脑往往限制网卡和服务的安装。受限设备无法开启时,应当遵守管理规定,而不是尝试绕过。
门槛三:规则已经调好。 这是最容易被忽略的一条。TUN 之后,原本不走代理的软件都会经过规则判断。如果国内直连规则不完整,大量国内流量会计入机场额度。规则的检查方法见 分流规则教程。
TUN 模式分步开启:以 Clash 系客户端为例
不同客户端、不同版本的界面名称略有差异,下面是通用流程。客户端的具体位置可以对照 Clash Verge Rev、FlClash 或 sing-box 的说明。
第一步:授予权限。
- Windows:以管理员身份运行客户端,或安装客户端提供的服务模式。安装服务时系统会弹出确认。
- macOS:首次开启时通常会要求输入系统密码,并可能需要在系统设置的隐私与安全性相关页面里允许相关组件。
- Linux:通常需要为内核核心程序授予网络相关权限,或以管理员身份运行。
第二步:确认模式与开关。 把模式切到规则,然后在设置中打开 TUN 模式或虚拟网卡模式。
第三步:确认 DNS。 开启客户端自带的 DNS 设置,或 fake-ip、redir-host 等增强模式。具体选项名称以客户端为准。
第四步:其他选项先保持默认。 “自动路由""严格路由”等选项对新手影响大,先保持默认,确认稳定后再逐项调整。
验证清单:证明它真的在工作
开启之后,不要只看开关是否亮着,而要逐项验证:
| 检查项 | 怎么做 | 通过的表现 |
|---|---|---|
| 国内网站 | 浏览器打开一个国内站点 | 速度正常,出口为直连 |
| 海外网站 | 打开一个需要代理的站点 | 能正常打开,出口为代理分组 |
| 命令行 | 在终端执行一次拉取或请求 | 请求出现在连接列表,出口符合规则 |
| 其他软件 | 打开一个之前不走代理的软件 | 它的域名出现在连接列表中 |
第三项最关键。如果终端的请求没有出现在连接列表,说明 TUN 没有真正接管它,多半是权限或服务状态的问题,先回到第一步检查。
DNS 与 fake-ip:最容易踩的坑
TUN 模式的问题,相当一部分来自 DNS。应用发起请求前,先要把域名解析成 IP。如果解析走错了出口,可能得到被污染的结果,或者国内站点被解析到海外的 CDN 节点,表现为”国内网站突然变慢”。
客户端的 fake-ip 增强模式会在本地快速返回一个假地址,真正的解析交给节点完成。它能解决大部分问题,但个别软件对 fake-ip 不兼容,表现为连接异常或报错。如果遇到这类情况,可以尝试切换到 redir-host 等模式,逐个测试,不要一次全改。
排错时遵循一个原则:一次只改一个设置。改一项,测一次,记录结果。如果同时改了三处再出问题,你就无法判断是哪一处造成的。
延迟、UDP 与游戏
很多人开 TUN 是为了玩游戏。需要先说清楚:机场不是游戏加速器。 机场节点的路由、协议和 UDP 转发策略,并非为游戏设计。部分机场对 UDP 的支持有限,官网未写清的,下单前在套餐页或工单确认。
如果你要测试游戏是否适合走代理,建议这样做:
- 先在不开代理的情况下进入游戏,记录延迟和丢包的大致表现。
- 开 TUN 后再次进入,用 延迟与丢包检测 的方法对比两次结果。
- 如果丢包或延迟明显上升,回到系统代理,或者只对必要的软件开启代理。
线路类型对延迟影响很大。专线(如 Firefly 的 IPLC 档位)通常比中转更稳定,但价格也更高,是否值得取决于你的需求。
TUN 模式排错:从现象倒推原因
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 开启时提示权限不足 | 未以管理员运行,或服务未安装 | 安装服务模式,或以管理员重启客户端 |
| 开启后完全断网 | 虚拟网卡冲突,或 DNS 设置错误 | 关闭 TUN,检查是否有其他 VPN,重置 DNS 设置 |
| 国内网站变慢 | 国内流量走了节点 | 检查国内直连规则,确认规则集已更新 |
| 国内应用提示环境异常 | 请求经过海外出口 | 为该应用的域名加直连规则 |
| 局域网设备不可访问 | 局域网地址未直连 | 添加局域网直连规则 |
| 频繁掉线 | 节点不稳定,或与系统休眠冲突 | 换节点,见 频繁掉线 |
| 关闭 TUN 后仍无法上网 | 路由表残留 | 完全退出客户端后重启,必要时重启电脑 |
| 与其他软件冲突 | 同时运行多个代理或加速器 | 一次只运行一个 |
关闭与切换的正确顺序
别直接杀进程。正确做法是先在客户端里关闭 TUN 开关,等虚拟网卡被清理,再退出客户端。如果用强制结束的方式退出,路由表可能残留,导致下次开机后出现”没有网络”的现象。遇到这种情况,先重启客户端,再正常关闭一次,通常可以恢复。
切换不同客户端时同样如此:先关 TUN,退出旧客户端,确认网络恢复,再打开新客户端。不要让两个客户端同时开启 TUN。
手机与路由器上的差异
手机端的情况相对简单。iOS 和安卓客户端通常以 VPN 方式接管系统流量,本身就属于”全局接管”的形态,不需要像电脑那样额外切换 TUN。但手机上同样要看规则模式是否正确,否则国内应用依然会走错出口。
路由器或软路由上部署则是另一回事。它同时接管整个局域网的流量,所以规则的影响面更大,任何一条误判都会波及家里所有设备。在路由器上部署之前,建议先在一台电脑上把规则跑稳定,再统一迁移,并确认你使用的客户端是否支持该部署方式。官网未写清的,下单前在套餐页或工单确认。
长期使用的取舍
TUN 是一个按需使用的工具,不是默认选项。多数用户的日常流程应该是:系统代理加规则模式,遇到具体软件不走代理,再开 TUN;开了之后立刻检查连接列表,确认国内流量仍然直连。这样既不浪费流量,也不会被不必要的网卡冲突打乱日常使用。
常见问题
TUN 模式和系统代理有什么区别?
系统代理只对遵守系统代理设置的软件有效,TUN 则是在虚拟网卡层接管全部流量,连命令行和不认代理的软件也会被接管。代价是需要更高权限,并且配置更复杂。
开 TUN 模式会更耗流量吗?
如果规则配置正确,不会明显增加。但原本没走代理的软件现在被接管,若没有国内直连规则,可能让更多流量走机场,所以开 TUN 前要先确认规则。
开启 TUN 后网速变慢怎么办?
先检查是否开了全局模式、DNS 设置是否正确、有没有同时运行其他代理软件。TUN 本身有一些性能开销,但通常不明显,更多是配置问题。
手机上需要单独开 TUN 吗?
手机的 VPN 方式本身就是接管系统流量,iOS 和安卓客户端大多默认就是这种工作方式,不需要像电脑那样额外切换。
开了 TUN 后国内应用异常怎么办?
多半是国内应用被分到了海外节点,被判定为异常 IP。给该应用的域名添加直连规则,或确认国内规则集已更新。
还没选好机场?本站推荐的 3 家
从 机场推荐榜 推荐位取前 3 家,本站主推的合作品牌排在前面(已标注合作);价格以官网为准。