教程 更新日期: 2026-06-15 阅读时间: 8 分钟

Clash TUN模式全局代理设置指南 | 让所有流量走代理

详解Clash TUN模式:原理、配置步骤、与系统代理的区别、各客户端开启方法、DNS泄漏防范、常见问题排查。

目录

TUN 模式是什么

TUN 模式是 Clash 通过操作系统的虚拟网卡(Virtual Network Interface)来接管所有网络流量的一种工作方式。

当 TUN 模式启用后:

  1. Clash 创建一个虚拟网卡(如 utuntun0)。
  2. 系统路由表被修改,所有流量被引导到这个虚拟网卡。
  3. 虚拟网卡将流量交给 Clash 内核处理。
  4. Clash 根据规则决定每条流量是直连、走代理、还是拒绝。

与系统代理不同,TUN 模式工作在网络层(OSI 第 3 层),因此能够代理所有应用的网络流量,包括不遵循系统代理设置的应用。

TUN 模式 vs 系统代理模式

特性系统代理TUN 模式
工作原理设置 HTTP/SOCKS 代理虚拟网卡劫持所有流量
代理范围仅支持系统代理的应用(主要是浏览器)所有应用的所有流量
对游戏的代理通常无效有效
对命令行的代理需手动设置环境变量自动生效
对 Docker/WSL 的代理需额外配置自动覆盖
权限要求无需管理员需要管理员/root 权限
性能影响较低略高(涉及网卡层处理)
稳定性稳定偶有兼容性问题
DNS 泄漏风险较低需要正确配置 DNS

什么时候需要 TUN 模式

以下场景建议启用 TUN 模式:

如果你只是日常浏览网页,系统代理模式通常已经足够,不需要开启 TUN 模式。

各客户端开启 TUN 模式的方法

Clash Verge Rev(Windows / macOS / Linux)

  1. 打开 Clash Verge Rev 设置页面。
  2. 找到「TUN Mode」开关,点击启用。
  3. 首次启用会提示安装虚拟网卡驱动:
    • Windows:会自动安装 Wintun 驱动,可能需要管理员权限确认。
    • macOS:需要授权系统扩展(System Extension),按照提示前往「系统设置 → 隐私与安全性」中允许。
    • Linux:使用内核自带的 tun 模块,需确保已加载。
  4. 驱动安装完成后,TUN 模式即刻生效。

如果需要更详细的安装步骤,请参考 Windows 安装配置完整指南

mihomo(命令行 / 核心模式)

如果你在 Linux 服务器或路由器上直接使用 mihomo 核心,需要在配置文件中手动启用 TUN:

tun:
  enable: true
  stack: system        # 可选:system / gvisor / mixed
  dns-hijack:
    - any:53           # 劫持所有 DNS 请求
  auto-route: true     # 自动设置路由表
  auto-detect-interface: true

FlClash

  1. 进入设置 →「TUN 模式」。
  2. 点击开启,授权管理员权限。
  3. FlClash 会自动配置虚拟网卡。

DNS 配置注意事项

TUN 模式下 DNS 配置尤为关键,因为所有 DNS 请求都会被虚拟网卡拦截。配置不当会导致:

推荐配置

dns:
  enable: true
  listen: "0.0.0.0:53"
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - "*.lan"
    - "*.local"
    - localhost.ptlogin2.qq.com
    - dns.msftncsi.com
    - www.msftncsi.com
    - www.msftconnecttest.com
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - "tls://8.8.8.8"
    - "tls://1.1.1.1"
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

更多 DNS 配置细节请参阅 DNS 防污染配置详解

常见问题排查

问题1:开启 TUN 模式后所有网站都打不开

原因:通常是 DNS 配置错误导致域名无法解析。

解决

  1. 关闭 TUN 模式,恢复系统代理模式,确认代理本身正常工作。
  2. 检查 DNS 配置中的 nameserver 是否设置了可达的 DNS 服务器。
  3. 如果使用 fake-ip 模式,确认 fake-ip-range 没有和真实网络冲突。

问题2:TUN 模式和 VPN 冲突

原因:如果你同时运行了其他 VPN 软件(如 WireGuard、OpenVPN),两个虚拟网卡会争夺路由优先级。

解决:关闭其他 VPN 软件后再开启 TUN 模式。如果需要同时使用,需要手动调整路由表优先级。

问题3:TUN 模式下部分局域网设备无法访问

原因:auto-route 可能将局域网流量也拦截了。

解决:在规则中添加局域网网段的直连规则:

rules:
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT

问题4:macOS 上提示「系统扩展被阻止」

解决:前往「系统设置 → 隐私与安全性」,找到被阻止的扩展并点击「允许」。然后重新开启 TUN 模式。

TUN 模式排障时,善用 日志面板(Verge Rev 的 Logs 页面)是关键。将日志级别设为 debug 可以看到详细的流量处理过程。更多节点连接问题可参考 节点连接排查指南