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