GNU/Linux >> Linux の 問題 >  >> Linux

マルチキャスト パケットを正しく通過させるように macvtap を設定するにはどうすればよいですか?

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 ネットワーク上のすべてのインターフェースに対して同じことができます。


Linux
  1. Ansibleシステムロールを使用してネットワーク設定を構成する方法

  2. IP アドレス (インターフェイス) でマルチキャストを構成する方法

  3. Ubuntu DHCP クライアントを構成する方法

  1. Linuxで静的IPアドレスを設定してネットワークを構成する方法

  2. Linuxでフェイルオーバーと高可用性ネットワークボンディングを構成する方法

  3. Docker でスーパーバイザーを正しく構成する方法

  1. Fedoraで静的IPアドレスを設定する方法

  2. CentOS/RHEL 7 でネットワーク チーミングを構成する方法

  3. ネットワークで IP マルチキャストが有効になっているかどうかを確認するにはどうすればよいですか?