[FUG-BR] migrando para ipfw

Daemon BR unix.list em gmail.com
Quinta Março 27 12:06:15 BRT 2008


Nossa estou apanhando muito no IPFW para fazer um exemplo simples abaixo,
(em iptables).
No caso estou postando um exemplo onde eu DROPO tudo, e libero somente a
navegação na rede interna (80,53,443).


iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT  -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -s IPCOMACESSOEXTERNOSSH -p tcp --dport 22 -j
ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT #Libera tudo na INPUT para rede local

iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

 Minha grande dúvida é no estado dos pacotes do ipfw.
Como faço o ESTABLISHED,RELATED no ipfw ? (Estou colocando na 1 regra, e
automáticamente ele libera tudo).
Preciso numerar as regras ? (Qual o motivo ?, pq sem colocar os números as
mesmas funcionam).

Segue abaixo o ipfw, onde estou liberando tudo... (Mesmo assim não está
pingando...)

#!/bin/sh
IPF="ipfw -q add"
ipfw -q -f flush

$IPF 3 divert natd via em0
$IPF 5 check-state

$IPF 7 pass all from any to any via vr0 keep-state

#loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag
$IPF 150 allow tcp from any to any 25 in via em0
$IPF 160 allow tcp from any to any 25 out via em0
$IPF 170 allow udp from any to any 53 in via em0
$IPF 175 allow tcp from any to any 53 in via em0
$IPF 180 allow udp from any to any 53 out via em0
$IPF 185 allow tcp from any to any 53 out via em0
$IPF 200 allow tcp from any to any 80 in via em0
$IPF 210 allow tcp from any to any 80 out via em0

$IPF 220 allow all from any to any via vr0
# deny and log everything
$IPF 500 deny log all from any to any


Alguma alma boa, pode postar como ficaria este exemplo do iptables.

obrigado


Mais detalhes sobre a lista de discussão freebsd