Не удается получить доступ к веб-сайту извне, будучи доступным для него

Ситуация такова. Сайт, основанный на Apache, доступен внутренне (с его сервера) через curl , но недоступен извне (ничего, за исключением ping , работает: я попробовал curl а также доступ к браузеру) – это время . Я попытался определить корень проблемы, используя netcat , netstat , traceroute и iptables (как рекомендовано на этой странице ), но безрезультатно.

Вот конфигурация iptables (обратите внимание, что мой активный сетевой интерфейс eth1 ):

 iptables -L -nv Chain INPUT (policy DROP 108K packets, 18M bytes) pkts bytes target prot opt in out source destination 4575 394K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22 11433 3923K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 5262 481K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 3 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389 0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:830:831 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1170 3 180 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- venet0 * 10.0.0.0/8 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED,DNAT 0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpts:830:831 0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 ACCEPT udp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 udp dpt:53 Chain OUTPUT (policy ACCEPT 15571 packets, 4718K bytes) pkts bytes target prot opt in out source destination Chain fail2ban-ssh (1 references) pkts bytes target prot opt in out source destination 4575 394K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 

Сначала попробуйте отключить iptables на сервере и попытаться получить доступ к странице,

  #service iptables stop 

Для debian:

  #iptables -F 

Это очистит все правила

Также укажите номер порта с ip, если он не является значением по умолчанию 80. Также попробуйте установить selinux в разрешающем режиме.

  #setenforce 0 

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

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

Также

Найдите директиву LISTEN в конфигурационных файлах apache (httpd.conf, apache2.conf, listen.conf, …), и если вы видите localhost или 127.0.0.1, вам необходимо перезаписать свой ip-адрес сервера.

  listen 192.168.1.15:80 

Я хочу включить selinux после того, как вы обнаружили, что это проблема selinux, тогда вы должны разрешить httpd в selinux,

  # setsebool -P httpd_can_network_connect=1 

если вы обнаружили, что это проблема iptables, и вы хотите включить ip-таблицы и продолжить доступ к этой странице, а затем разрешить порт 80 в брандмауэре.

Чтобы разрешить http и https в debian iptables, см. Эту ссылку:

https://github.com/iahmad-khan/system-admin/blob/master/iptables-debian