macvlan de libvirt ha ganado soporte para multidifusión. Desafortunadamente, está deshabilitado por la configuración predeterminada trustGuestRxFilters="no"
, y la documentación no es explícita de que esto interrumpa la multidifusión. Como observó, romper la multidifusión también rompe IPv6.
https://bugzilla.redhat.com/show_bug.cgi?id=1035253#c15
Es posible que pueda solucionar esto configurando manualmente trustGuestRxFilters="yes"
. Hay una limitación:"la compatibilidad depende del modelo de dispositivo de red invitado, así como del tipo de conexión en el host". "Actualmente solo es compatible con virtio
modelo de dispositivo y para macvtap
conexiones en el host".
https://libvirt.org/formatdomain.html#elementsNICS
En mi opinión, el modelo natural sería permitir la multidifusión de forma predeterminada. Bloquear la recepción de multidifusión, en una red a la que cree que está conectado directamente, es una sorpresa desagradable. Especialmente desde macvtap
todavía parece permitir enviar paquetes de multidifusión (¡así como direcciones de origen MAC falsificadas!).
La respuesta de sourcejedi contiene la solución, pero tal vez no lo suficientemente explícita. Usando "virsh edit", configure el trustGuestRxFilters
atributo en el dispositivo de red:
<interface type='direct' trustGuestRxFilters='yes'>
Consulte los documentos de libvirt. Se puede hacer lo mismo para todas las interfaces en una red libvirt.