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

758
dave559

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

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

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

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

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

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

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

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

2

2 ответа на вопрос

1
dave559

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

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

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

В этом случае основной операционной системой является Windows, а hostsфайл: c:\windows\system32\drivers\etc\hosts

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

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

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

Только хост - это действительно путь. Вы можете использовать статический IP-адрес на интерфейсе гостевой стороны. Daniel B 7 лет назад 1
0
jason rodgers

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

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

Спасибо, извините, если моя формулировка была неясной: интерфейс виртуальной сети моста, казалось, настраивал себя с IPv6 автоматически, но не с IPv4 вообще. Действительно, наш сайт еще не поддерживает IPv6, поэтому нам нужно, чтобы виртуальный компьютер был виден через IPv4. Он должен быть виден только основной операционной системе (Windows) на реальном компьютере, на котором работает виртуальная машина, а не Интернету в целом. dave559 7 лет назад 0

Похожие вопросы