配置指南 · 约 8 分钟阅读

Clash TUN 虚拟网卡模式详解

为什么终端里执行 curlgit clonedocker pull 明明开了代理却还是慢?因为系统代理根本接管不了它们——这正是 TUN 模式存在的意义。

1. 系统代理的局限性

「系统代理(System Proxy)」本质上是在操作系统的网络设置中写入 HTTP/HTTPS 代理地址(如 127.0.0.1:7890)。只有主动读取系统代理设置的应用才能走代理,包括:

✅ 支持系统代理

  • • Chrome / Firefox / Safari 等浏览器
  • • Slack / Discord(桌面版)
  • • 大多数 GUI 应用

❌ 不支持系统代理

  • • Terminal / PowerShell / CMD
  • • git、curl、wget、npm、pip
  • • Docker daemon
  • • 部分游戏、UWP 应用

命令行工具通常在环境变量 https_proxy 中读取代理,您可以手动设置,但每次打开新终端都要重设,非常麻烦。TUN 模式从根本上解决了这个问题。

2. TUN 模式的工作原理

TUN(Tunnel)模式通过在操作系统中创建一张虚拟网卡,并将系统的默认路由表指向该虚拟网卡,从而在网络层(L3)接管所有出站流量,再由 Clash 核心统一处理分流逻辑。

3. 谁需要开启 TUN?

软件开发者

需要在终端使用 git、npm、pip、cargo 等工具访问 GitHub、npmjs 等海外资源。

Docker / 容器用户

Docker daemon 拉取镜像(docker pull)不走系统代理,需要 TUN 模式或单独配置 Docker 代理。

游戏玩家

部分游戏客户端(含 UWP 应用如 Xbox Game Pass)不走系统代理,TUN 模式可让游戏流量也经过规则分流。

仅用浏览器上网的普通用户

浏览器已支持系统代理,不需要 TUN 模式,开启反而增加系统资源消耗。

4. 如何在 Clash Verge Rev 中开启 TUN

TUN 模式需要管理员/root 权限。首次使用需安装「服务模式(Service Mode)」,之后即可无感使用。

  1. 1

    安装服务模式

    打开 Clash Verge Rev → 进入「设置(Settings)」→「系统设置」→ 点击「安装服务模式」→ 在系统弹框中授予管理员权限。

  2. 2

    开启 TUN 模式

    在「设置」中找到「TUN 模式」开关,点击开启。状态栏图标变绿即表示 TUN 已激活。

  3. 3

    验证效果

    打开新终端,执行 curl -I https://www.google.com,能返回 200 响应即表示 TUN 模式生效。

5. TUN 配置参数说明

tun:
  enable: true
  stack: mixed        # 推荐 mixed;gvisor 更安全但性能略低
  auto-route: true    # 自动设置路由表,接管所有流量
  auto-detect-interface: true
  dns-hijack:         # 劫持 DNS 请求,防止 DNS 泄漏
    - any:53
  inet4-route-address: # 仅路由这些网段(留空=全部)
    - 0.0.0.0/1
    - 128.0.0.0/1

Clash Verge Rev 中无需手动编辑此配置,GUI 开关会自动写入。

6. 常见问题排查

开启 TUN 后浏览器无法访问任何网站
请确认「服务模式」已成功安装(右键托盘图标 → 服务状态应显示「运行中」)。若仍有问题,尝试以管理员身份重新启动 Clash Verge Rev。
TUN 模式下国内网站变慢了
检查您的规则配置中是否正确设置了 GEOIP,CN,DIRECT 和国内域名直连规则。TUN 接管流量后依然会走规则分流逻辑,国内流量应自动直连。
macOS 提示「网络扩展」权限被拒绝
前往「系统设置 → 隐私与安全性 → 网络扩展」,找到 Clash Verge Rev 并允许。macOS 15(Sequoia)及以上版本可能需要在「安全性」中额外授权。

相关阅读