Linux 创建 TAP 类型虚拟设备的命令

6 阅读1分钟

Linux 创建 TAP 类型虚拟设备的命令

(by GPT-5.4)

最常用的是:

ip tuntap add dev tap0 mode tap

然后把它启起来:

ip link set tap0 up

一组完整示例

# 创建 tap 设备
ip tuntap add dev tap0 mode tap

# 启动设备
ip link set tap0 up

# 查看设备
ip link show tap0

如果要指定属主

有些场景要让普通用户进程(比如 qemu)打开这个 TAP 设备,可以指定 owner:

ip tuntap add dev tap0 mode tap user root

或者:

ip tuntap add dev tap0 mode tap user <用户名>

例如:

ip tuntap add dev tap0 mode tap user qemu

如果还要加入 bridge

比如接到 br0

ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip link set tap0 master br0

删除 TAP 设备

ip link del tap0

或者:

ip tuntap del dev tap0 mode tap

补充说明

TAP 和 TUN 的区别

  • tap:二层设备,收发以太网帧
  • tun:三层设备,收发IP 包

创建 TAP:

ip tuntap add dev tap0 mode tap

创建 TUN:

ip tuntap add dev tun0 mode tun

查看tap/tun设备

ip tuntap show
这里显示有两个tap类型的设备
vnet0: tap vnet_hdr
vnet1: tap vnet_hdr


一句话总结

创建 TAP 设备最常用命令就是:

ip tuntap add dev tap0 mode tap
ip link set tap0 up