macvlan von libvirt hat Unterstützung für Multicast erhalten. Leider ist es durch die Standardeinstellung trustGuestRxFilters="no"
deaktiviert , und die Dokumentation ist nicht explizit, dass dies Multicast unterbricht. Wie Sie beobachtet haben, wird durch das Unterbrechen von Multicast auch IPv6 unterbrochen.
https://bugzilla.redhat.com/show_bug.cgi?id=1035253#c15
Möglicherweise können Sie dies umgehen, indem Sie trustGuestRxFilters="yes"
manuell festlegen . Es gibt eine Einschränkung:"Die Unterstützung hängt vom Modell des Gastnetzwerkgeräts sowie von der Art der Verbindung auf dem Host ab". "Derzeit wird es nur für virtio
unterstützt Gerätemodell und für macvtap
Verbindungen auf dem Host".
https://libvirt.org/formatdomain.html#elementsNICS
IMO wäre das natürliche Modell, Multicast standardmäßig zuzulassen. Das Blockieren des Multicast-Empfangs in einem Netzwerk, mit dem Sie glauben, direkt verbunden zu sein, ist eine unangenehme Überraschung. Besonders seit macvtap
scheint immer noch Senden zuzulassen Multicast-Pakete (sowie gefälschte MAC-Quelladressen!).
Die Antwort von sourcejedi enthält die Lösung, aber vielleicht nicht explizit genug. Setzen Sie mit "virsh edit" den trustGuestRxFilters
Attribut auf dem Netzwerkgerät:
<interface type='direct' trustGuestRxFilters='yes'>
Siehe libvirt-Dokumentation. Dasselbe kann für alle Schnittstellen in einem libvirt-Netzwerk gemacht werden.