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

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

(by GPT-5.4)

最常用的是:

bash 复制代码
ip tuntap add dev tap0 mode tap

然后把它启起来:

bash 复制代码
ip link set tap0 up

一组完整示例

bash 复制代码
# 创建 tap 设备
ip tuntap add dev tap0 mode tap

# 启动设备
ip link set tap0 up

# 查看设备
ip link show tap0

如果要指定属主

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

bash 复制代码
ip tuntap add dev tap0 mode tap user root

或者:

bash 复制代码
ip tuntap add dev tap0 mode tap user <用户名>

例如:

bash 复制代码
ip tuntap add dev tap0 mode tap user qemu

如果还要加入 bridge

比如接到 br0

bash 复制代码
ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip link set tap0 master br0

删除 TAP 设备

bash 复制代码
ip link del tap0

或者:

bash 复制代码
ip tuntap del dev tap0 mode tap

补充说明

TAP 和 TUN 的区别

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

创建 TAP:

bash 复制代码
ip tuntap add dev tap0 mode tap

创建 TUN:

bash 复制代码
ip tuntap add dev tun0 mode tun

查看tap/tun设备

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

一句话总结

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

bash 复制代码
ip tuntap add dev tap0 mode tap
ip link set tap0 up
相关推荐
掘金码甲哥2 小时前
MetalLB才是给Ingress这个老登做负重前行的那个男人
后端
野犬寒鸦2 小时前
从零起步学习计算机操作系统:内存管理篇
服务器·后端·学习·缓存·面试
计算机学姐2 小时前
基于SpringBoot的中药材店铺管理系统
java·vue.js·spring boot·后端·spring·tomcat·推荐算法
青柠代码录2 小时前
【MySQL】事务:如何使用事务
后端
yinyan13143 小时前
一起学springAI系列一:使用多种聊天模型
java·人工智能·spring boot·后端·spring·springai
dreamxian3 小时前
苍穹外卖day07
java·spring boot·后端·spring·mybatis
陈随易3 小时前
MoonBit访谈:MoonBit开发moonclaw实现“养虾”自由
前端·后端·程序员
aq55356003 小时前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
未秃头的程序猿3 小时前
面试官:谈谈你对 MySQL 执行计划的理解?
后端·mysql·面试