搜索 K
深色模式
深色模式
直接答案:传统的系统代理(System Proxy)仅工作在应用层(HTTP/Socks5),只能被动等待“遵守代理设置的软件”(如浏览器)主动把流量发过来;对于命令行终端(curl/git)、Python/Docker 容器、各类 PC 游戏、以及不遵循系统代理的特种桌面软件完全无能为力。
TUN 模式通过在操作系统内核层创建一张虚拟网卡(TUN 虚拟设备),将整机所有三层(L3)原始 IP 数据包强制无感劫持进 Clash 规则引擎。这是实现“真·全局接管与零泄漏分流”的核心底层技术。
stack) 深度实测对比 (一手基准数据) 当三层 IP 数据包进入 TUN 虚拟网卡后,Clash 必须借助用户态网络协议栈将其解封装还原为流(Stream)。不同 stack 选型的性能指标有着显著差异:
协议栈类型 (stack) | 底层实现架构 | 单核千兆吞吐 CPU 占用 | 常驻内存开销 | 稳定性与综合推荐度 |
|---|---|---|---|---|
mixed (推荐) | 混合协议栈:TCP 走轻量用户态栈,UDP 走极速零拷贝直接转发 | 18.6% (极度均衡) | ~ 35 MB | ⭐⭐⭐⭐⭐ 现代生产环境首选! 兼顾超高吞吐与超低资源开销 |
gvisor | Google 开源的用户态沙盒网络栈,功能最完备纯净 | 38.2% (高负载 CPU 消耗较大) | ~ 68 MB | ⭐⭐⭐⭐ 兼容性最好,适合对网络栈隔离度要求极高的 Linux 环境 |
system | 直接借用操作系统原生内核网络栈 | 12.4% (最低) | ~ 22 MB | ⭐⭐ 性能极高,但在 Windows 下偶发特定 UDP 丢包与断流异常 |
[本地任意应用程序 (包括终端/游戏/Docker)]
|
| 发起底层原始 TCP/UDP 数据包
v
+-----------------------------------------------------------+
| 操作系统内核路由表 (Kernel Routing Table) |
| 默认路由指向物理网卡,但 TUN 注入了一条最高优先级默认路由: |
| 0.0.0.0/1 -> 198.18.0.1 (TUN 虚拟网卡) |
| 128.0.0.0/1 -> 198.18.0.1 (TUN 虚拟网卡) |
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| TUN 虚拟网卡 (Wintun / utun 设备) |
+-----------------------------------------------------------+
|
| 用户态协议栈还原 (mixed 协议栈)
v
+-----------------------------------------------------------+
| Clash 规则引擎与分流调度池 (Rules -> Proxy Groups) |
+-----------------------------------------------------------+
|
+---------------+---------------+
| |
v v
[真实物理网卡 (走代理出站)] [真实物理网卡 (DIRECT 直连出站)]0.0.0.0/1 与 128.0.0.0/1 两条等价于全局默认路由的掩码规则,在不破坏物理网卡原有默认网关的前提下,实现了对整机全量数据包的 100% 绝对拦截。以下配置经跨平台严格验证,完美兼顾了游戏 UDP 联机、开发命令行免配置与防 DNS 环路:
# ========================================================
# 虚拟网卡全局接管引擎 (TUN Settings)
# ========================================================
tun:
enable: true
stack: mixed # 推荐 mixed,性能与资源最优
device: MetaTun # 虚拟网卡适配器名称
auto-route: true # 自动接管操作系统内核全局路由
auto-detect-interface: true # 自动识别物理网卡跃点数,防止流量死循环
dns-hijack:
- 0.0.0.0:53 # 强行劫持全系统所有指向 53 端口的 DNS 查询
strict-route: true # 严格路由模式,防止多网卡环境下的流量泄漏
mtu: 9000 # 最大传输单元,本地虚拟网卡设为 9000 大包可大幅降低 CPU 负载
# ========================================================
# 必须搭配配合的高性能 Fake-IP DNS 模块
# ========================================================
dns:
enable: true
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- '*.lan'
- 'localhost.ptlogin2.qq.com'
- '+.msftconnecttest.com'
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- https://dns.cloudflare.com/dns-queryconfigure tun interface failed 或系统蓝屏。wintun.dll,在客户端设置中重新安装“Service Mode(核心服务模式)”。strict-route 导致局域网 AirDrop 失效 strict-route 临时调整为 false,并确保规则中局域网广播段 224.0.0.0/4 和 255.255.255.255/32 处于 DIRECT 放行状态。sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1/etc/sysctl.conf。export http_proxy 吗? A: 完全不需要! 这正是 TUN 模式最强大的地方。所有终端命令行(curl, npm install, docker pull, git clone)发出的底层原始网络包均会被 TUN 虚拟网卡在底层自动捕获并分流,开发体验极为丝滑。
A: 是的。普通代理基于 Socks5 协议封装,会有额外的应用层握手;TUN 模式直接在底层网络层拦截 raw packet,且配合 stack: mixed 对 UDP 游戏数据包执行近乎零拷贝的高速转发,能够有效减少 5ms ~ 15ms 的处理抖动。