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
相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu4 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白804 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙4 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发4 天前
软件工程SOLID 五大设计原则
后端·软件工程