Linux: проблемы с multicast через bridge

Возникла проблема следующего содержания. На сервере виртуальных машин настроен bridge-интерфейс, в котором в интерфейс br0 объединены интерфейсы vnet0 и eth0. Виртуальная машина вещает мультикаст. Однако, на оборудовании выходного мультикаста не видно.

При анализе ситуации с помощью tcpdump было выявлено следующее:

  1. На виртуальной машине мультикаст есть.

  2. На интерфейсе vnet0 хост-машины мультикаст тоже есть.

  3. На интерфейсе eth0 хост машины мультикаста нет.

Для решения этой проблемы необходимо выключить IGMP snooping. Это можно сделать командой

echo 0 >/sys/devices/virtual/net/$BRIDGE/bridge/multicast_snooping

где $BRIDGE - имя интерфейса моста, в нашем случае br0.