
Windows 8.1 ゲストを備えた VirtualBox ホスト (Linux) があります。そのゲストの仮想ネットワーク構成は次のとおりです。
ホスト専用の Adapter2 (ゲスト OS 内) で自動メトリックを無効にし、それを 1 または 800 に固定すると (つまり、Adapter1 のメトリックよりも高いか低いかは関係ありません)、ホストから準仮想化インターフェイス (eth0) にマルチキャスト トラフィック (tcpreplay 経由) を送信でき、ゲスト上のアプリは Adapter1 でそれを受信できるようになります。
ただし、同じデータをホスト専用アダプタ (vboxnet0) に送信すると、アダプタ 2 のゲストでは受信できません。Wireshark はパケットをキャプチャしますが、
これは、マルチキャスト グループに参加せずに NIC に到着したパケットを受信しようとしたときと似ています。つまり、アプリがそれらのマルチキャスト アドレスに参加していないため、ネットワーク スタックがパケットを破棄しているように見えます。
では、ホスト専用アダプターでマルチキャスト データを受信するにはどうすればよいのでしょうか?
答え1
今日、ホストオンリー アダプターのメトリックが最も低くなる (= 優先度が最も高くなる) ようにメトリックを手動で再度設定して、再度試してみましたが、うまくいきました。
先日質問を投稿したときにもそうしていたはずなので、何が変わったのかはわかりませんが、いずれにしても、ホスト専用の仮想 NIC を介したマルチキャスト受信は確かに可能です。