1

В VirtualBox в Windows у меня есть гость, на котором запущен Ubuntu Server с запущенными службами apache2 и openssh-server. Файл конфигурации /etc/network/interfaces дает ему статический IP-адрес 10.10.10.2/24, а в свойствах виртуальной машины сетевой адаптер установлен только на хост. Хост-адаптер VirtualBox Ethernet для хоста имеет IP-адрес 10.10.10.1/24. Эти адреса не находятся в том же диапазоне, что и хост (который назначается DHCP в диапазоне 192.168.1.0/24).

С хоста я могу перейти к 10.10.10.2 и увидеть страницу Apache "Это работает", и я могу SSH к 10.10.10.2 и войти в систему гостя. Все хорошо.

Тем не менее, установка, к которой я стремлюсь, - это тот же гость Ubuntu, который работает на хосте Ubuntu Server (а не на хосте Windows). Поэтому я экспортировал гостя как устройство и импортировал его в VirtualBox в Ubuntu. Поскольку адаптер VirtualBox Host-Only Ethernet Adapter специфичен для Windows, а в Linux этот адаптер называется vboxnet0, я использовал vboxmanage modifyvm <foo> hostonlyadapter1 vboxnet0 для соответствующего обновления гостя. Гость загружается без головы без ошибок, но с хоста я не могу wget 10.10.10.2 или ssh 10.10.10.2 . Обе команды говорят "нет маршрута к хосту". ping 10.10.10.2 вызывает From 10.10.10.1 [...] Destination Host Unreachable .

Что еще нужно сделать в Ubuntu, что должно происходить автоматически в Windows, чтобы хост мог связаться с гостем через сеть только для хоста?

3 ответа3

1

Я предполагаю, что ваш сервер Ubuntu не выполняет автоматическую настройку vboxnet0 (то есть поддельной сетевой карты на главном компьютере) должным образом. Вы можете проверить это с помощью ifconfig - vboxnet0 должен присутствовать и перечислить правильную конфигурацию IP.

Если vboxnet0 не существует, вам нужно его создать (см. Это описание, чтобы узнать, как это сделать).

Если он существует, его может потребоваться настроить вручную (путем редактирования /etc /interfaces или любого другого метода, рекомендованного для Ubuntu).

0

Я сталкивался с подобным поведением vitrualbox на хосте osx. Когда вы запускаете гостевую машину (как вы сказали, вы запускаете "без головы"), она создает интерфейс vboxnet0, отправляет его и все такое.

Если вы создадите vboxnet0 самостоятельно (через vboxmanage) до запуска ВМ, ВМ НЕ будет повторно использовать то, что вы сделали. Фактически, я закончил со скриптом, говорящим, что ifconfig vboxnet0 down прежде чем вызывать VM start, чтобы убедиться, что VM настраивает сам интерфейс. Это было довольно нелогично.

Дайте мне знать, если это работает на хосте Ubuntu.

-1

Судя по всему, это проблема маршрутизации внутри хоста VM. Чтобы исправить это, вам нужно проверить, включена ли мостовая сеть, это должно быть в настройках виртуальной машины.

Вот документы, с которых вы можете начать:http://www.virtualbox.org/manual/ch06.html#network_bridged

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .