O IPtables tem uma sintaxe muito "suja" quando comparada com a sintaxe do PF ou do IPFW.
Exemplo de uma regra de NAT no IPtables (retirado de http://danieldegraaf.afraid.org/info/iptables/nat ): #!/usr/bin/env iptables-restore *filter :FORWARD DROP [0:0] :INPUT DROP [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i eth1 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth1 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o eth0 -j MASQUERADE COMMIT Agora imagine isso num firewall que tem que dar conta de 8 redes diferentes como é o nosso caso aqui... A mesma regra no pf: nat on bce0 proto {tcp, udp, icmp} from REDE_INTERNA to any -> bce0 Ao bater o olho vc já sabe o que a regra faz, não precisa ser nenhum PhD em pf pra entender o que a regra faz. Se fosse exemplificar em ambos coisas como rdr e binat então, chegava a ser até covardia. Simplicidade é um dos principais requisitos para a segurança. Infelizmente, a impresão que tenho ao ver uma ruleset do IPtables é que o principal requisito do projeto é que ele tivesse regras muito dificeis de entender. []'s -- http://setsockopt.wordpress.com http://www.webcrunchers.com/crunch ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd