Os conjuntos de regras são equivalentes, mas:
-
A primeira versão aceita pacotes de 192.168.0.1/24 na interface de entrada eth1, mas não há uma queda final para todos os outros pacotes.
-
O conjunto de regras inicial na inicialização é "aceitar todos", portanto, você não precisa defini-lo para esse estado.
A primeira versão é assim:
$IPT -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth0 -j MASQUERADE
$IPT -A FORWARD -j ACCEPT -i eth1 -s 192.168.0.1/24
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
e o segundo:
$IPT -F
$IPT -X
$IPT -t nat -A POSTROUTING -s 192.168.245.0/24 -j MASQUERADE
A diferença são as duas regras ACCEPT, que não têm efeito, porque há uma regra sem DROP para outros pacotes.
Não é recomendado filtrar pacotes fora das tabelas de "filtros". Portanto, não elimine pacotes fora das tabelas de "filtros". Um exemplo:
$IPT -t nat -A PRETROUTING -s 192.168.245.0/24 -j DROP
Uma imagem de travessia de pacotes para o iptables / netfilter: link
Um tutorial realmente maravilhoso e completo sobre o iptables / netfilter está aqui: link