Проблема № 1 - Типы сетей виртуальных машин
Есть 3 режима работы в сети:
- NAT
- Только хост
- Мостовой
Подробности по их настройке
Когда использовать каждый?
- # 1 : Для разработки Facebook / веб-приложений, которые находятся на других серверах
- # 2 : Если вы хотите создать собственное приложение и протестировать его с хоста VirtualBox (а не только с гостевой виртуальной машины)
- № 3 : Если вы хотите собрать приложение и протестировать его из других систем в локальной сети
Проблема № 2 - блокировка брандмауэра?
В зависимости от того, какой дистрибутив вы используете, брандмауэр может блокировать ваш веб-браузер от доступа к вашему экземпляру Apache. Это имело бы смысл, учитывая, что вы можете пропинговать систему, но не получать к ней доступ через порт 80, который является портом, который прослушивает Apache.
временно отключить его
В CentOS вы используете эту команду, чтобы отключить ее.
$ /etc/init.d/iptables stop
проверьте, что Apache слушает
Вы также можете подтвердить, что он прослушивает этот порт.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
подтвердить, что брандмауэр выключен
Брандмауэр может подтвердить, что он широко открыт.
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Если это решит вашу проблему, то вы можете навсегда добавить правило, разрешающее трафик через TCP-порт 80.
добавление правила для TCP-порта 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
ПРИМЕЧАНИЕ. Это правило сохранится между перезагрузками.
брандмауэр принимает порт TCP 80
Система с открытым портом 80 будет выглядеть примерно так:
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8834
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Проблема № 3 - Apache прослушивания?
В вышеприведенном выпуске мы увидели, что Apache прослушивает, но иногда он неправильно настроен, поэтому прослушивает только один IP-адрес или прослушивает другой сетевой интерфейс. Команду netstat
можно использовать для двойной проверки, а также для просмотра файлов конфигурации Apache.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Это показывает, что Apache прослушивает все интерфейсы (IP 0.0.0.0).
Я не буду повторять ответ @ Lekensteyn , который более подробно описывает этот конкретный вопрос.
Ссылки
:::80
, то Apache только прослушивает соединения IPv6. Вы пробовали проверить своиListen
директивы?