📚 本文是 科学上网完全指南(2026最新版) 系列教程之一。想系统了解 VPN、Clash 机场、VPS 三大方案与全平台配置,欢迎访问总览页。

Clash TUN 模式是什么?怎么开启?(2026 完整指南)

Clash TUN 模式是通过创建虚拟网卡接管系统全部流量的工作模式。命令行工具(git/npm/curl)、Docker 容器、游戏客户端这些不读取系统代理设置的应用,开了 TUN 之后也能按 Clash 规则走代理。说白了:系统代理只管浏览器,TUN 管所有。

📚 本文是 Clash 完全教程(2026) 的支撑文章,聚焦 TUN 模式一个点讲透。想系统了解 Clash 客户端、订阅导入、规则分流,先看总览页。


一、为什么需要 TUN 模式?

多数人第一次遇到这个场景:浏览器能正常打开 Google,但命令行里 git clonenpm installcurl 还是连不上,或者 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,推荐)

  1. 打开 Clash Verge Rev → 左侧设置(Settings)
  2. 找到 TUN 模式开关,打开
  3. Stack 选 gvisor(默认就是,一般不用改)
  4. 首次开启会弹出安装服务/创建虚拟网卡的授权,允许(Windows 需要管理员权限)
  5. 状态栏出现”TUN”标识即生效

如果开关打不开或报错,先确认已关闭系统其他 VPN 软件,再重试。完整安装配置教程见 Clash Verge Rev 安装与配置指南

ClashMetaForAndroid(CMFA,Android)

  1. 打开 CMFA → 右上角设置
  2. 找到 TUN 模式,开启
  3. 系统会弹”创建 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,DIRECTGEOSITE,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);想横向看协议选型,参考 科学上网协议速查表