首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux虚拟网络之Macvlan基础

Linux虚拟网络之Macvlan基础

作者头像
用户5921339
发布2025-05-20 16:22:10
发布2025-05-20 16:22:10
1K0
举报

Macvlan简介

Macvlan是一项二层网络技术,能够实现在一个物理接口上配置多个MAC地址。Macvlan允许以物理接口作为父接口,配置多个拥有唯一MAC(随机生成)地址和IP地址的子接口。然后,应用程序、虚拟机和容器能通过绑定指定的子接口,从而使用它们自己的MAC地址和IP地址直接连接到宿主机接口上。

Macvlan子接口与父接口并不能直接进行通信,如果需要两者之间进行通信,必须为宿主机添加另一个子接口。macvlan子接口使用类似mac0@eth0的网络符号,以此来清晰的标识子接口和父接口。注意,子接口的状态跟父接口的状态是绑定的,当eth0状态变成off的时候,子接口mac0@eth0也会变成off状态。

Macvlan的工作模式

Macvlan有四种网络模式:

  1. private
  2. vepa(virtual ethernet port aggregator,虚拟以太网端口聚合)
  3. bridge
  4. passthru

其中,vepa是默认的工作模式。

private模式

这种模式下,相同父接口下的子接口彼此之间不能通信,子接口所有的数据帧被父接口转发到外部,即使数据帧经过物理交换机传递到另外个子接口也会被丢弃。

vepa模式

vepa模式是Macvlan默认工作的网络模式,所有子接口发出的数据帧需要经过父接口转发,经过上层交换机(可以是物理交换机,也可以是虚拟交换机)数据交换来完成通信,在vepa模式下,物理交换机需要支持802.1Qbg,简单来说就是交换机需要支持hairpin(发夹)功能。

bridge模式

在bridge模式下,子接口之间可以直接进行通信,所有数据帧不需要经过父接口转发到外部,采用bridge模式,macvlan不需要学习MAC,因为macvlan已经熟知所有的子接口物理地址,而且也不需要STP(生成树协议)功能。

bridge模式为虚拟机提供最快速的通信,但是有一个缺点:如果macvlan父接口down掉,父接口下的所有子接口也都将下线。

passthru模式

这种模式只允许一个虚拟机(或容器)直接连接到父接口上,且必须设置成混杂模式,也就是父接口只能与一个macvlan虚拟接口进行绑定,而且macvlan虚拟接口继承父接口的MAC地址。一般用于子接口桥接和创建VLAN子接口场景。

该模式的优点:虚拟机(或容器)能够更改MAC地址以及其他接口参数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档