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
相关推荐
阿丰资源17 小时前
SpringBoot+Vue实战:打造企业级在线文档管理系统
vue.js·spring boot·后端
Rust研习社17 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
0xDevNull17 小时前
Spring Boot 自动装配:从原理到实践
java·spring boot·后端
IT_陈寒18 小时前
SpringBoot配置加载顺序把我坑惨了
前端·人工智能·后端
Moment18 小时前
面试官:给 llm 传递上下文,有哪几个身份 role ❓❓❓
前端·后端·面试
snakeshe101018 小时前
SpringBoot 多人协作平台实战(5):从零开始集成 MyBatis ORM 连接 MySQL 数据库
后端
SamDeepThinking19 小时前
中小团队需要一个资源微服务
后端·微服务·架构
超梦dasgg19 小时前
Spring AI 智能航空助手项目实战
java·人工智能·后端·spring·ai编程
lifewange19 小时前
如何设计一个 RESTful API
后端·http·restful
安德鲁202220 小时前
Spring Boot + Undertow 全栈架构深度剖析时序图
后端