Linux: проблемы с multicast через bridge
Возникла проблема следующего содержания. На сервере виртуальных машин настроен bridge-интерфейс, в котором в интерфейс br0 объединены интерфейсы vnet0 и eth0. Виртуальная машина вещает мультикаст. Однако, на оборудовании выходного мультикаста не видно.
При анализе ситуации с помощью tcpdump
было выявлено следующее:
На виртуальной машине мультикаст есть.
На интерфейсе vnet0 хост-машины мультикаст тоже есть.
На интерфейсе eth0 хост машины мультикаста нет.
Для решения этой проблемы необходимо выключить IGMP snooping. Это можно сделать командой
echo 0 >/sys/devices/virtual/net/$BRIDGE/bridge/multicast_snooping
где $BRIDGE
- имя интерфейса моста, в нашем случае br0.