Ativando o acesso http na porta 80 para centos 6.3 do console

3

Tenha uma caixa de centos 6.3 rodando em Parallels

e estou tentando abrir a porta 80 para ser acessível de fora

tentei a solução de gui desta postagem e ela funciona, mas eu preciso fazê-lo a partir de um script.

Tentou fazer isso:

sudo /sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
sudo /sbin/iptables-save
sudo /sbin/service iptables restart

Isso cria exatamente as mesmas entradas do iptables que a ferramenta GUI, exceto que não funciona:

$ telnet xx.xxx.xx.xx 80
Trying xx.xxx.xx.xx...
telnet: connect to address xx.xxx.xx.xx: Connection refused
telnet: Unable to connect to remote host

ATUALIZAÇÃO:

$ netstat -ntlp
(No info could be read for "-p": geteuid()=500 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State              PID/Program name   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:37439               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::111                      :::*                        LISTEN      -                   
tcp        0      0 :::22                       :::*                        LISTEN      -                   
tcp        0      0 ::1:631                     :::*                        LISTEN      -                   
tcp        0      0 :::60472                    :::*                        LISTEN      -   

$ sudo cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Dec 12 18:04:25 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:640]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Wed Dec 12 18:04:25 2012
    
por Hugo 19.12.2012 / 10:06

3 respostas

5

Eu diria que sua regra está no final da sua lista INPUT iptables. Tente este iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT e, em seguida, execute service iptables save . O A no seu comando anexa a regra à lista de ENTRADA atual. Isto é depois de uma regra que pode ter uma REJEIÇÃO explícita. O eu no meu comando, coloca a regra em uma posição de linha, neste caso, a linha 5. Que deve ser ANTES da regra de rejeição padrão. As regras no IPTABLES funcionam de cima para baixo e, se uma regra for compatível, o firewall aplicará a regra à conexão. Eu uso isso - iptables-rules-examples - realmente útil

    
por 19.12.2012 / 11:25
2

O comando service iptables restart não salva suas regras atuais do iptables.

Execute service iptables save antes de reiniciá-lo.

    
por 10.01.2014 / 12:33
1

Regra de correspondência indo de cima para baixo. Então, o iptables faz ações quando o primeiro jogo. Você tem:

-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

A primeira regra não tem nenhuma condição, portanto, não há pacotes que possam atingir a segunda regra.

    
por 19.12.2012 / 14:57