📚 本文是 科学上网完全指南(2026最新版) 系列教程之一。想系统了解 VPN、Clash 机场、VPS 三大方案与全平台配置,欢迎访问总览页。
Clash TUN 模式是什么?怎么开启?(2026 完整指南)
Clash TUN 模式是通过创建虚拟网卡接管系统全部流量的工作模式。命令行工具(git/npm/curl)、Docker 容器、游戏客户端这些不读取系统代理设置的应用,开了 TUN 之后也能按 Clash 规则走代理。说白了:系统代理只管浏览器,TUN 管所有。
📚 本文是 Clash 完全教程(2026) 的支撑文章,聚焦 TUN 模式一个点讲透。想系统了解 Clash 客户端、订阅导入、规则分流,先看总览页。
一、为什么需要 TUN 模式?
多数人第一次遇到这个场景:浏览器能正常打开 Google,但命令行里 git clone、npm install、curl 还是连不上,或者 Docker 拉镜像超时、游戏更新失败。
原因很简单:这些应用不读取系统代理设置。
- 系统代理(System Proxy):浏览器等”懂礼貌”的应用会读取系统代理,把流量交给 Clash。
- 命令行 / Docker / 游戏 / 部分软件:直接发原始网络请求,根本不管系统代理设置,于是流量直连,被墙。
TUN 模式解决的就是这个问题:在系统层插一个虚拟网卡,所有应用的流量都先进 Clash,再按规则决定直连还是走代理。应用层面完全无感知,不需要每个应用单独配置。
二、系统代理 vs TUN 模式:一张表看懂
| 维度 | 系统代理 | TUN 模式 |
|---|---|---|
| 原理 | 应用读取代理设置 | 虚拟网卡接管全部流量 |
| 覆盖范围 | 浏览器等遵守代理的应用 | 所有应用(含命令行/Docker/游戏) |
| 浏览器访问 | ✅ | ✅ |
| git / npm / curl | ❌ 不走 | ✅ |
| Docker | ❌ 不走 | ✅ |
| 游戏 / 下载器 | ❌ 不走 | ✅ |
| 系统开销 | 低 | 略高(弱设备更耗电) |
| DNS 泄漏风险 | 较高(浏览器自己解析) | 低(流量全托管) |
| 适用场景 | 日常浏览 | 遇到”不走代理”的应用时 |
日常浏览开系统代理就够;遇到命令行、游戏、Docker 不走代理时,开 TUN。
三、TUN Stack 怎么选:gvisor / system / mixed
开启 TUN 模式时,大部分客户端会让你选 TUN Stack(网络栈实现方式)。这个参数直接决定兼容性和性能,选错了是 TUN 模式第二常见故障源(仅次于 DNS)。
| Stack | 原理 | 兼容性 | 性能 | 适用场景 |
|---|---|---|---|---|
| gvisor | 用户态实现虚拟网卡 | ⭐⭐⭐ 最好,无需额外权限 | 中等 | 默认首选,Windows / macOS 通用 |
| system | 系统内核网络栈 | ⭐⭐ 需 root/管理员 | ⭐⭐⭐ 最高 | macOS / Linux 追求性能 |
| mixed | TCP 走 system + UDP 走 gvisor | ⭐⭐ 兼顾 | 高 | 游戏 / 语音等 UDP 场景出问题时 |
决策树:
- 不确定就选 gvisor,90% 的人不需要改
- 玩游戏或语音通话 UDP 不通,切 mixed
- macOS / Linux 想榨性能,试 system(需要权限)
Verge Rev 里这个选项在:设置 → TUN 模式 → Stack 下拉框。CMFA 默认用 gvisor,一般不用管。
四、各客户端怎么开启 TUN 模式
Clash Verge Rev(Windows / macOS,推荐)
- 打开 Clash Verge Rev → 左侧设置(Settings)
- 找到 TUN 模式开关,打开
- Stack 选 gvisor(默认就是,一般不用改)
- 首次开启会弹出安装服务/创建虚拟网卡的授权,允许(Windows 需要管理员权限)
- 状态栏出现”TUN”标识即生效
如果开关打不开或报错,先确认已关闭系统其他 VPN 软件,再重试。完整安装配置教程见 Clash Verge Rev 安装与配置指南。
ClashMetaForAndroid(CMFA,Android)
- 打开 CMFA → 右上角设置
- 找到 TUN 模式,开启
- 系统会弹”创建 VPN 连接”授权,允许
Android 上 TUN 等价于系统 VPN 连接,这是 Android 系统的正常机制,不是问题。
Spectre(iOS / macOS)
iOS 端 Clash 类客户端基于系统 NetworkExtension,开启”VPN”开关即走 TUN 等价机制,所有流量都进客户端。不需要单独设置。
Clash for Windows(已停更,仅老用户)
旧版 CFW:设置 → General → 找到 TUN 模式(需要安装服务)。建议迁移到 Clash Verge Rev,CFW 已停止维护,教程见 Clash Verge 教程。
五、怎么确认 TUN 真的生效了?
开完别急着高兴,先验证:
# 命令行测试(系统代理下 git/curl 不走代理,TUN 生效后应能连通)
curl -I --max-time 10 https://www.google.com
# 查看出口 IP 是否已是代理 IP
curl ifconfig.me
curl google通了 = TUN 生效- 出口 IP 是海外 = 流量确实走了代理
如果还是不通,看下一节。
六、TUN 模式常见问题排查
1. 开了 TUN,游戏/软件还是不走代理
按顺序排查:
- 先确认 TUN 真的生效了。用上节的命令验证,没生效就先修 TUN 本身。
- 再看规则有没有命中。游戏/软件要走的节点得在规则里正确指向,被 GEOSITE/DOMAIN 规则漏掉的可以手动加一条。
- 最后检查是不是和公司 VPN 冲突了。TUN 虚拟网卡和公司 VPN 的虚拟网卡会打架,同时开时停掉一个。
2. 开了 TUN,国内网站变慢 / 打不开
说明 TUN 接管了流量但国内流量没被正确分流:
- 确认是规则模式(Rule)而非全局模式
- 规则里包含国内直连:
GEOIP,CN,DIRECT、GEOSITE,cn,DIRECT - 检查 DNS:TUN 模式下 DNS 全托管,配置不当会把国内域名解析到海外 DNS,导致慢。可用
nameserver分流:国内域名走223.5.5.5(阿里)/119.29.29.29(腾讯),海外走系统默认
3. TUN 和系统代理能同时开吗
能,且经常同时开(很多客户端默认如此)。两者不冲突:系统代理负责”遵守代理的应用”,TUN 兜底”不遵守的”。但如果都开着出现异常,先关系统代理只留 TUN 试试。
4. 开 TUN 后耗电 / 发热
TUN 接管全部流量,比系统代理多一层虚拟网卡处理,弱设备上更耗电。按需开启:日常浏览关 TUN 用系统代理,跑命令行、游戏、下载时再开。
5. TUN 模式 DNS 会泄漏吗
TUN 模式把 DNS 查询也托管进 Clash,相比系统代理(浏览器自己解析,可能绕过代理查 DNS)泄漏风险更低。但前提是客户端 DNS 配置正确,建议开启”域名走代理解析”或配置 DNS 分流,防止 DNS 污染导致部分网站打不开。
TUN 模式推荐 DNS 配置:
dns:
enable: true
listen: 0.0.0.0:1053
enhanced-mode: fake-ip # TUN 下推荐 fake-ip,减少 DNS 泄漏
nameserver:
- 223.5.5.5 # 阿里 DNS,国内域名解析
- 119.29.29.29 # 腾讯 DNS
fallback:
- tls://8.8.8.8 # 海外域名走 DoT
- https://1.1.1.1/dns-query
fallback-filter:
geoip: true
geoip-code: CN # 国内 IP 不走 fallback
这样国内域名走国内 DNS 秒解析,海外域名走加密 DNS 防污染。
6. Docker 容器不走代理
TUN 开启后 Docker 流量理论上也被接管,但实际常遇到容器内仍连不上外网:
- 先确认宿主机 TUN 生效:宿主机
curl google.com通了再管容器 - 检查 Docker DNS:容器默认用
8.8.8.8或宿主机 DNS,TUN 模式下可能没走 Clash 的 DNS 分流,在daemon.json里配dns: ["223.5.5.5"]或直接给容器加--dns - TUN Stack 选 mixed:Docker 部分网络走 UDP,gvisor 模式可能不覆盖,切 mixed
- 兜底方案:给 Docker 配 HTTP 代理(
HTTP_PROXY/HTTPS_PROXY环境变量),和 TUN 叠加不冲突
7. 常见报错速查
| 报错信息 | 原因 | 解法 |
|---|---|---|
TUN device create failed |
权限不足或网卡冲突 | Windows 以管理员运行 / 重新安装 TUN 服务 |
wintun.dll not found |
Windows 缺少 wintun 驱动 | 更新客户端到最新版,或手动下载 wintun.dll |
address already in use |
端口/接口被其他 VPN 占用 | 关闭其他 VPN 软件,重启客户端 |
DNS lookup failed |
DNS 配置错误或未开启 DNS | 开启 dns.enable: true,配置 nameserver 分流 |
route conflict |
路由表和公司 VPN 冲突 | 二选一,或调整路由优先级 |
七、和排障指南配合使用
TUN 模式的问题往往不是孤立的,很多时候是 TUN + 规则 + DNS 三个环节叠加出的毛病。如果你按上面排查后还是不通,建议对照 Clash / Mihomo 独立排障指南 做系统性排查:
- 症状 8(游戏/下载器/桌面软件完全不走代理):就是 TUN 场景的标准解法,按症状 8 的流程走一遍
- 症状 2(浏览器能开但 Telegram/Discord 客户端不行):Telegram/Discord 走的是非 HTTP 协议,系统代理管不了,必须开 TUN
- 症状 5(DNS 泄漏 / 部分网站打不开):TUN 模式下 DNS 配置不当的典型表现,和本文第六节第 5 条配合看
排障指南有完整的症状→原因→解法对照表,比本文的 TUN 专项排查更全面。
八、总结
- TUN 模式 = 虚拟网卡接管全部流量,解决”应用不走系统代理”的问题
- 日常用系统代理,遇到命令行/Docker/游戏再开 TUN,按需使用
- TUN Stack 默认选 gvisor,游戏/语音 UDP 不通切 mixed,macOS/Linux 追性能试 system
- 开启位置:Clash Verge Rev(设置→TUN)、CMFA(设置→TUN)、Spectre(VPN 开关)
- 开了没用,查 TUN 是否生效、Stack 是否合适、规则是否命中、是否和其他 VPN 冲突
- 开了国内变慢,确认规则模式 + 国内直连规则 + DNS 分流(fake-ip + nameserver/fallback)
- Docker 不走,宿主机 TUN 确认生效 + 容器 DNS 配置 + Stack 选 mixed
需要系统学习 Clash 的客户端选择、订阅导入、规则分流,回到 Clash 完全教程(2026);想横向看协议选型,参考 科学上网协议速查表。