У меня есть один гость, работающий в Virtual Box на хосте Ubuntu, и один гость, работающий в виртуальном боксе на Ubuntu на другом хосте. Я хочу общаться от одного гостя до другого гостя. Как я могу сделать это в виртуальной коробке?
1 ответ
- Если вы хотите почувствовать независимость сети между виртуальными машинами, лучшее решение - туннели VDE или UDP. В этом случае VBox будет инкапсулировать пакеты VM в UDP и отправлять их по физической сети, затем декапсулировать и внедрять в VM. Виртуальная машина увидит полностью независимую сеть, а узлы увидят потоки UDP с трафиком виртуальной машины (в незашифрованном виде, поэтому вы сможете анализировать происходящее там).
Это описывается как "общая сеть" в руководстве https://www.virtualbox.org/manual/ch06.html#networkingmodes
и есть точные команды, как его настроить:https://www.virtualbox.org/manual/ch06.html#network_udp_tunnel
Кроме того, вы можете использовать 802.1q VLAN. Сетевой фильтр VirtualBox корректно работает с сетевыми возможностями Linux, такими как подинтерфейсы vlan, связи lacp и т.д. (Я это тщательно проверил). Вы создаете подинтерфейс vlan на каждом хосте (как это сделать, используя руководство по ubuntu или debian) и соединяете свои виртуальные машины с этим подинтерфейсом. Убедитесь, что ваш коммутатор пересылает помеченные пакеты. Этот параметр может быть сложнее настроить, но он имеет некоторые преимущества. Например, ваши хосты Ubuntu не будут видеть трафик виртуальной машины в своем базовом интерфейсе "по умолчанию", а хосты Windows вообще не смогут видеть маркированные пакеты 802.1q, поэтому только помехи будут вызваны общей пропускной способностью.
Если вам не нужно чувствовать себя полностью независимой сетью, просто соедините ваши виртуальные машины с физической локальной сетью и настройте там другую IP-сеть. Просто, но для многих случаев этого достаточно.