TUN/TAP

TUN 和 TAP 是 Linux 中的两种虚拟网络设备类型。

使用 ip tuntaptunctl 命令创建 tun、tap 设备。

TUN

TUN 设备是一种虚拟点对点网络接口。它是三层设备。只处理 IP 数据包。无 Mac 地址。

主要用来实现网络层隧道。如 OpenVPN、WireGuard 等。

TAP

TAP 设备是一种虚拟以太网适配器。它是二层设备。只处理以太网数据包。有 Mac 地址。

主要用来实现数据链路层隧道。它允许用户进程通过模拟一个完整的以太网帧来发送和接收数据。TAP 设备可以像物理以太网卡一样被配置,与其他计算机或网络设备直接通信。它通常用于虚拟化环境中,如 KVM、VirtualBox 等。