跳到正文
Clash 使用手册clash-meta.cc

GLOSSARY / 术语说明

理解 TUN:流量为什么会经过虚拟网卡

先看应用是否读取系统代理,再理解 TUN 接管流量的方式。本页把接管范围、权限和排查顺序放在一起说明。

和系统代理的区别

系统代理的工作方式是:客户端往操作系统的代理设置里写一个地址(127.0.0.1:7890),然后等程序自己来读。浏览器会读,大部分桌面软件会读,于是它们的流量就走了代理。

问题在于「会读」是自愿的。很多程序根本不看这个设置

  • 大部分游戏
  • 命令行工具(curl、git、apt —— 它们读环境变量,不读系统代理)
  • 一些桌面客户端和后台服务
  • 直接用 IP 通信、不走 DNS 的程序

TUN 模式换了个层次做这件事:它创建一块虚拟网卡,修改系统路由表,让流量在网络层就被引导过来。程序愿不愿意配合都得走 —— 因为它们连「有没有代理」都不知道,只是在正常发包。

代价是接管范围大了,出问题的影响面也大了。

什么时候该开

判断标准只有一条:系统代理已经能正常用,但某个特定程序不走代理。

典型场景:

  • Steam 下载慢,但浏览器打开 Steam 网页很快
  • 某个游戏连不上服务器
  • 命令行工具超时(不过这个用环境变量也能解决)
  • 桌面版软件的登录一直失败

反过来,这些情况不需要 TUN:

  • 只用浏览器
  • 刚装完,还没验证过基础链路
  • 「感觉开了更全面」—— 这不是理由,只会让排查变难

顺序上永远是:先把系统代理跑通,确认节点没问题,再按实际需求决定要不要开 TUN。

需要什么条件

权限。创建虚拟网卡、修改路由表都是系统级操作,需要管理员或 root 权限。

  • Windows:会弹 UAC。建议先在「设置」里装服务模式,装了之后就不用每次以管理员身份启动客户端。
  • macOS:会要求输管理员密码。同样建议装服务模式。注意应用必须在「应用程序」文件夹里,否则 App Translocation 会导致服务装不上。
  • Linux:需要装服务组件,过程中会 sudo 授权。

规则完整性。TUN 接管全部流量,包括局域网。如果规则里没有把本地网段(192.168.x.x10.x.x.x)放进直连,你会连不上路由器管理页面和局域网设备。大部分订阅自带的规则已经处理了这个,但自己改规则的时候要注意。

开了 TUN 之后断网

按这个顺序退回来查:

  1. 先关掉 TUN,退回系统代理。如果这时候网络恢复了,说明问题出在 TUN 这一层,节点是好的。
  2. 确认权限。Windows 上看客户端是不是以管理员身份运行的,或者服务模式装没装上。权限不够时 TUN 开关会自己弹回去。
  3. 检查规则里的直连网段。局域网地址有没有被放行。
  4. 看日志。TUN 启动失败通常会在日志里留下明确的错误,比如网卡创建失败、权限不足。

还有一种情况是虚拟网卡残留:客户端异常退出,虚拟网卡还留在系统里,导致路由混乱。重启一次客户端,或者重启系统,一般能清掉。

常见问题

不开 TUN 能正常用吗?
多数人可以。浏览器和大部分软件都遵循系统代理。只有当某个程序确实不走代理时才需要 TUN。
为什么开 TUN 要管理员权限?
它要创建虚拟网卡、修改系统路由表,这些都是系统级操作。装上服务模式之后就不用每次都以管理员身份启动了。
开了 TUN 之后完全断网怎么办?
先关掉 TUN 退回系统代理。恢复了就说明问题在 TUN 这层,接着查权限和规则里的直连网段。
TUN 开了之后终端命令会走代理吗?
会。流量在网络层就被接管了,不再依赖环境变量。这算是 TUN 的一个附带好处。

相关页面

本站整理开源项目的下载与使用说明,与 Clash、Mihomo、Clash Verge Rev、FlClash 等项目没有隶属关系,也不转存任何安装包。 版本号、文件名、体积与系统要求以各项目官方发布页为准;本页数据的人工核对日期为 2026-09-01。