入代理工具入门名词KNOWLEDGE MAP · 名词图谱
节点 05

TUN 模式如何处理网络流量

代理工具入门名词编辑部 · 更新于 2026-10-18

一句话回答

TUN 是内核提供给程序的虚拟网卡,处理 IP 包。TUN 模式下代理程序建虚拟网卡、改系统路由把请求导进来,TCP 与 UDP 都能处理,不依赖 App 读取系统代理。

本文目录内核文档里的 TUN和系统代理的区别手机上的 TUN协议栈默认值:两份文档说法不同和规则分流的关系常见问题

TUN 是操作系统提供的虚拟网卡:它不从物理介质收包,而是从用户态程序收发数据包。代理客户端的 TUN 模式就是建一张这样的网卡,再配置系统路由把网络请求重定向过去。Clash Verge Rev 文档写明,它可拦截处理所有 TCP/UDP 流量,App 无需额外配置。

内核文档里的 TUN

1要点 · 第 1 节

Linux 内核文档的描述:程序打开 /dev/net/tun 注册设备,设备显示为 tunXX 或 tapXX;程序关闭后,设备与相应路由一起消失。

  • TUN 与 TAP 的区别是「TUN 处理 IP 包,TAP 处理以太网帧」。
/dev/net/tun
tunXX
tapXX
展开详细说明

Linux 内核文档的描述:程序打开 /dev/net/tun 注册设备,设备显示为 tunXX 或 tapXX;程序关闭后,设备与相应路由一起消失。TUN 与 TAP 的区别是「TUN 处理 IP 包,TAP 处理以太网帧」。

和系统代理的区别

2要点 · 第 2 节

Clash Verge Rev 还说明,服务模式的用途是能以非管理员身份启动 TUN 模式。

  • 系统代理的边界见系统代理说明。
系统代理TUN
入口程序自愿读取系统设置系统路由层接管
UDP不能代理可处理
是否依赖 App 配合依赖不依赖开发者的意愿
展开详细说明
项系统代理TUN
入口程序自愿读取系统设置系统路由层接管
UDP不能代理可处理
是否依赖 App 配合依赖不依赖开发者的意愿
系统代理与 TUN 对照数据:本页「和系统代理的区别」表 · 2026-10-18

Clash Verge Rev 还说明,服务模式的用途是能以非管理员身份启动 TUN 模式。系统代理的边界见系统代理说明。

手机上的 TUN

3要点 · 第 3 节

Android 文档写道,VPN App 用 VpnService.Builder 建立本地 TUN 接口…

  • 由此可以理解,手机上代理客户端的「VPN 模式」本质上就是 TUN(这是两份文档拼合得出的…
addRoute()
0.0.0.0/0
::/0
展开详细说明

Android 文档写道,VPN App 用 VpnService.Builder 建立本地 TUN 接口,用 addRoute() 决定哪些流量进入(全收用 0.0.0.0/0 或 ::/0),再从接口读出外发的 IP 包。由此可以理解,手机上代理客户端的「VPN 模式」本质上就是 TUN(这是两份文档拼合得出的,没有一份官方文档逐字这么写)。

协议栈默认值:两份文档说法不同

4要点 · 第 4 节

TUN 的「协议栈」(stack)是把 IP 包还原成连接的实现,mihomo 可选 system、gvisor、mixed、mips。

  • 默认值两处官方说法不一致…
  • 原因官方没有说明。
展开详细说明

TUN 的「协议栈」(stack)是把 IP 包还原成连接的实现,mihomo 可选 system、gvisor、mixed、mips。默认值两处官方说法不一致:Clash Verge Rev 名词页写「TUN 模式的默认堆栈是 GVisor」;mihomo 文档写 stack 默认 mips,并建议「如无使用问题」用 mips。原因官方没有说明。

和规则分流的关系

5要点 · 第 5 节

TUN 决定流量怎样进入内核,分流规则决定进入后按什么条件选出口,两者不是同一个功能,见分流规则说明。

展开详细说明

TUN 决定流量怎样进入内核,分流规则决定进入后按什么条件选出口,两者不是同一个功能,见分流规则说明。

常见问题

TUN 会处理 UDP 吗?

会。Clash Verge Rev 文档说明 TUN 模式可拦截处理所有 TCP/UDP 流量,这也是它与系统代理的主要区别之一。

TUN 与系统代理一样吗?

不一样。系统代理要由程序读取,且不代理 UDP;TUN 通过虚拟网卡和系统路由接管流量,App 无需额外配置。