目录

  • linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上
    • 一、tun/tap设备简介
    • 二、在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模块

    加载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网桥配置

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

  1. TUN/TAP设备浅析(三) -- TUN/TAP设备的应用

    上一篇文章主要讲述了TUN/TAP设备的一些原理,你可能会好奇,TUN/TAP设备究竟有什么用处呢?所以这篇文章,我想用一些实际的例子来回答这个问题. 例子源自陈硕老师的博客,博文中关于TUN/TAP ...

  2. 介绍Linux下的 Tun/Tap

    在计算机网络中,TUN与TAP是操作系统内核中的虚拟网络设备.不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能. 什么 ...

  3. TUN/TAP设备浅析

    TUN设备 TUN 设备是一种虚拟网络设备,通过此设备,程序可以方便地模拟网络行为.TUN 模拟的是一个三层设备,也就是说,通过它可以处理来自网络层的数据,更通俗一点的说,通过它,我们可以处理 IP  ...

  4. TUN/TAP设备浅析(二) -- TUN/TAP的编程

    这篇文章想详细阐述一下有关于 TUN/TAP 设备的编程. 其实关于这两种设备的编程,基本上属于八股文,大家一般都这么干. 启动设备之前 有的linux 并没有将tun 模块编译到内核之中,所以,我们 ...

  5. TUN/TAP设备浅析(一) -- 原理浅析

    TUN/TAP设备浅析 TUN设备 TUN 设备是一种虚拟网络设备,通过此设备,程序可以方便地模拟网络行为.TUN 模拟的是一个三层设备,也就是说,通过它可以处理来自网络层的数据,更通俗一点的说,通过 ...

  6. 无法连接虚拟设备 ide1:0,因为主机上没有相应的设备。 您要在每次开启此虚拟机时都尝试连接此虚拟设备吗?

    问题 无法连接虚拟设备 ide1:0,因为主机上没有相应的设备. 您要在每次开启此虚拟机时都尝试连接此虚拟设备吗? 解决方法 原因: 是因为没设置使用镜像文件. 设置 点击虚拟机,再点击左侧页面编辑虚 ...

  7. linux下使用tun/tap虚拟网卡

    tun/tap虚拟网卡介绍 tun是一种虚拟网络设备,tun设备一端连接着用户程序,一端连接着内核协议栈,任何时候从协议栈发到tun网卡的数据都能从用户程序中读到,而从用户程序写入/dev/net/t ...

  8. 关于 TUN/TAP 设备

    长期以来对tun和tap这对兄弟分不太清,今天下定决心研究了一下代码,总算是搞明白了. 首先它们都是从/dev/net/tun里ioctl出来的虚拟设备,一个是通过IFF_TUN,另一个是 IFF_T ...

  9. 无法连接虚拟设备 floppy0,因为主机上没有相应的设备。 您要在每次开启此虚拟机时都尝试连接此虚拟设备吗?

    如果出现以上情况,应该是没有连接镜像文件,在添加镜像文件的地方添加镜像文件就可以了 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号 ...

最新文章

  1. Google创始人公开信:AI暖春和黑暗面
  2. 配置PIM auto-rp
  3. 基于Win32Api创建窗口程序
  4. element ui 表单验证为正整数
  5. redis实现轮询算法_【07期】Redis中是如何实现分布式锁的?
  6. java hive配置_Hive配置项的含义详解(1)
  7. 【loj2585】【APIO2018】新家
  8. Go中对两个 nil 进行比较的结果是什么?
  9. autowired注解_Spring系列之Spring常用注解总结
  10. 20170830 - A - Java IO操作
  11. STM32-关于Proteus 仿真无法运行STM32CubeMX自动生成的代码
  12. 我的软考高项考试之旅
  13. JavaScript 习题及面试题 3
  14. [CTBS]许可证过期之激活
  15. C#指定图片添加文字
  16. 文档管理系统 Mayan EDMS安装
  17. 故障恢复控制台的启动方法
  18. FPC手工焊接方法分享
  19. 中国地质大学英语语音学习笔记(五):英语连读——相邻两元音读音(词间或词内)的连读方法和辅音加半元音(词间或词内)的连读技巧
  20. “大多数人,都死在了 30 岁”

热门文章

  1. 【笔记】vs2015 使用GIT的时候 “Could not open '***.VC.opendb'”
  2. WWN,WWNN,WWPN三者的区别
  3. 「可信计算」论文初步解读
  4. rust中i32转[i8]和[u8]转i32
  5. Xilinx 7系列FPGA架构 SelectIO 常见电平标准和阻抗匹配(精华)
  6. HTML5单选框与复选框
  7. 卡特兰(Catalan)数入门详解
  8. 【半小时入门vue】最容易理解的vue入门方式
  9. halcon 畸变图像校正与长度测量
  10. 送给社会格斗场上的暗夜孤星