Как я могу получить доступ к Apache (на гостевой VirtualBox) с хоста?
Я установил Apache на виртуальную машину Ubuntu. Когда я захожу в гостевую систему и загружаю Firefox, я вижу, что Apache работает нормально, когда я захожу на localhost.
Я хотел бы получить доступ к этой же странице через хост. Я пытался использовать IP-адрес гостя, но ничего не получается.
В идеале я хотел бы настроить Windows 7 (хост) по запросу http://guestserver.com
сервера Apache на гостя. Как я могу это сделать?
11 ответов
Если вам нужны другие машины в вашей физической сети для доступа к вашей виртуальной машине (или если виртуальной машине нужен доступ в Интернет), используйте мостовую сеть. В противном случае, придерживайтесь только сети хоста.
- Остановите свою виртуальную машину и откройте ее настройки в диспетчере VirtualBox (OSE)
- Перейти на вкладку Сеть
Выберите режим сети по вашему выбору (мостовая сеть или только хост) (в приведенном ниже примере я использую только хост)
Если вы хотите использовать мостовую сеть, вы должны выбрать правильный сетевой адаптер в Имя. Для проводных соединений вы бы выбрали что-то вроде
eth0
, Беспроводные соединения обычно называютwlan0
(цифры могут отличаться)- Сохранить настройки
- Запустите Ubuntu VM
Когда вверх, вы можете собрать 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
В хост-системе Windows отредактируйте
C:\Windows\System32\drivers\etc\hosts
от имени администратора и добавьте строку:192.168.56.101 guestserver.com
Если у вас есть хост-система Ubuntu, отредактируйте
/etc/hosts
с помощьюsudo nano /etc/hosts
- Прибыль!
В моем случае у меня есть маршрутизатор, назначающий статический IP-адрес моему хосту.
Установите сетевой адаптер как Bridge:
Настройки> Сеть> Адаптер 1 (Включить сетевой адаптер) > Подключен к: (Мостовой адаптер) > ОК
Запустите виртуальную машину> войдите
Изменить IP-адрес VirtualMachine с динамического на статический
sudo nano / etc / network / interfaces
Under The primary network interface change the word dhcp to static and enter your new static IP or comment the line and add a new one
:
#iface eth0 inet dhcp
iface 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
Notice my router is working at xxx.xxx.10.x and yours could be at xxx.xxx.0.x or xxx.xxx.1.x or some else.
After you do that, you can have internet conection in both host and guest machine, and type that static IP in your web browser to check you apache server.
Вместо того, чтобы пытаться установить для адаптеров значение Bridged или Host Only Network Adapter, вы можете попробовать переадресацию портов через брандмауэр / другие порты, когда ваш порт не настроен для соединений tcp и udp.
Принятый ответ не работал для меня (я установил virutalbox внутри Ubuntu 12.04 LTS и внутри Virtualbox я установил Ubuntu 14.04 LTS Server). Я просто поменял местами сетевые настройки для Adapter1 и Adapter2, т.е. установил Adapter1 для "мостового сетевого подключения" и Adapter2 для "NAT", и он начал работать.
Если вам нужен только определенный порт (скажем, если вы запускаете веб-приложение, такое как Jetty или Tomcat), просто выполните:
Настройки -> Сеть -> Установите один из адаптеров как NAT -> Нажмите "Переадресация портов" -> Установите соответствующий хост и гостевой порт.
После сохранения вы можете просто перейти с локального компьютера на localhost:hostport, и он будет перенаправлен на соответствующий порт виртуальной коробки, и все готово.
Если вы не можете подключиться через ip, вы вряд ли добьетесь успеха с именами dns при установке apache по умолчанию.
проверь сетевые настройки виртуального хоста, я всегда ставлю его на мост, к нему можно получить доступ по всей сети.
В режиме моста, если ваш хост использует статический IP-адрес, вы должны вручную настроить гостевой IP-адрес в том же диапазоне, что и IP-адрес хоста. В противном случае гостю не будет автоматически назначен действительный IP-адрес. НТН.
Ответ Лекенштейна правильный. Но если вы находитесь в корпоративной среде, вам, возможно, придется отключить прокси-сервер для IP-адреса вашего гостя. Например, если вы используете Mozilla Firefox на своем хост-компьютере и пытаетесь получить доступ к 192.168.56.101/ на гостевой, вам нужно перейти в Firefox Tools->Options->Advanced->Network->Settings и использовать "Нет". Proxy "или"No Proxy For -> 192.168.56.101".
Если вам нужен доступ к гостю, который получает другой IP-адрес из-за использования DHCP, я предлагаю получить доступ по его имени хоста. Однако для доступа через имя хоста, если хост является Windows, может потребоваться дополнительный инструмент.
Следующий текст был скопирован из моего собственного ответа на superuser.com.:
Я предлагаю вам использовать Multicast DNS, чтобы это исправить.
Ubuntu использует это по умолчанию через Avahi.
Хосту Windows нужен клиент Avahi для обнаружения других сервисов Avahi. Если ваш хост уже использует какое-либо программное обеспечение Apple, оно, вероятно, уже существует через службу Bonjour. Однако, если он еще не установлен, можно скачать небольшую версию Bonjour здесь: Bonjour Print Services. После установки вы сможете получить доступ к вашему гостю через.local.
Примечание. Система mDNS по умолчанию использует постфикс.local. Итак, если ваше имя хоста - "dev.myapp.com", то фактическое имя хоста будет "dev.myapp.com.local".
Я решил ту же проблему после частого поиска и прочитал много сообщений в следующей форме:
1) Смонтируйте виртуальную машину в Virtual Box 6.1 с пустой версией Ubuntu Server 16.04, 2 ГБ ОЗУ и одним процессором. Хост-компьютер - это Windows 7, подключенная к маршрутизатору. У меня есть общедоступный IP-адрес, и я настроил маршрутизатор mi Router через IP Forwarding и открытый порт 80 для локального IP-адреса моей хост-машины: 192.168.xx.xx.
2) Затем в Virtual Box перейдите в Инструменты -> Настройки -> Сеть -> Добавить новую сеть NAT. Затем отредактируйте эту новую сеть NAT. -> Name = "NatNetwork". Затем щелкните Forward Ports -> IPv 4 -> Rule 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 Netw., Созданный в 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/
Если вы используете мостовое соединение, разрешите http - службам в брандмауэре помочь вам получить доступ к странице сервера.