O IPtables possui uma lista de regras e, para cada pacote, verifica a lista de regras em ordem. Depois que uma regra é encontrada que corresponde ao pacote e especifica uma política (ACEITAR, REJEITAR, QUEDA), o destino do pacote correspondente é determinado; não são examinadas mais regras.
Isso significa que a ordem na qual você executa os comandos é importante. Ao usar iptables -A
, você adiciona uma regra ao final da lista de regras e termina com uma lista de regras parecida com esta:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT all -- anywhere anywhere
Como a REJECT
regra vem antes da ACCEPT
regra, ela é acionada primeiro e, portanto, o encaminhamento não acontece.
Portanto, você precisará excluir a REJECT
regra em vez de adicionar uma ACCEPT
regra. Para excluir a regra REJECT, execute
iptables -D FORWARD -j REJECT
Para mais informações, leia a página de manual do iptables.
-A
, talvez você queira usar-P
para definir o P olítica (ação padrão quando nenhuma outra regra na cadeia aplicável). Por exemplo,iptables -P FORWARD DROP
(não pode serREJECT
).