У меня есть хост VirtualBox (Linux) с гостевой ОС Windows 8.1. Конфигурация виртуальной сети для этого гостя:
После отключения автоматической метрики на адаптере 2 только для хоста (в гостевой ОС) и установки ее на 1 или 800 (т.е. не имеет значения, выше или ниже метрики адаптера 1), я мог отправлять многоадресный трафик ( через tcpreplay) с хоста на паравиртуализированный интерфейс (eth0), и приложение на гостевой машине может получить его на Adapter1.
Однако при отправке тех же данных на адаптер только для хоста (vboxnet0) я не могу получить их в гостевой системе на адаптере 2. Хотя wirehark действительно захватывает пакеты:
Это похоже на то, когда я пытаюсь получить пакеты, которые поступают на сетевой адаптер, без присоединения к группам многоадресной рассылки, то есть похоже, что сетевой стек отбрасывает пакеты, потому что приложение не присоединилось для этих адресов многоадресной рассылки.
Итак, как можно получать данные многоадресной рассылки на адаптере только для хоста?
Я попробовал это снова сегодня, снова установив метрики вручную, чтобы метрика адаптера только для хоста была самой низкой (= наивысшим приоритетом), и: Это работает!
Я почти уверен, что именно это я сделал на днях, когда разместил вопрос, поэтому я не уверен, что изменилось, но в любом случае: многоадресный прием через виртуальные сетевые адаптеры только для хоста действительно возможен.