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 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
行百里er4 小时前
Gateway 上别硬塞 MVC:DeferredImportSelector 看菜下锅
spring boot·后端·开源
名字还没想好☜4 小时前
Java 遍历时删元素抛 ConcurrentModificationException:fail-fast 原理与三种正确删法
后端
IT_陈寒5 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端
码事漫谈5 小时前
本体论,彻底懂
后端
创新技术阁5 小时前
FastapiAdmin 系统日志体系与核心配置参数详解
前端·后端·fastapi
掘金者阿豪5 小时前
SQL Server 迁到金仓,真正麻烦的不是数据,而是这些 T-SQL
后端
Kyrie_kk6 小时前
Java--IO--Path文件访问
java·后端
wxwx_bscxy3226 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
分支预测失败6 小时前
RISC-V AIA 中断架构实战:从 PLIC 到 APLIC 与 IMSIC 的迁移
linux·后端