Как принять мультикаст: частые проблемы и решения
Неправильные данные при запуске
Люди часто обращаются к нам, присылают скриншоты, где, например, вбили IP-адрес с пятью октетами вместо четырёх. Такое случается довольно часто, поэтому при запуске нужно просто внимательно проходить этот шаг: проверять мультикаст группу, порт или сетевой интерфейс, и проблем не будет.
Firewall
На многих дистрибутивах Firewall (например, iptables или firewalld) активирован по умолчанию и не пропускает входящий трафик. Для теста достаточно его остановить. Если поток пошёл — значит, проблема была в файрволе. Прописываем нужные правила, и трафик принимается.
RP-фильтр
Этот фильтр защищает от «марсианских» пакетов, то есть пакетов с адресов, которые не находятся в таблице маршрутизации. На современных дистрибутивах правила стали проще, и часто достаточно просто выключить его. Если поток пошёл, можно либо оставить фильтр выключенным (если это ваша внутренняя, изолированная сеть), либо добавить необходимые маршруты для приёма мультикаста.
Неправильная версия IGMP
Иногда коммутатор «не понимает» запросы от вашего сервера. Linux по умолчанию использует IGMPv3, но многие сети работают на IGMPv2. Убедитесь, что вы используете версию IGMP, совместимую с вашим сетевым оборудованием.
После этих шагов мультикаст должен приниматься корректно. В следующих постах мы разберём типичные ловушки при мониторинге мультикаст-трафика и покажем, как получать достоверные данные даже при высоких нагрузках.