Доступ к серверу Apache, работающему в гостевой системе Fedora VirtualBox, с хоста

Доступ к серверу Apache, работающему в гостевой системе Fedora VirtualBox, с хоста

У меня возникли проблемы с доступом к серверу Apache с хоста.

У меня установлена ​​виртуальная машина Fedora 15 VirtualBox на Windows 7. В этой виртуальной машине у меня запущен сервер Apache, который отлично работает в гостевой ОС.

Не знаю, что еще можно сделать, чтобы это заработало.

Вот моя конфигурация. IP-адрес ОС хоста:

   IPv4 Address. . . . . . . . . . . : 192.168.0.10
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.2

Для ВМ у меня установлено два сетевых адаптера:

  1. NAT, чтобы виртуальная машина имела доступ к Интернету, все работает.
  2. Адаптер, работающий только на хосте.

Подробности сети только для хоста DHCP-сервер только для хоста

Вот конфигурация гостя:

[root@localhost network-scripts]# ifconfig
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:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1394 (1.3 KiB)  TX bytes:1394 (1.3 KiB)

p2p1      Link encap:Ethernet  HWaddr 08:00:27:DD:DD:EA  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fedd:ddea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1207 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:936406 (914.4 KiB)  TX bytes:137003 (133.7 KiB)

p7p1      Link encap:Ethernet  HWaddr 08:00:27:44:A3:DB  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe44:a3db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:313 errors:0 dropped:0 overruns:0 frame:0
          TX packets:386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30505 (29.7 KiB)  TX bytes:44783 (43.7 KiB)

Когда я это делаю ping 192.168.56.101с хоста, я получаю правильные ответы, но все попытки доступа к веб-сервису терпят неудачу. Я получаю ошибки тайм-аута.

решение1

Обычно, когда трафик ICMP (например, ping) разрешен для виртуализированного гостя, но трафик TCP (например, HTTP-запросы) блокируется, проблема связана с программным брандмауэром, работающим в гостевой ОС.

Примечание:Синтаксис команд в этом объяснении специфичен для Fedora Core, но общие шаги можно абстрагировать для использования в других дистрибутивах Linux.

В установках Fedora Core по умолчанию IPTables включен из коробки. Проверьте статус службы IPTables, чтобы узнать, находится ли она в состоянии «активно».

[root@gauss ~]# /bin/systemctl status iptables.service

Кроме того, чтобы увидеть текущие активные правила IPTables, проверьте статус сценария инициализации IPTables.

[root@gauss ~]# /usr/libexec/iptables.init status

Если в цепочке INPUT есть правило IPTables, подобное приведенному ниже, оно отвечает за блокировку трафика TCP/IP и UDP к хосту.

REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Существует несколько вариантов включения HTTP-трафика (например, добавление правила IPTables в цепочку INPUT для явного приема трафика с TCP на порт 80 из хост-сети гипервизора IP 192.168.56.1, удаление универсального правила DROP в цепочке INPUT и т. д.).

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

[root@gauss ~]# /bin/systemctl stop  iptables.service
[root@gauss ~]# /bin/systemctl disable iptables.service

После завершения этого процесса гостевая ОС Fedora Core сможет обслуживать HTTP-запросы через свой публичный интерфейс, а страницы можно будет просматривать на гипервизоре Windows 7, перейдя по адресу 192.168.56.101 в браузере или любом другом HTTP-клиенте.

Связанный контент