Задать вопрос
bibak
@bibak
Front-end dev

Как открыть сайт находящийся в ВМ из хостовой машины?

Привет всем!
1) На локальном компьютере (MacOS Monterey) установил ВМ (VirtualBox 6.1)
2) В ВМ добавил Ubuntu 16.04.7 (без GUI)
3) В Ubuntu установил и настроил веб-сервер apache2 и nginx
4) Внутри ВМ при проверке [curl 127.0.0.1:80] все нормально работает

Вопрос: Как из локального компьютера открыть сайт находящийся в ВМ?

Если есть ссылка на статью или видео, буду рад. Поискал пока не нашел

UPD 2022-10-17:
Ответ:
1) Необходимо добавить еще один адаптер (настройки/сеть/адаптер2)
2) Тип подключения - виртуальный адаптер хоста
3) Имя (если пусто то необходимо вручную создать - файл/менеджер_сетей_хоста/ тут нажимаете на плюс и ок) выбрать первый
// При создании сети из пункта 3 необходимо в ВМ/инстременты/сеть в строке убрать галочку с DHCP сервер, выбрать настроить адаптер вручную, там по умолчанию указано 192.168.56.1 и маска 255.255.255.0

Зайти в гостевой ОС
В файле /etc/network/interfaces добавить статический адрес соответсвующий сети 192.168.56.[1 - 255]:

auto enp0s8 (у вас может быть другое название вместо enp0s8, например enp0s10)
iface enp0s8 inet static
address 192.168.56.100
netmask 255.255.255.0
  • Вопрос задан
  • 1060 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 2
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Виртуальная машина обычно имеет внешний сетевой интерфейс, который обычно подключен к виртуальному коммутатору внутри хостовой системы. По этому адресу и стучитесь.
Узнать IP-адрес внутри виртуалки с ubuntu - набрать ip addr
Ответ написан
LikeMySoul
@LikeMySoul
Сис. Админ
Ок, исходя из того что это виртуалбокс и ip он получает видимо из своей отдельной NAT подсетки. Варианта реализации 2:
Первый пробросить еще один интерфейс как бридж и разрешить ему форвардить пакеты из сети 10.0.2.0 в вашу подсеть, после чего прописать маршруты на обеих(двоих?) сторонах и пробовать снова.
Второй просто удалить стандартный NAT интерфейс в virtualbox и добавить вместо него bridge чтоб ловил адрес в вашей сети. После чего перенастроить nginx и апач на новый ip полученый из вашей сети.
Есть третий, но это еще больший костыль чем первый вариант: поднять впн и пушить вашу машину по нему.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Nolan81
программист
Привет.
Мучался с этим.
Получилось.
Поделюсь, может кому сберегу время.
На винде10 работает виртуалка с ubuntu20. Внутри виртуалки апач и на нем сайт, скажем mysite1.front.
Шаги:
- Виртуальной машине в настройках сети, Адаптер 1, Тип подключения ставим Сетевой мост
- Внутри виртуалки выполняем команду:
ip a | grep enp
и смотрим где enp0s3. Видим там допустим - 192.168.0.11
- Снаружи, http ://192.168.0.11/ можно увидеть тот сайт что на localhost внутри
- Добавляем в виндосовский hosts
192.168.0.11 mysite1.front
, и по этому адресу - http ://mysite1.front/ - снаружи получаем доступ к сайту внутри виртуальной машины.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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