Essas regras do iptables são equivalentes?

1

Alguém pode dizer se esses iptables são equivalentes?

Versão 1

$IPT -F
$IPT -X

$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

Versão 2

$IPT -F
$IPT -X
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT

$IPT -t nat -F
$IPT -t nat -X
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P INPUT ACCEPT
$IPT -t nat -P OUTPUT ACCEPT

$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -A POSTROUTING -s 192.168.245.0/24 -j MASQUERADE 

O que eu acho confuso é que Versão 1 não tem regras ACCEPT explícitas e uma política de aceitação pós-venda.

    
por Sandra 21.10.2011 / 10:59

1 resposta

3

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

    
por 21.10.2011 / 12:00