[FUG-BR] Ipfw - Natd, de novo !!!
Marcelo Gondim
gondim em bsdinfo.com.br
Quinta Janeiro 12 15:31:23 BRST 2012
Em 12/01/2012 14:32, Adiel de Lima Ribeiro escreveu:
> Não sei se é uma boa idéia, mas vou migrar pro PF, vou ter que aprender
> as regras, mas tudo bem, ele me parece melhor que o IPFW.
> O que vocês tem a me dizer ?
Você precisaria aprender 2. rsrsrsrsr
Não importa qual você vai usar o problema que está tendo parece mais de
conceito sobre Firewalls que dá própria aplicação.
Confesso que quando saí do Netfilter/IPTables e vi o ipfw e o pf quase
pirei nas regras mas o que ajuda mesmo é o conceito, graças à ele hoje
já tenho todos os meus Firewalls convertidos para pf e ipfw.
Vou fazer algo que não deveria pois acertos e erros levam à aprendizagem
e mais que tudo aumento da experiência. Como o Irado dizia... melhor
ensinar à pescar que já dar o peixe pronto.
Ps: gosto até de pescar mas limpar o peixe não é nada legal.
ahahahahahah Fazer o que?
Vou fazer o seguinte ambiente imaginário:
Firewall com 2 interfaces de rede: em0 para a Internet e em1 para a rede
Interna.
Rede Interna: 192.168.0.0/24
estação
Firewall
======
192.168.0.2 <=======> 192.168.0.1/24(em1) 10.0.0.1/24(em0)
<===========> INTERNET
No seu Kernel compilado:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options LIBALIAS
options DUMMYNET
options IPDIVERT
No script de Firewall:
##############################################
#!/bin/sh
fw="/sbin/ipfw"
ext_if="em0"
int_if="em1"
$fw disable one_pass
$fw -f flush
$fw zero
$fw table all flush
# Estacoes
$fw table 1 add 192.168.0.2
$fw table 1 add 192.168.0.3
$fw table 1 add 192.168.0.4
$fw add allow all from any to any via lo0
$fw add deny all from 127.0.0.0/8 to any
$fw add deny all from any to 127.0.0.0/8
$fw add deny all from any to any not antispoof
# Redireciona para o natd
$fw add divert 8668 ip from 192.168.0.0/24 to any out via $ext_if
$fw add divert 8668 ip from any to me in via $ext_if
# Permite IPs na table 2 o acesso à DNS externo
$fw add allow udp from "table(2)" to any 53 keep-state
$fw add allow tcp from "table(2)" to any 53 setup keep-state
# Permite IPs para acesso web
$fw add allow tcp from "table(2)" to any 80 setup keep-state
$fw add allow tcp from me to any out setup keep-state
$fw add allow all from me to any out keep-state
$fw add 65534 deny all from any to any
###########################################################
# natd.conf
instance default
interface em0
dynamic no
same_ports yes
use_sockets yes
unregistered_only yes
Bem esse é um script bem simples, tem que funcionar aí. Basta agora você
adaptar para a sua realidade.
Melhor não consigo fazer pra vc entender rsrsrsr
>
>
> -----Original Message-----
> From: Lucas Dias<lucasmcz em gmail.com>
> Reply-to: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> <freebsd em fug.com.br>
> To: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> <freebsd em fug.com.br>
> Subject: Re: [FUG-BR] Ipfw - Natd, de novo !!!
> Date: Thu, 12 Jan 2012 13:06:35 -0300
>
>
> Adiel
>
> Então você deve estar esquecendo de algum detalhe.
> Reveja o que os colegas Marcelo Gondim e Luiz Gustavo falaram.
>
> Se for possível, e resolver seu problema, usa o pf, pois ele é cheio de
> recursos interessantes para NAT.
> Agora, se for questão de honra colocar pra funcionar o NAT com o IPFW,
> reveja com calma as regras e as ordens das mesmas
>
> Vale ressaltar que nat from any to any não é muito legal...
> entendo any, como 0.0.0.0/0, eu acredito que você quer fazer nat sua rede,
> algo como 192.168.10.0/24.
>
> Seja um pouco mais seletivo na criação das regras.
>
> Os Scripts do Patrick e a apostila do treinamento (que lembra a história do
> livro horrivel hehehe) estão com muito conteúdo que vão lhe ajudar.
>
> Abraços e espero ter ajudado...
>
> # flames> /dev/null (by irado, o furioso com tudo)
> RIP Irado
>
>
Mais detalhes sobre a lista de discussão freebsd