Em vez de digitar as regras manualmente, você pode usar iptables
para adicionar as regras às cadeias apropriadas e salvá-las. Isso permitirá que você depure as regras ao vivo, confirmando que estão corretas, em vez de precisar adicioná-las ao arquivo como você parece estar fazendo.
Para abrir a porta 80, faço isso:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
O último comando salvará as regras adicionadas. Essa é a regra que eu usaria para abrir a porta para o tráfego da web.
Por que sua regra está causando problemas
Se você observar a regra que está tentando usar:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Possui uma cadeia chamada "RH-Firewall-1-INPUT". Se você não possui essa cadeia ou um link da INPUT
cadeia para essa cadeia, essa regra nunca será alcançável. Essa regra provavelmente pode ser assim:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Ou sua INPUT
cadeia deve vincular a essa cadeia RH-Firewall-1-INPUT
com uma regra como esta:
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
NOTA: Você pode ver quais cadeias você possui com este comando:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Além disso, os estados podem precisar ser modificados para que as conexões existentes também sejam permitidas.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Além disso, ao usar a -A
opção, você anexa a regra à cadeia INPUT
. Se houver outras regras anteriores que estejam bloqueando e / ou interferindo no alcance dessa regra, ela nunca será executada. Portanto, convém movê-lo para o topo inserindo, em vez de anexar, o seguinte:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Usando a GUI
Os firewalls podem ser bestas complicadas. Portanto, você pode tentar a TUI (as TUI são GUIs do terminal).
$ sudo system-config-firewall-tui
Você pode então percorrer as várias telas configurando iptables
regras.
Referências
/etc/sysconfig/iptables
e adicioná-las. Suas entradas originais devem estar neste arquivo/etc/sysconfig/iptables.save
,.Instalei recentemente o CentOS 6.5 como uma máquina virtual pelo mesmo motivo, para usar como um servidor web virtual. Enfim, eu segui este tutorial muito detalhado do wiki do CentOS . Então, conforme a resposta do @slm, adicionei a porta 80 e salvei usando
sudo /etc/init.d/iptables save
.iptables -L -v
tem esta saída:fonte
Se você quiser editar as configurações do firewall, mas não estiver familiarizado
iptables
, sugiro que você use asystem-config-firewall-tui
ferramenta, se você não tiver um servidor X, use osystem-config-firewall
, que é a ferramenta da GUI.fonte