Skip to content

什么是TUN

TUN 是一种 虚拟网络接口,广泛应用于 VPN、网络隧道、代理工具中。它不是硬件,而是由内核提供的软件接口,你可以把它理解为一根“虚拟网线”或“虚拟隧道”。


一句话理解 TUN:

TUN 设备是操作系统内的“虚拟网卡”,用于传输 IP 层数据包。


TUN 的基本定义

  • TUN = "Network TUNnel" 的缩写
  • 是一种 点对点(point-to-point)虚拟网络接口
  • 工作在 第三层(网络层),主要处理 IP 数据包

它通常与 TAP 搭配提及:

名称工作层级传输内容用途
TUN网络层(Layer 3)IP 数据包(IPv4/IPv6)VPN、代理
TAP数据链路层(Layer 2)以太网帧(Ethernet Frames)虚拟局域网、桥接网络

举个例子:VPN 如何用 TUN

  1. 当你启动一个 VPN(比如 WireGuard、OpenVPN、Clash)时,它创建一个 TUN 设备(虚拟网卡)
  2. 系统把所有 IP 数据发往这个虚拟网卡
  3. VPN 程序从 TUN 设备中读取数据,加密后发到远程服务器
  4. 返回的数据也通过 TUN 解密,交给操作系统

所以: 你电脑认为自己连的是互联网, 其实数据早就被“偷偷”送上加密隧道了!


🖥 在系统中,TUN 设备长这样:

  • Linux: /dev/net/tun
  • macOS: /dev/tun0
  • Windows(通过工具实现,比如 Wintun, OpenVPN TAP Driver

ipconfigifconfig 中,你能看到像 tun0utun0 这样的接口。

🧰 常见使用 TUN 的软件

软件用途
OpenVPN加密 VPN
WireGuard轻量高性能 VPN
Clash / Clash for Windows分流代理
Tailscale / Zerotier内网穿透、虚拟局域网
Shadowsocks with tun2socks把 TCP/UDP 转发到 SOCKS 代理
Frp / N2N内网互通,穿透 NAT

最后总结一下:

问题回答
TUN 是什么?虚拟网卡,用来收发 IP 数据包
是硬件吗?不是,是操作系统提供的虚拟设备
干嘛用?VPN、网络代理、流量劫持、分流
和 TAP 有啥区别?TUN 管 IP,TAP 管以太网帧