У меня есть настройка веб-сервера VM, и я установил и запустил Apache. Виртуальная машина имеет мостовой сетевой интерфейс и может отправлять эхо-запросы с хоста, используя 192.168.0.2.
Однако, если я введу тот же IP-адрес в браузер на хост-машине, я ожидал увидеть страницу Apache по умолчанию, сгенерированную на ВМ, но вместо этого я попал can't connect to 192.168.0.2
в браузер хост-машин.
Я явно что-то упустил. Кто-нибудь знает, что я пропустил или сделал неправильно?
Выход из ВМ netstat -tnlp
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 950/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1026/master
tcp 0 0 :::22 :::* LISTEN 904/sshd
tcp 0 0 ::1:25 :::* LISTEN 980/master
Грубое представление о том, что я думаю, сетевая активность / подключение будет выглядеть.
virtualbox
oshirowanen
источник
источник
:::80
, то Apache только прослушивает соединения IPv6. Вы пробовали проверить своиListen
директивы?-p
флаг, чтобыnetstat
убедиться, что ваш Apache действительно прослушивает порт 80, а не какой-либо другой сервис. Вы можете убежатьcurl localhost
от гостя? Чтоgrep -C3 -rni Listen /etc/httpd/
показывает?Ответы:
Проблема № 1 - Типы сетей виртуальных машин
Есть 3 режима работы в сети:
Подробности по их настройке
Когда использовать каждый?
Проблема № 2 - блокировка брандмауэра?
В зависимости от того, какой дистрибутив вы используете, брандмауэр может блокировать ваш веб-браузер от доступа к вашему экземпляру Apache. Это имело бы смысл, учитывая, что вы можете пропинговать систему, но не получать к ней доступ через порт 80, который является портом, который прослушивает Apache.
временно отключить его
В CentOS вы используете эту команду, чтобы отключить ее.
проверьте, что Apache слушает
Вы также можете подтвердить, что он прослушивает этот порт.
подтвердить, что брандмауэр выключен
Брандмауэр может подтвердить, что он широко открыт.
Если это решит вашу проблему, то вы можете навсегда добавить правило, разрешающее трафик через TCP-порт 80.
добавление правила для TCP-порта 80
ПРИМЕЧАНИЕ. Это правило сохранится между перезагрузками.
брандмауэр принимает порт TCP 80
Система с открытым портом 80 будет выглядеть примерно так:
Проблема № 3 - Apache прослушивания?
В вышеприведенном выпуске мы увидели, что Apache прослушивает, но иногда он неправильно настроен, поэтому прослушивает только один IP-адрес или прослушивает другой сетевой интерфейс. Команду
netstat
можно использовать для двойной проверки, а также для просмотра файлов конфигурации Apache.Это показывает, что Apache прослушивает все интерфейсы (IP 0.0.0.0).
Я не буду повторять ответ @ Lekensteyn , который более подробно описывает этот конкретный вопрос.
Ссылки
источник
it worked!
страница апач./etc/init.d/httpd status
должны показать работу./sbin/service iptables save
.Вероятно, ваша установка Apache настроена на прослушивание только на локальном хосте. Вы можете проверить это, запустив в вашем госте:
Если он говорит
0.0.0.0:80
, он слушает на всех интерфейсах. В вашем случае я бы ожидал127.0.0.1:80
вместо этого. Чтобы решить эту проблему, отредактируйте свою конфигурацию Apache (где-то в/etc/httpd/conf/
) и измените:чтобы:
Вы также можете использовать
nmap
для проверки доступных услуг на вашем компьютере. Это должно выглядеть так:источник
В CentOS 7 firewalld заменил iptables в качестве брандмауэра по умолчанию.
Я должен был использовать
приостановить брандмауэр для проверки соединения с хостом на CentOS VM.
Смотрите больше здесь: /programming/24756240/how-can-i-use-iptables-on-centos-7
источник