Почему мой Linux-хост внезапно перестал получать многоадресную рассылку? Все остальные сетевые карты в частной сети получают

Почему мой Linux-хост внезапно перестал получать многоадресную рассылку? Все остальные сетевые карты в частной сети получают

Вот моя дилемма. Внезапно, со вчерашнего дня, multicast-пакеты перестали поступать с eth1 (частная гигабитная сеть) с одного узла. Маршрутизация между всеми узлами в порядке, никаких коллизий, потерь пакетов и т. д.

ifconfiginfo, inet addr, Bcast, Mask, все в порядке - они все используют один и тот же bcast и сетевую маску. Также они все используют: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 on eth1 .

Все эти узлы размещены поставщиком Xen VM. Все гости видят частные IP-адреса друг друга. Никаких iptablesправил не предусмотрено. Многоадресные пакеты видны между всеми узлами (20+), кроме одного — с использованием tcpdump. Система была перезапущена и т. д.

просто добавлю, что, согласно netstat -g, затронутому узлу не назначена группа многоадресной рассылки «eth1 1 224.2.2.4», как всем остальным.

Что могло вызвать что-то подобное? Похоже, что один узел больше не является частью группы multicast - у меня открыт тикет, но у меня такое чувство, что они в тупике.

решение1

Я не знаю о какой-либо политике истечения срока действия для членства в группе IGMP в стеке Linux. Это может произойти, но я сомневаюсь, поскольку есть по крайней мере два способа сообщить ядру (один явный, другой неявный), когда членство программы в IGMP должно быть прекращено.

Поэтому я думаю, что у вас есть ошибка в программном обеспечении, прослушивающем пакеты многоадресной рассылки. (Не могли бы вы назвать ее?) Программа, получающая многоадресную рассылку, каким-то образом либо отменила свое членство, либо забыла добавить свое членство при запуске. При перезапуске программы многоадресного прослушивателя, tcpdumpвы должны увидеть, как запрос на добавление членства в группе IGMPv2+ выходит в сеть.

Вы, возможно, никогда не замечали эту ошибку при тестировании в небольшой локальной сети, поскольку дешевые сетевые коммутаторы не понимают IGMP. Эта функция называется IGMP snooping и встречается только в коммутаторах, которые стоят примерно в 5 раз дороже, за порт, самых дешевых устройств, или даже больше. Коммутатор без возможности IGMP snooping — или с отключенной функцией — превращает многоадресную рассылку в широковещательную, поэтому сообщения IGMP group-add не нужны.

По всей видимости, ваш хостинг-провайдер включил отслеживание IGMP в своей сетевой инфраструктуре, поскольку многоадресные сообщения перестали поступать после того, как членство в группе IGMP исчезло в сетевом стеке проблемной машины.

Также может быть, что параметры отслеживания IGMP хостинг-провайдера неправильно настроены на коммутаторах, поэтому они отменяют членство в группе, но это не объясняет результат netstat -g.

Связанный контент