Похоже, что большинство ядер (post v1) поддерживают многоадресную рассылку по умолчанию или имеют включенную CONFIG_IP_MULTICAST при компиляции. Чтобы проверить, подписывается ли скомпилированное и работающее ядро на какую-либо многоадресную группу, я бы использовал netstat -g
.
Кажется, что большинство ядер (post v1) поддерживают многоадресную рассылку по умолчанию.
[root@centos module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config
CONFIG_IP_MULTICAST=y
[root@centos module]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
Я вижу, что интерфейс eth0 на моем хосте считает, что он подписан на базовую группу mcast 224.0.0.251. Также в качестве альтернативы, если я пингую группу или сеть, а затем мне возвращаются все известные хост-сети с поддержкой многоадресной рассылки, я бы сказал, что многоадресная рассылка работает на хосте. Можете ли вы попробовать netstat -g
или cat /proc/net/igmp
посмотреть, возвращает ли он какие-либо группы на вашем хосте?
На вашей Linux-коробке:
ip maddr show
дает:источник
Отключить многоадресную рассылку:
результат:
В интерфейсе нет многоадресной рассылки
Включить многоадресную рассылку:
источник
ifconfig
это устарело ... мы должны использоватьiproute2
утилиты.ifconfig
ip
другие утилиты от iproute2 отражают последние изменения в сетевом коде ядра Linux (в отличие от этогоifconfig
).Используя
ip
команду, можно проверить, поддерживает ли интерфейс многоадресную рассылку:Для включения или отключения многоадресной рассылки вы можете использовать:
источник