4.10. 在 ML2/OVN 部署中启用多播
要支持多播流量,请修改部署的安全配置,以允许多播流量到达多播组中的虚拟机(VM)实例。要防止多播流量填充,启用 IGMP snooping。
在将任何多播配置应用到生产环境之前,请测试并了解任何多播侦听配置。错误配置可能会破坏多播或导致网络行为错误。
先决条件
- 使用 ML2/OVN 机制驱动程序的 OpenStack 部署。
流程
配置安全性,以允许多播到适当的虚拟机实例。例如,创建一对安全组规则,以允许来自 IGMP querier 的 IGMP 流量进入和退出虚拟机实例,以及允许多播流量的第三个规则。
- 示例
安全组 mySG 允许 IGMP 流量进入并退出虚拟机实例。
openstack security group rule create --protocol igmp --ingress mySG openstack security group rule create --protocol igmp --egress mySG另一种规则允许多播流量访问虚拟机实例。
openstack security group rule create --protocol udp mySG作为设置安全组规则的替代选择,一些操作员选择有选择地禁用网络上的端口安全性。如果您选择禁用端口安全性,请考虑和规划任何相关的安全风险。
在 undercloud 节点上的环境文件中设置 heat 参数
NeutronEnableIgmpSnooping: True。例如,将以下行添加到 ovn-extras.yaml 中。- 示例
parameter_defaults: NeutronEnableIgmpSnooping: True
在
openstack overcloud deploy命令中包含环境文件以及与您环境相关的任何其他环境文件并部署 overcloud。$ openstack overcloud deploy \ --templates \ … -e <other_overcloud_environment_files> \ -e ovn-extras.yaml \ …将
<other_overcloud_environment_files>替换为属于您现有部署的环境文件列表。
验证
验证是否启用了多播 snooping。列出北向数据库 Logical_Switch 表。
$ ovn-nbctl list Logical_Switch- 输出示例
_uuid : d6a2fbcd-aaa4-4b9e-8274-184238d66a15
other_config : {mcast_flood_unregistered="false", mcast_snoop="true"}
...
+ Networking Service (neutron) igmp_snooping_enable 配置转换为 OVN 北向数据库中 Logical_Switch 表的 other_config 列中设置的 mcast_snoop 选项。请注意,mcast_flood_unregistered 始终为"false"。显示 IGMP 组。
+
$ ovn-sbctl list IGMP_group
+ 示例输出:
_uuid : 2d6cae4c-bd82-4b31-9c63-2d17cbeadc4e
address : "225.0.0.120"
chassis : 34e25681-f73f-43ac-a3a4-7da2a710ecd3
datapath : eaf0f5cc-a2c8-4c30-8def-2bc1ec9dcabc
ports : [5eaf9dd5-eae5-4749-ac60-4c1451901c56, 8a69efc5-38c5-48fb-bbab-30f2bf9b8d45]
...