libvirt の macvlan がマルチキャストのサポートを獲得しました。残念ながら、デフォルト設定 trustGuestRxFilters="no"
では無効になっています 、そしてドキュメントはこれがマルチキャストを壊すことを明示していません。お気づきのように、マルチキャストを壊すと IPv6 も壊されます。
https://bugzilla.redhat.com/show_bug.cgi?id=1035253#c15
trustGuestRxFilters="yes"
を手動で設定することで、これを回避できる場合があります。 .制限があります。「サポートはゲスト ネットワーク デバイスのモデルと、ホストの接続の種類によって異なります」。 "現在、virtio
でのみサポートされています デバイス モデル、および macvtap
の場合 ホスト上の接続".
https://libvirt.org/formatdomain.html#elementsNICS
IMO の自然なモデルは、デフォルトでマルチキャストを許可することです。直接接続していると思われるネットワークでマルチキャストの受信をブロックするのは、不愉快な驚きです。特に macvtap
以降 送信はまだ許可されているようです マルチキャスト パケット (およびスプーフィングされた MAC ソース アドレス!)。
sourcejedi による回答には解決策が含まれていますが、明示的に十分ではない可能性があります。 「virsh edit」を使用して、trustGuestRxFilters
を設定します ネットワーク デバイスの属性:
<interface type='direct' trustGuestRxFilters='yes'>
libvirt のドキュメントを参照してください。 libvirt ネットワーク上のすべてのインターフェースに対して同じことができます。