我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

目录

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

一、tun/tap设备简介

tun/tap 设备是操作系统内核中的虚拟网络设备,是用软件模拟的网络设备,提供与硬件网络设备完全相同的功能。主要用于用户空间和内核空间传递报文。

tun/tap 设备与物理网卡的区别:

  1. 对于硬件网络设备而言,一端连接的是物理网络,一端连接的是网络协议栈。
  2. 对于 tun/tap 设备而言,一端连接的是应用程序(通过 字符设备文件 /net/dev/tun),一端连接的是网络协议栈。

二、在linux上使用tun/tap设备模拟一个虚拟网卡

  1. 确认内核是否支持tun/tap

    确认内核是否有tun模块

    modinfo tun

    出现如下提示,表示有tun模块

    image-20230318232301374

    加载tun模块

    modprobe tun
  2. 创建和配置虚拟网卡

    先安装tunctl,该工具可以通过安装软件包uml-utilities来获得,我的环境ubuntu,具体命令如下:

    apt install uml-utilities# 如果安装的时候找不到安装包,就使用如下命令更新软件列表信息apt upgrade

    创建虚拟网卡设备,命名为tap0

    tunctl -t tap0 -u root

    设置虚拟网卡,并配置ip地址和子网掩码等信息

    ifconfig tap0 192.168.0.1 netmask 255.255.255.0 promisc

三、 创建网桥连接到虚拟网卡上

# 创建一个名为br1的网桥ip link add br1 type bridge# 将tap0网卡设备加进来ip tuntap add dev tap0 mode tap# 将br1设置为tap0的目标网桥ip link set dev tap0 master br1# 启动网桥ip link set dev br0 up

都搞定以后,查看网桥状态,需要安装brctl,该工具可以通过安装软件包bridge-utils来获得,具体命令如下:

apt install bridge-utils

安装好以后,用brctl show命令来查看网桥状态

四、参考资料:

Linux下添加虚拟网卡

在Linux系统下使用TUN/TAP虚拟网卡的基本教程

Linux 虚拟网卡技术:Macvlan

qemu网桥配置

来源地址:https://blog.csdn.net/qq_38505969/article/details/129645659

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录