network

macvlan 一种虚拟网卡解决方案

2019-01-26  本文已影响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要知道的小知识点

  1. macvlan 既不创建网络,主要有什么特性?或者说,macvlan的使用场景?
  1. 网络虚拟化的目的?
    就是在多租户场景下,在统一的底层网络之上,单独为每个租户虚拟出自己的网络从而达到隔离的目的。

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

  1. macvlan是linux kernel提供的一种network driver类型, 如何查看当前内核是否加载了该driver呢?
  1. macvlan的工作模式?

二、 测试

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
上一篇下一篇

猜你喜欢

热点阅读