美文网首页network
macvlan 一种虚拟网卡解决方案

macvlan 一种虚拟网卡解决方案

作者: 码二哥 | 来源:发表于2019-01-26 16:51 被阅读0次

写在开篇,是为了提醒自己,

  1. 要善始善终
  2. 莫着急,做好每一件小事

参考文献:
https://blog.csdn.net/dkfajsldfsdfsd/article/details/79525187
http://www.qingpingshan.com/m/view.php?aid=389184

学习这个的目的,是为了了解下面的内容:
https://github.com/containernetworking/plugins

一、 mavclan要知道的小知识点

  • macvlan并不创建网络,只创建虚拟网卡,
  • macvlan会共享物理网卡所链接的外部网络,实现的效果跟桥接模式是一样的。
  1. macvlan 既不创建网络,主要有什么特性?或者说,macvlan的使用场景?
  • macvlan主要是用来解决效率问题的。
  • 也就是说macvlan是效率贵高的跨主机网络虚拟化解决方案之一。
  • 适合在对网络性能要求极高的场景下。
  1. 网络虚拟化的目的?
    就是在多租户场景下,在统一的底层网络之上,单独为每个租户虚拟出自己的网络从而达到隔离的目的。

  2. macvlan属于什么解决方案呢?或者说,macvlan到底是干什么的,? 或者说,有什么用?

  • macvlan是网卡虚拟化方案
  • macvlan将一张物理网卡设置多个mac地址,就是一变多,一对多;类似于鸣人的影分身之术, 注意: 需要物理网卡,打开混杂模式
    如何设置网卡为混杂模式
  • 既然有了多个mac地址,就可以设置多个IP地址了,从而实现,一块物理网卡链接到交换机,变成多个虚拟网卡链接到交换机。
  1. macvlan是linux kernel提供的一种network driver类型, 如何查看当前内核是否加载了该driver呢?
  • lsmod | grep macvlan (查看是否加载了)
  • modprobe macvlan (手动加载macvlan驱动到内核)
  • /drivers/net/macvlan.c (源码地址)
  1. macvlan的工作模式?
  • Bridge:属于同一个parent接口的macvlan接口之间挂到同一个bridge上,可以二层互通(经过测试,发现这些macvlan接口都无法与parent 接口互通)。
    bridge mode
  • VPEA:所有接口的流量都需要到外部switch才能够到达其他接口。
    vpea mode
  • Private:接口只接受发送给自己MAC地址的报文。
    private mode

二、 测试

1. 基本练习测试,创建一个macvlan, 并分配一个ip(也就是链接到某一网络)

创建虚拟网卡ens33.01
激活虚拟网卡ens33.01
分配IP地址
删除虚拟网卡ens33.01 ip link delete 网卡名字

2. 测试在不同命名空间下,两个macvlan类型虚拟网卡,是否可以直接通信

  1. 创建两个虚拟网卡ens33.01, ens33.02
ip link add link ens33 name ens33.01 type macvlan mode bridge   
ip link add link ens33 name ens33.02 type macvlan mode bridge   
创建虚拟网卡
  1. 创建两个命名空间
ip netns add ns1  
ip netns add ns2  
创建命名空间
  1. 将两个虚拟网卡ens33.01,ens33.02分别分配到ns1,ns2命名空间里
ip link set ens33.01 netns ns1    
ip link set ens33.02 netns ns2   
给虚拟网卡分配命名空间
在命名空间中,尝试执行命令
  1. 使用dhclient给虚拟网卡ens33.01, ens33.02分配IP
ip net exec ns1 dhclient ens33.01   
ip net exec ns2 dhclient ens33.02   
给虚拟网卡分配IP
查看分配的IP
  1. 测试是否可以ping同宿主机
    是否可以ping通本宿主机
  2. 测试ens33.01 与 ens33.02 之间是否可以互相ping通
    是否可以ping通ns2命名空间下的ens33.02虚拟网卡?

3. 测试同一命名空间下的虚拟网卡,是否可以ping通么?

创建虚拟网卡,分配IP
测试网络是否通

感觉很怪异,不知道为啥,同一个命名空间下的虚拟网卡,居然不通。


多年后重新测试,发现是可以的。


iShot2022-08-09 15.29.18.png iShot2022-08-09 15.32.09.png

相关文章

  • macvlan虚拟接口

    macvlan是kernel提供的一种网卡虚拟化技术,可以将网卡(不一定是真是的物理网卡,virtio等虚拟网卡也...

  • macvlan 一种虚拟网卡解决方案

    写在开篇,是为了提醒自己, 要善始善终 莫着急,做好每一件小事 参考文献:https://blog.csdn.ne...

  • 网卡虚拟化 Macvlan

    拓扑结构 交换机配置 添加namespace ns1和ns2 Bridge 所有的端点都直接连接在一起 VEPA ...

  • Docker跨主机容器之间的通信macvlan

    默认一个物理网卡,只有一个物理地址,虚拟多个mac地址一、下载macvlan镜像包,导入 二、创建macvlan网...

  • docker 搭建macvlan 网络

    docker 搭建macvlan 网络 简单说,macvlan就是在宿主的网卡设置多个vlan信息,根据走的网卡不...

  • docker 搭建macvlan 网络

    docker 搭建macvlan 网络 简单说,macvlan就是在宿主的网卡设置多个vlan信息,根据走的网卡不...

  • Linux网络协议栈7--macvlan

    macvlan是linux的一种虚拟网络接口,macvlan 允许你在主机的一个网络接口上配置多个虚拟的网络接口,...

  • openstack 性能优化

    vip使用网卡子接口模式即可,不需要使用macvlan,ubuntu18 host网卡不要使用netplan,不好...

  • 无线网卡共享wifi踩坑笔记

    常规步骤 插入网卡 安装驱动 可能自带自动安装 创建虚拟网卡 & 启用网卡wifi 共享网络给虚拟网卡当前上网的适...

  • VMwVMware虚拟机的三种网络模型

    VMware虚拟机的三种网络模型一、Bridged(桥接模型)桥接模式是将主机网卡与虚拟机虚拟的网卡用虚拟网卡网桥...

网友评论

    本文标题:macvlan 一种虚拟网卡解决方案

    本文链接:https://www.haomeiwen.com/subject/rgbijqtx.html