Отображение веб-сайта, работающего на гостевой виртуальной ОС VirtualBox, в браузере на хост-компьютере?

Я использую сервер Debian в качестве виртуальной машины в VirtualBox, который сам работает на (реальном) компьютере с Windows 7.

В целях тестирования мне нужно иметь доступ к веб-приложению, работающему на виртуальной машине Debian,через веб-браузер, который работает на реальном компьютере с Windows(но веб-сайт не должен быть доступен нигде в Интернете). Сама виртуальная машина также должна иметь работающее подключение к Интернету, чтобы она могла загружать обновления программного обеспечения и т. Д.

Используя браузер, работающий в ОС VM, можно получить доступ к веб-сайту, используя (фиктивное) имя хоста (FQDN) виртуальной машины (с настройкой единого виртуального сетевого интерфейса по умолчанию, который автоматически настроен для NAT), и я могу получить доступ к Интернет в целом, но пытаться получить доступ к сайту через (маленькое) окно виртуальной машины довольно неудобно и не очень желательно.

Из сетевой документации VirtualBox мне кажется, что мне, возможно, понадобится настроить (дополнительный?) Мостовой интерфейс виртуальной сети, чтобы сделать веб-сервер на виртуальной машине доступным для реального хост-компьютера, но я боюсь, что не могу найти инструкции понятны.

Я попытался создать новый виртуальный интерфейс через настройки сети VirtualBox и установил его как "Bridged Adapter", но это только кажется, что каким-то образом автоматически настроил адрес IPv6 (и не создал настройку адреса IPv4?). Если это уместно, наш сайт еще не поддерживает IPv6, и поэтому веб-сайт на виртуальной машине, вероятно, должен быть доступен для реального хоста ОС через IPv4?

Хотя я могу получить доступ к домашней странице сайта в хост-системе через IP-адрес IPv6, как только я пытаюсь добавить путь URI в адресную строку, это возвращается к (поддельному) имени хоста виртуального компьютера, и поэтому я могу не получить доступ к остальной части сайта.

Я двигаюсь в правильном направлении, или использую NAT с переадресацией портов (также указан на странице сети), возможно, также вариант?

Боюсь, я не нахожу документацию по VirtualBox вообще какой-либо помощью, и любое разъяснение того, что мне нужно сделать, будет высоко ценится.

2 ответа

Я не уверен, что это действительно лучшее решение для этой проблемы, но после дальнейших экспериментов, похоже, сработало следующее:

  1. Создайте второй сетевой интерфейс в VirtualBox и установите его для работы в режиме "только для хоста".

  2. Изменить hosts файл в операционной системе хоста, чтобы добавить жестко закодированный IP-адрес для имени хоста виртуальной машины.

В этом случае хост-ОС - это Windows, а hosts файл:c:\windows\system32\drivers\etc\hosts

  1. Это позволило веб-браузеру, работающему на хост-ОС, подключиться к веб-сайту / веб-серверу, работающему на виртуальной машине в гостевой ОС.

Меня беспокоит только то, что существует риск того, что VirtualBox в какой-то момент в будущем может принять решение не назначать один и тот же (частная сеть) IP-адрес второму сетевому интерфейсу, в зависимости от того, как он решит сделать эти вещи.

[Информация о редактировании Windows hosts любезность файла: Редактирование файла hosts

Во-первых, просто выключите IP6, если вы все равно его не используете, похоже, вы слишком много размышляете над этим. Создайте мост, проверьте брандмауэр и откройте только те порты, которые вам нужны. Вы можете найти практически любой хороший сайт и узнать, какой у меня внешний IP-адрес. С помощью этой информации вы сможете проверить любой порт и, поскольку у вас есть адрес WAN.

Если у вас все еще есть проблемы, напишите мне по электронной почте juscelph@gmail.com, и я смогу помочь вам.

Другие вопросы по тегам