o apache não está respondendo do lado de fora (problema do firewall / iptables)

1

Tenha CentOS instalado com httpd . Pode se conectar com lynx para http://localhost e para http://10.20.30.40 (o IP real) de dentro da máquina. Não é possível conectar-se de fora . Aqui está um trecho do /etc/httpd/conf/httpd.conf :

Listen 0.0.0.0:80

<VirtualHost 10.20.30.40:80>
    DocumentRoot /var/www/vhost1
    ErrorLog logs/vhost1-error_log
    CustomLog logs/vhost1-access_log common
</VirtualHost>

Estou tentando conectar-me a partir da máquina que reside na mesma sub-rede (até onde eu sei).

Nada suspeito nos arquivos de log. Alguem aconselha por favor?

Atualizar : ao executar iptables -L , recebi a seguinte linha (talvez esteja relacionada): REJECT all -- anywhere anywhere reject-with icmp-host-prohibited .

Atualizar N2 : iptables -vnL output:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:67
1576K 1643M RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24    state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable
    0     0 RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 354K packets, 58M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain RH-Firewall-1-INPUT (2 references)
 pkts bytes target     prot opt in     out     source               destination
  922  823K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
   19  1412 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 255
    0     0 ACCEPT     esp  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     ah   --  *      *       0.0.0.0/0            0.0.0.0/0
 159K   28M ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251         udp dpt:5353
 2869  640K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:631
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:631
1239K 1589M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    8  1064 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
 175K   25M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
    
por BreakPhreak 11.07.2011 / 15:30

3 respostas

5

Tente ver se isso ajuda:

sudo /sbin/iptables -A INPUT -p tcp --dport http -j ACCEPT

Se você usar o seguinte de antemão, poderá reverter facilmente:

/sbin/iptables-save > /tmp/fw

Se você quiser desativar completamente o iptables (embora seja melhor configurá-lo apropriadamente), use:

sudo /sbin/chkconfig iptables off

Caso contrário, faça a regra persistir salve-a em / etc / sysconfig / iptables:

/sbin/iptables-save > /etc/sysconfig/iptables

No CentOS 7 ou acima

No CentOS 7 e RHEL 7 você provavelmente usaria o firewall-cmd para permitir o tráfego HTTP.

firewall-cmd --permanent --add-service=http
firewall-cmd --reload
    
por 11.07.2011 / 15:40
1

Isso geralmente indica um problema de firewall, seja no sistema local ou na rede. Como é seu firewall iptables local?

# iptables -vnL

Você pode desativar temporariamente o firewall local executando:

# /sbin/service iptables stop

Se as coisas funcionarem depois disso, foi definitivamente um problema de firewall e você precisará resolver isso.

Se você não tem um firewall local, há outro em sua rede?

    
por 11.07.2011 / 15:38
0

Sim, eu diria que a regra de firewall provavelmente não está ajudando as coisas (embora dependa do que mais está no conjunto de regras do firewall). Também poderia (em teoria) ser um problema com o firewall de saída na máquina que você está conectando, ou um problema de configuração de proxy, ou a fase da lua.

Um conjunto de regras de firewall completo e alguns resultados detalhados de solução de problemas de rede ajudariam muito a reduzir o problema.

    
por 11.07.2011 / 15:37