Não é possível acessar o site externamente, embora possa acessá-lo internamente

1

A situação é a seguinte. Um site baseado em Apache é acessível internamente (de dentro de seu servidor) via curl , mas não acessível externamente (nada, com exceção de ping , funciona: Eu tentei curl assim como o acesso ao navegador) - expirou . Eu tentei determinar a raiz do problema, usando netcat , netstat , traceroute e iptables (como recomendado em esta página ), mas sem sucesso.

Aqui está a configuração iptables (observe que minha interface de rede ativa é 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
    
por Aleksandr Blekh 04.01.2016 / 02:28

1 resposta

2

Primeiro, tente desativar o iptables no servidor e tente acessar a página,

    #service iptables stop

Para o debian:

    #iptables -F

Isto irá liberar todas as regras

Especifique também o número da porta com ip se não for o padrão 80. Tente também configurar o selinux no modo permissivo.

   #setenforce 0

Você também precisa fazer o encaminhamento de porta se o servidor de exibição da página da Web estiver dentro do VirtualBox.

e suponho que, externamente, você esteja falando da LAN local.

Procure a diretiva LISTEN nos arquivos de configuração do apache (httpd.conf, apache2.conf, listen.conf, ...) e se você vir localhost, ou 127.0.0.1, então você precisa sobrescrever com o ip do seu servidor.

  listen 192.168.1.15:80

Se você quiser ativar o selinux depois de descobrir que é um problema do selinux, então você deve permitir o httpd no selinux,

      # setsebool -P httpd_can_network_connect=1

se você descobriu que é um problema iptables e quer ativar as tabelas ip e continuar acessando a página, então permita a porta 80 no firewall.

Para permitir http e https em iptables do Debian, veja este link:

link

    
por 04.01.2016 / 02:35