Как я могу получить доступ к Apache (на гостевой странице VirtualBox) от хоста?

133

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

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

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

    
задан urok93 07.07.2011 в 10:27
источник

9 ответов

147

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

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

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

  4. Сохранить настройки
  5. Запустите Ubuntu VM
  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. Profit!
ответ дан Lekensteyn 07.07.2011 в 10:58
источник
12

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

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

    Настройки > Сеть > Адаптер 1 ( Включить сетевой адаптер ) > Прикреплено к: ( Bridge Adapter ) > OK

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

  3. Измените IP-адрес VirtualMachine с динамического на статический

    sudo nano / etc / network / interfaces

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

:

#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

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

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

    
ответ дан Nuc134rB0t 29.06.2012 в 23:04
7

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

    
ответ дан sp123 03.10.2014 в 15:27
4

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

    
ответ дан Gaurav Pandey 22.06.2014 в 10:34
3

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

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

    
ответ дан PvdL 07.07.2011 в 10:47
2

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

ответ дан platinor 08.02.2012 в 05:47
2

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

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

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

    
ответ дан StationaryTraveller 01.08.2017 в 12:25
1

Ответ Лекенштейна прав. Но если вы находитесь в корпоративной среде, вам может потребоваться отключить прокси-сервер для IP-адреса вашего гостя. Например, если вы используете Mozilla Firefox на своем хост-компьютере, и вы пытаетесь получить доступ к 192.168.56.101/ на гостевом компьютере, вам нужно перейти к настройкам Firefox & Tools > Options- > Advanced- > Network- > и используйте «No Proxy» или «No Proxy For - > 192.168.56.101».     

ответ дан SpaceRook 27.11.2012 в 02:00
1

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

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

Я предлагаю вам использовать Multicast DNS , чтобы исправить это.

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

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

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

ответ дан Spiralis 29.01.2013 в 22:45