为多播使用方实例配置 IGMP
本页面介绍了如何对多播使用方虚拟机实例配置 IGMPv2,以便在实例上运行的应用可以加入和退出多播群组。
如需将实例配置为多播使用方,您必须按照本页面上的过程启用 IGMP 查询以及在客机操作系统中设置 IGMPv2
如需详细了解 IGMPv2 在您配置实例后的运作方式,请参阅 IGMPv2 的运作方式。
启用 IGMP 查询
创建启用 IGMP 查询的新实例,或对现有实例启用 IGMP 查询。
如需详细了解如何创建实例,请参阅创建和启动 Compute Engine 实例。
gcloud
如需创建启用 IGMP 查询的新实例,请使用
beta compute instances create命令。您可以选择使用
--shielded和no-address参数创建没有外部 IP 地址的安全强化型实例。gcloud beta compute instances create INSTANCE_NAME \ --zone=ZONE \ --network-interface=network=MULTICAST_CONSUMER_NETWORK,subnet=MULTICAST_CONSUMER_SUBNET,igmp-query=IGMP_QUERY_V2[,no-address] \ --machine-type=MACHINE_TYPE \ [--shielded-secure-boot] \ [--shielded-vtpm] \ [--shielded-integrity-monitoring]
替换以下值:
INSTANCE_NAME:实例的名称ZONE:要创建实例的可用区。 必须是您在其中激活了用于托管实例的多播使用方 VPC 网络的可用区。MULTICAST_CONSUMER_NETWORK、MULTICAST_CONSUMER_SUBNET:要在其中托管实例的多播使用方 VPC 网络和子网MACHINE_TYPE:实例的机器类型。 如有必要,您可以使用compute machine types list命令查看给定可用区中的可用机器类型。
如需对现有实例启用 IGMP 查询,请使用
beta compute instances network-interfaces update命令。以下命令会更新
nic0接口。如需指定其他接口,请使用--network-interface标志。gcloud beta compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE \ --igmp-query=IGMP_QUERY_V2
替换以下值:
INSTANCE_NAME:实例的名称ZONE:实例的可用区
在客机操作系统中设置 IGMPv2
如需在实例的客机操作系统中设置 IGMPv2,请执行以下操作:
使用 SSH 连接到实例。
运行以下命令,并确定连接到多播使用方 VPC 网络中子网的网络接口的名称。
sudo ifconfig
运行以下命令以强制使用 IGMPv2。
sudo -i echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_NAME/force_igmp_version
将
NETWORK_INTERFACE_NAME替换为网络接口的名称。
后续步骤
- 如需在不启动应用工作负载的情况下快速测试多播配置,您可以使用
iperf工具,如用于测试多播流量的示例命令中所述。