Warum sollte mein Linux-Host plötzlich aufhören, Multicast zu empfangen? Alle anderen Netzwerkkarten im privaten Netzwerk empfangen

Warum sollte mein Linux-Host plötzlich aufhören, Multicast zu empfangen? Alle anderen Netzwerkkarten im privaten Netzwerk empfangen

Hier ist mein Dilemma. Seit gestern werden plötzlich keine Multicast-Pakete mehr von eth1 (privates Gigabit-Netzwerk) von einem Knoten empfangen. Das Routing zwischen allen Knoten ist in Ordnung, keine Kollisionen, Paketverluste usw.

ifconfigInfo, Inet-Adresse, Bcast, Maske sind alle in Ordnung – sie teilen sich alle denselben Bcast und dieselbe Netzmaske. Außerdem teilen sie sich alle: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 auf eth1.

Diese Knoten werden alle von einem Xen-VM-Anbieter gehostet. Alle Gäste sehen die privaten IP-Adressen der anderen. Es gibt keine iptablesRegeln. Multicast-Pakete sind zwischen allen Knoten (20+) außer einem zu sehen – mit tcpdump. Das System wurde neu gestartet usw.

nur um hinzuzufügen, dem betroffenen Knoten wird laut netstat -g nicht die Multicast-Gruppe „eth1 1 224.2.2.4“ zugewiesen wie allen anderen.

Was könnte so etwas verursachen? Es scheint, dass ein Knoten nicht mehr Teil der Multicast-Gruppe ist – ich habe ein Ticket eröffnet, aber ich habe das Gefühl, dass sie ratlos sind.

Antwort1

Mir ist keine Ablaufrichtlinie für die IGMP-Gruppenmitgliedschaft im Linux-Stack bekannt. Es kann sein, dass es so ist, aber ich bezweifle es, da es mindestens zwei Möglichkeiten gibt, dem Kernel mitzuteilen (eine explizite und eine implizite), wann die IGMP-Mitgliedschaft eines Programms beendet werden soll.

Daher glaube ich, dass in der Software, die auf die Multicast-Pakete wartet, ein Fehler vorliegt. (Möchten Sie ihn benennen?) Das Programm, das das Multicast empfängt, hat entweder seine eigene Mitgliedschaft gelöscht oder vergessen, seine Mitgliedschaft beim Start hinzuzufügen. Beim Neustart des Multicast-Listener-Programms tcpdumpsollte die Anfrage zum Hinzufügen der Mitgliedschaft für die IGMPv2+-Gruppe im Netzwerk angezeigt werden.

Möglicherweise ist Ihnen dieser Fehler beim Testen in einem kleinen LAN nie aufgefallen, da billige Netzwerk-Switches IGMP nicht verstehen. Die Funktion heißt IGMP-Snooping und ist nur in Switches zu finden, die pro Port etwa das Fünffache oder mehr der billigsten Geräte kosten. Ein Switch ohne IGMP-Snooping-Funktion – oder einer, bei dem die Funktion deaktiviert ist – wandelt Multicast in Broadcast um, sodass IGMP-Group-Add-Nachrichten nicht erforderlich sind.

Ihr Hosting-Anbieter hat offenbar IGMP-Snooping in seiner Netzwerkstruktur aktiviert, da keine Multicast-Nachrichten mehr eingingen, nachdem die IGMP-Gruppenmitgliedschaft im Netzwerkstapel der fehlerhaften Maschine gelöscht wurde.

Es kann auch sein, dass die IGMP-Snooping-Optionen des Hosting-Anbieters in den Switches falsch konfiguriert sind, sodass die Gruppenmitgliedschaft gelöscht wird. Dies erklärt jedoch nicht das netstat -gErgebnis.

verwandte Informationen