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 se estão corretas, em vez de 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 do tráfego da Web.
Por que sua regra está causando problemas
Se você perceber 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 tiver essa cadeia ou um link da cadeia INPUT
para essa cadeia, essa regra nunca será alcançável. Essa regra provavelmente seria assim:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Ou sua corrente INPUT
deve vincular a essa corrente 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 correntes você tem 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, quando você usa a opção -A
, está anexando a regra à cadeia INPUT
. Se houver outras regras antes dele que estejam bloqueando e / ou interferindo com o alcance dessa regra, ela nunca será executada. Então você pode querer movê-lo para o topo, inserindo em vez de acrescentar, assim:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Usando a GUI
Os firewalls podem ser animais complicados. Então você pode querer experimentar o TUI (TUI's são GUI's para o terminal).
$ sudo system-config-firewall-tui
Você pode passar pelas várias telas configurando as regras iptables
.