Как я могу получить доступ к Apache (на VirtualBox guest) с хоста?

Я установил Apache на виртуальную машину Ubuntu. Когда я захожу в гостевой и загружаю Firefox, я вижу, что Apache работает нормально, когда я перехожу на localhost.

Я хотел бы получить доступ к этой же странице через хост. Я пробовал использовать IP-адрес гостя, но ничего не получается.

В идеале я бы хотел настроить свой Windows 7 (хост) на запрос http://guestserver.com сервера Apache на гостевой. Как я могу это сделать?

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

  1. Остановите виртуальную машину и откройте ее настройки в Менеджер VirtualBox (OSE)
  2. Пойти на Сеть вкладка
  3. Выберите сетевой режим по вашему выбору (мостовая сеть или только для хоста) (в приведенном ниже примере я использую только для хоста)

    Если вы хотите использовать мостовую сеть, вам необходимо выбрать правильный сетевой адаптер по адресу Имя. Для проводных подключений вы бы выбрали что-то вроде eth0. Беспроводные соединения обычно называются wlan0 (цифры могут отличаться)

  4. Сохраните настройки
  5. Запустите виртуальную машину Ubuntu
  6. Когда он включен, вы можете получить IP-адрес, выполнив:

    ifconfig | grep addr

    В приведенном ниже выводе, 192.168.56.101 это IP-адрес, который можно использовать в вашей хост-системе Win7 для доступа к вашей виртуальной машине:

    eth0  Link encap:Ethernet  HWaddr 08:00:27:70:27:fe        inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0      inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link      inet addr:127.0.0.1  Mask:255.0.0.0      inet6 addr: ::1/128 Scope:Host
  7. В вашей хост-системе Windows отредактируйте C:\Windows\System32\drivers\etc\hosts от имени администратора и добавьте строку:

    192.168.56.101   guestserver.com

    Если у вас есть хост-система Ubuntu, отредактируйте /etc/hosts с помощью sudo nano /etc/hosts

  8. Прибыль!

В моем случае у меня есть маршрутизатор, назначающий статический IP-адрес моему хост-компьютеру.

  1. Установите сетевой адаптер в качестве моста:

    Настройки > Сетевой > Адаптер 1 (Включить Сетевой адаптер) > Прилагается к: (Мостовой адаптер) > ХОРОШО

  2. Запустите виртуальную машину и войдите в систему

  3. Измените IP-адрес виртуальной машины с динамического на статический

    sudo nano /etc/сеть/интерфейсы

  4. В разделе основной сетевой интерфейс измените слово dhcp на staticи введите свой новый статический IP или прокомментируйте строку и добавьте новый

:

#iface eth0 inet dhcpiface eth0 inet static        address 192.168.10.110        netmask 255.255.255.0        gateway 192.168.10.1        network 192.168.10.0        broadcast 192.168.10.255

Обратите внимание, что мой маршрутизатор работает по адресу xxx.xxx.10.x, а ваш может быть на xxx.xxx.0.xorxxx.xxx.1.x или что-то еще.

После этого вы можете подключиться к Интернету как на хосте, так и на гостевой машине и ввести этот статический IP-адрес в своем веб-браузере, чтобы проверить свой сервер apache.

Вместо того, чтобы пытаться настроить адаптеры на Мостовой или сетевой адаптер только для хоста, вы можете попробовать переадресацию портов в разделе Брандмауэр / Другие порты, при этом ваш порт не настроен на tcp и udp-соединения.

Принятый ответ не сработал для меня (я установил virutalbox внутри ubuntu 12.04 LTS, а внутри virtualbox я установил сервер ubuntu 14.04 LTS). Я просто поменял местами сетевые настройки для Adapter1 и Adapter2, т.е. настроил Adapter1 на "мостовую сеть", а Adapter2 - на "NAT", и он начал работать.

Если вам нужен только определенный порт (скажем, если вы используете веб-приложение, такое как Jetty или Tomcat), просто сделайте:

>>>>Настройки - Сеть - Установите один из адаптеров в качестве NAT - Нажмите "Переадресация портов" - Установите соответствующий хост и гостевой порт.

После сохранения вы можете просто перейти со своего локального компьютера на localhost:hostport, и он будет перенаправлен на соответствующий порт виртуального ящика, и все готово.

Если вы не можете подключиться по ip, у вас вряд ли будет какой-либо успех с dns-именами при установке apache по умолчанию.

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

В мостовом режиме, если ваш хост использует статический IP-адрес, вы должны вручную настроить свой гостевой IP-адрес в том же диапазоне, что и IP-адрес хоста. В противном случае гостю не будет автоматически присвоен действительный IP-адрес. HTH.

>>>>>Ответ Лекенштейна верен. Но если вы находитесь в корпоративной среде, вам, возможно, придется отключить прокси-сервер для IP-адреса вашего гостя. Например, если вы используете Mozilla Firefox на своем хост-компьютере и пытаетесь получить доступ к 192.168.56.101/ на гостевой машине, вам нужно перейти в Инструменты-Параметры-Расширенные-Сетевые настройки Firefox и использовать "Нет прокси" или "Нет прокси для - 192.168.56.101".

Если вам нужно получить доступ к гостю, который получает другой IP-адрес из-за использования DHCP, я предлагаю получить доступ через его имя хоста. Однако для доступа через имя хоста, когда хостом является Windows, может потребоваться дополнительный инструмент.

Следующий текст был скопирован с моего собственного ответ в superuser.com .:

Я предлагаю вам использовать Многоадресная рассылка DNS чтобы исправить это.

Ubuntu использует это по умолчанию через Авахи.

Хосту Windows необходим Avahi-клиент, чтобы он мог обнаруживать другие Avahi-сервисы. Если ваш хост уже использует какое-либо программное обеспечение Apple, оно, вероятно, уже существует через сервис под названием Bonjour. Однако, если это еще не установлено, то небольшая версия Bonjour доступна для скачивания здесь: Услуги печати Bonjour. После установки вы должны иметь возможность получить доступ к своему гостю через .местный.

Примечание: Система mDNS, похоже, использует .local postfix по умолчанию. Итак, если ваше имя хоста "dev.myapp.com ", тогда фактическое имя хоста будет "dev.myapp.com.local".

я решил ту же проблему после долгих поисков и прочитал много сообщений в следующей форме:

1) Смонтируйте виртуальную машину в Virtual Box 6.1 с пустой версией Ubuntu Server 16.04, 2 ГБ оперативной памяти и одним процессором. Хост-машина - это Windows 7, подключенная к маршрутизатору. У меня есть общедоступный IP-адрес, и я настроил переадресацию IP-адресов mi Router vía и открыл порт 80 для локального IP-адреса моей хост-машины: 192.168.xx.xx.

>>>>>>2) Затем в виртуальном окне перейдите в меню Инструменты-Настройки - Сеть -Добавить новую сеть NAT. Затем отредактируйте этот новый NAT Netw. - Имя = "NatNetwork". Затем нажмите на Переадресацию портов - IPv 4 - Правило 1; TCP; IP-адрес хоста 192.168.xx.x (локальный IP-адрес хост-компьютера); Порт хоста = 80; Гостевой IP-адрес = 10.0.2.xx (это IP-адрес моего гостевого сервера ubuntu, который я вижу в $ifconfig с консоли); Гостевой порт = 80. Затем нажмите в ACEPT.

>3) В виртуальной машине (в моем случае Ubuntu) перейдите в раздел Конфигурация - Конфигурация локальной сети: Подключено к: RedNat; Name = "NatNetwork" (выберите сеть Nat). что создано в 2).

4) Затем я ЗАПУСКАЮ свою гостевую машину (Ubuntu Server 16).

5) В консоли, которую я установил Apache2, выполните действия, описанные в https://www.digitalocean.com/community/tutorials/como-instalar-linux-apache-mysql-php-lamp-en-ubuntu-16-04-es

6) Когда apache2 установлен, я могу просматривать свой сервер Apache через $ curl 10.0.2.xx (локальный ip моей гостевой машины) и тот же сервер Apache через Chrome на моей хост-машине с локальным IP 192.168.xx.xx и тот же сервер Apache с моим общедоступным IP (потому что я уже настроил свой маршрутизатор для переадресации IP-адресов).

На следующей странице вы можете просмотреть графический процесс:https://estudioecabrera.com.ar/apache-ubuntu/

Я нашел сайт, который помог мне решить эту проблему. Приведенные ниже ответы верны, но ничего не показывают о создании виртуального адаптера в виртуальной машине. Сайт, на который я ссылался, - это: