MAC 管理交换配置文件支持两种功能:MAC 发现和 MAC 地址更改。
MAC 地址更改功能允许虚拟机更改其 MAC 地址。连接到端口的虚拟机可以运行管理命令以更改其 vNIC 的 MAC 地址,并仍然在该 vNIC 上发送和接收流量。仅在 ESXi 上支持该功能,而在 KVM 上不支持。在默认 MAC 管理交换配置文件中,默认启用此属性。
MAC 学习提供到在一个 vNIC 后面配置多个 MAC 地址的部署的网络连接,例如,在嵌套 Hypervisor 部署中,ESXi 虚拟机在 ESXi 主机上运行,并且多个虚拟机在 ESXi 虚拟机中运行。如果未使用 MAC 发现,在 ESXi 虚拟机的 vNIC 连接到交换机端口时,其 MAC 地址是静态的。在 ESXi 虚拟机中运行的虚拟机没有网络连接,因为其数据包具有不同的源 MAC 地址。通过使用 MAC 学习,vSwitch 检查来自 vNIC 的每个数据包的源 MAC 地址,学习 MAC 地址并允许数据包通过。如果在特定时间段内未使用发现的 MAC 地址,则会将其移除。无法配置该到期属性。
MAC 学习还支持未知单播泛洪。通常,在端口收到的数据包具有未知目标 MAC 地址时,将丢弃该数据包。在启用未知单播泛洪的情况下,端口将未知单播流量泛洪到交换机上启用了 MAC 学习和未知单播泛洪的每个端口。默认情况下,将启用该属性,但只有在启用 MAC 发现时才启用。
可以配置可学习 MAC 地址的数量。最大值为 4096,这是默认值。您还可以设置达到限制设置时实施的策略。选项包括:
- 丢弃 - 来自未知源 MAC 地址的数据包被丢弃。此 MAC 地址的入站数据包将被视为未知单播。仅当端口启用了未知单播泛洪时,端口才会接收数据包。
- 允许 - 尽管不会学习该地址,但会转发来自未知源 MAC 地址的数据包。此 MAC 地址的入站数据包将被视为未知单播。仅当端口启用了未知单播泛洪时,端口才会接收数据包。
如果启用 MAC 学习或 MAC 地址更改以提高安全性,还要配置 SpoofGuard。