Virtualbox: Як отримати доступ до веб-сервера в гостьовій ОС з ОС хоста?


10

Після багатьох RTFM'ing та читання форумів у мене все ще виникають проблеми і мені потрібна порада. Я використовую Virtualbox в Ubuntu та встановив сервер Centos як гість. Моя проблема полягає в тому, що я не можу отримати доступ до веб-сервера в гостьовій ОС з хост-ОС.

Ось деталі: Host OS - це Ubuntu 12.04 LTS (ядро 3.2.0-24-generic) на 64 біт.

Я використовую Virtualbox 4.1.12.

Я отримую свою IP-адресу від бездротового маршрутизатора:

eth0      Link encap:Ethernet  HWaddr 18:03:73:42:3d:ac  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:47 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:378673 (378.6 KB)  TX bytes:378673 (378.6 KB)

wlan0     Link encap:Ethernet  HWaddr 64:27:37:69:c5:d2  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6627:37ff:fe69:c5d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:164307087 (164.3 MB)  TX bytes:9744555 (9.7 MB)

Отже, я встановив CentOS як гостьову ОС і хочу отримати доступ до його http-сервера. У мережевих налаштуваннях у Virtualbox у мене є таке: Приєднано до мостового адаптера

Назва: wlan0

Я дозволяю проміскуючий режим для віртуальних машин.

І "Cable Connected" відмічено.

На машині CentOS інтерфейс eth0 зібрав IP-адресу 192.168.1.20 з маскою 255.255.255.0. На сьогодні все виглядає нормально, обидві системи можуть пінгувати одна одну. Я запустив веб-сервер, і він прослуховується на порту 80 - перевіряється Netstat. (Однак не змінили файл конфігурації за замовчуванням веб-сервера.)

Коли я хочу підключитися до веб-сервера на машині CentOS, я не можу. "Неможливо підключитися" Firefox говорить, що Chrome також незадоволений: Chrome не зміг підключитися до 192.168.1.20. (Тут я не використовую жодного проксі.)

Я спробував telnet до порта 80 на гостьовій системі - не радість:

:~$ telnet 192.168.1.20 80
Trying 192.168.1.20...
telnet: Unable to connect to remote host: No route to host

Не впевнений, чи це важливо, але таблиця маршруту в гостьовій ОС тут:

[root@centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

(Це смішно. Щойно я зрозумів, що я можу перейти від Ubuntu до CentOS.)

Я спробував різні налаштування у Virtualbox, але перераховане вище є найближчим до того, що пропонують люди на різних форумах. Спробував NAT з переадресацією портів, адаптером, що використовується лише для хостів, але мені це не вдалося виправити.

Може, будь-хто пролити мені світло, будь ласка? Ура


Крім того ... На моїй хост-OS (Ubu) я провів трасування і знайшов маршрут до гостьової ОС. І, як було сказано, машини можуть пінг один одного і ssh працює. Створив фіктивний html-файл під назвою index_x.html, і я можу прочитати сторінку від самого гостя з рисью. Чи може це бути проблемою брандмауера?
Петко

У вас працює брандмауер на гостьовій ОС? Якщо так, чи блокує порт 80?
Фер

Так, ти маєш рацію, Френ. iptables блокував мене на гостьовій CentOS. Я тимчасово вимкнув це, щоб побачити, що відбувається і вуаля, я міг отримати доступ до веб-сервера! Іппі!
Петко

@Petkaux У мене є зразок проблеми з тим же середовищем. Мені не добре в Linux. Отже, чи можете ви, будь ласка, дати мені команду / кроки, що ви спробували для вас. ?
Містер Блек

Відповіді:


8

Рішенням було відкрити порт на брандмауері гостьової ОС, як описано тут: http://wiki.centos.org/HowTos/Network/IPTables

Налаштування мережі у Virtualbox було в порядку - Bridged Network - це правильне налаштування.


Дякую, цей час знадобився мені, аби розібратися. firewall-cmd --zone=external --add-service=http --permanent; firewall-cmd --reload
Крістофер Маркієта

3

Якщо вимкнути внутрішню брандмауер гостьової ОС, як показано нижче, ви повинні мати доступ. Тип

service iptables stop
chkconfig iptables off

в командному рядку, коли в гостьовій ОС.


Дякую, я витратив години, намагаючись отримати різні налаштування для доступу до сервера моєї CentOS VM.
uınbɐɥs

Просто і елегантно!
Edward_178118
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.