terça-feira, dezembro 23, 2008

NATD já era agora é ipfw nat no FreeBSD

Olá pessoal


O ipfw nat para quem não sabe é um módulo nativo, está no kernel, que faz o NAT do tráfego de saída e também redirecionamento de portas e conexões.
O interessante é que todo mundo usa o divert com ipfw, assim dependendo do natd rodando. Dizem que o ipfw nat é mais rápido por rodar direto sob o controle do kernel, por isso estou testando a parada de sucesso para ver onde vai dar.

Abaixo está as regras de ipfw nat que consegui testar:

#!/bin/sh

# Usando a funçao de NAT do ipfw disponivel no kernel
# Por Tiago Pires

# Liberando tráfego para o loopback

ipfw -q add pass all from any to any via lo0
ipfw -q add deny all from any to 127.0.0.0/8
ipfw -q add deny ip from 127.0.0.0/8 to any

# Criando uma instancia de Redirecionamento de portas ( Tudo que
# chega na porta 3389 pela
# interface externa vai para o host 192.168.0.2)

ipfw -q nat 1 config if le0 redirect_port tcp 192.168.0.2:3389 3389

# Criando uma instancia de NAT na interface de saida

ipfw -q nat 2 config if le0

# Relaciono a regra de NAT de redicionamento com ipfw , assim
# permitindo a conexão na porta

ipfw add nat 1 ip from any to any

# Relaciono a regra NAT criada com o ipfw, assim permitindo
# o trafego

ipfw add nat 2 log ip from any to any

# Libera o tráfego

ipfw add allow ip from any to any

Logo logo posto como está o andamento dos testes

3 comentários:

Unknown disse...

parabems pelo tutorial tiago muito bom
agora me dias uma coisa da forma como voce fez você esta liberando todo que chega sair pra internet pela interface de saida como e que iria funcionar em um provedor que precisa liberar ip 1 por 1 tipo com mascara /32 grato !!!

Anônimo disse...

Cara bem bacana o seu artigo, porem vc tem mais alguma documentação a respeito deste assunto

Steven Larry Pond disse...

Aonde consigo mais Info ?