HOST не может подключиться к GUEST с помощью NAT-сетей в Virtualbox, но другие

HOST не может подключиться к GUEST с помощью NAT-сетей в Virtualbox, но другие

Меня смущает сетевое взаимодействие NAT, но для этого я могу использовать VMware и Parallels Desktop.

Я знаю, как работает NAT, просто мне нужно объяснить эту ситуацию.

Следующее изофициальные документы. Почему HOST не может подключить GUEST с помощью NAT. введите описание изображения здесь

решение1

Если вы хотите подключиться к гостевой машине с хоста, используя сеть NAT:

Сначала создайте сеть NAT — создайте сеть в VirtualBox Manager, Файл -> Настройки -> Сеть, и дайте ей имя.

Назначьте эту именованную сеть NAT каждой гостевой машине в их сетевых конфигурациях в VirtualBox.

Запишите, какой IP-адрес назначается вашим гостевым машинам, когда вы их запускаете. Это будет что-то вроде 10.0.2.15 или 10.0.2.4. В системах Posix запустите "ifconfig" и посмотрите, какие IP-адреса отображаются для em0. Запишите, какой адрес соответствует какой гостевой машине.

Измените переадресацию портов сети NAT. В диспетчере VirtualBox перейдите в Файл -> Настройки -> Сеть и нажмите кнопку редактирования для используемой сети NAT. Нажмите Переадресация портов. Добавьте правила, которые перенаправляют порты на вашей хост-машине на IP-адрес + порт на гостевых машинах (вам не нужно устанавливать IP-адрес для вашей хост-машины, это необязательно).

решение2

Я немного подумал и нашел идеальное решение, которое легко реализовать.

Добавьте второй интерфейс!!

Один из них — интерфейс NAT для связи виртуальной машины с Интернетом. Другой — интерфейс только для хоста. В моем случае я устанавливаю гостевую ОС CentOS. Появляется новый интерфейс, оба получают свои IP-адреса в соответствующих сетях. Интерфейс только для хоста не устанавливает маршрут по умолчанию, поэтому никаких конфликтов. Он просто работает. Я получаю открытый доступ к гостевой ОС с хоста, используя IP-адрес в сети только для хоста, который определен в VirtualBox.

решение3

Для подключения от ХОСТА к ГОСТЕВОЙ виртуальной машине с использованием сети NAT просто добавьте переадресацию порта.

После этого вы сможете получить доступ к перенаправленному порту как к локальному порту:

ssh root@localhost

введите описание изображения здесь

решение4

Меня это укусило 2 года назад. Для простоты я хотел, чтобы все мои гости были в той же подсети, что и интерфейс VirtualBox хоста, чтобы SSH или VNC в любой из них. И также чтобы они видели друг друга и имели доступ в Интернет (только для клиентов).

Поскольку у меня есть около 10 гостевых виртуальных машин для разработки на хосте ноутбука, который часто переключается из одной сети в другую, я не мог использовать мост (хотел использовать фиксированные IP-адреса для всех гостей для легкого доступа с хоста).

Сеть NAT была почти идеальной, за исключением отсутствия связи между гостями и хостом.

Сеть, предназначенная только для хоста, была почти идеальной, за исключением отсутствия доступа в Интернет для гостей.

В конце концов мне удалось получить рабочую конфигурацию с одной минимальной виртуальной машиной Debian, действующей как DNSmasq с двумя интерфейсами, и мостом этих двух интерфейсов. Ну, до прошлой недели я просто отключил сетевой интерфейс virtualbox из-за конфликта с другим программным обеспечением, и при его повторном включении доступ хоста к гостю вообще перестал работать.

Через 2 часа удалось восстановить либо доступ в Интернет для гостей, либо доступ гостей между собой, а не к хосту.

Можно, пожалуй, попробовать в качестве последнего варианта режим Host-Only для всех гостей и виртуальную машину шлюза, выполняющую NAT, хотя было бы очень некрасиво иметь два последовательно подключенных NAT, а у гостей будут разные адреса между собой и с хоста.

Связанный контент