linux 虚拟网络_macvlan原理

linux 虚拟网络_macvlan原理      macvlan是Linux操作系统内核提供的网络虚拟化方案之一,更准确的说法是网卡虚拟化方案。它可以为一张物理网卡设置多个mac地址,相当于物理网卡施展了影分身之术,由一个变多个,同时要求物理网卡打开混杂模式。针对每个mac地址,都可以设置IP地址,本来是一块物理网卡连接到交换机,现在是多块虚拟网卡连接到交换机。macvlan应该很简单。1.环境准备         假设有一块物理…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        macvlan是Linux操作系统内核提供的网络虚拟化方案之一,更准确的说法是网卡虚拟化方案。它可以为一张物理网卡设置多个mac地址,相当于物理网卡施展了影分身之术,由一个变多个,同时要求物理网卡打开混杂模式。针对每个mac地址,都可以设置IP地址,本来是一块物理网卡连接到交换机,现在是多块虚拟网卡连接到交换机。macvlan应该很简单。

1.环境准备 

        假设有一块物理网卡,名称是enp0s8,连接到网络192.168.187.0/24网段,就在enp0s8上实验macvlan。

2.创建macvlan

  • 首先将enp0s8网卡的启动方式由原来的dhcp改成manual,不需要再自动获取IP地址,因为对于混杂模式下的网卡,IP地址是没有意义的。修改/etc/network/interfaces,配置如下:
auto enp0s8
iface enp0s8 inet manual
  • 创建macvlan:
    ip link add link enp0s8 dev enp0s8macv.01 type macvlan
    ip link add link enp0s8 dev enp0s8macv.02 type macvlan
    ip link set enp0s8macv.01 up
    ip link set enp0s8macv.02 up
  • 手动分配IP地址:
    dhclient enp0s8macv.01
    dhclient enp0s8macv.02

    经过确认可以知道enp0s8macv.01与enp0s8macv.02都正确分配到了网段192.168.187.0/24中的地址。创建的虚拟网卡既可以给本地宿主机使用,也可以指定宿主机上创建的虚拟机。

3.macvlan作用

        从以上的创建步骤可以看出,macvlan并没有创建网络,只是虚拟了网卡,共享了物理网卡所连接的外部网络,它的效果与桥接模式是一样的。网络虚拟化的目的就是在多租户场景,在统一的低层网络之上,单独为每个租户虚拟出自己的网络从而达到隔离的目的。macvlan既然不创建网络,又有什么用处呢?答案是效率,它是效率最高的跨主机网络虚拟化解决方案之一。vlan与vxlan方案中涉及到的虚拟化设备:

1.tap设备,就是虚拟机的网卡。

2.bridge设备,宿主机内的网络。

3.vlan/vxlan设备。

而macvlan只涉及到一个虚拟设备macvlan。可以看出,macvlan方案涉及到的虚拟设备更少,数据包处理所经过的点就更少,效率就更高。macvlan会出现在一些对网络性能要求极高的场景下.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169384.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号