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