[FUG-BR] IPFW - natd.

Marcelo Gondim gondim em bsdinfo.com.br
Quarta Janeiro 11 19:23:07 BRST 2012


Em 11/01/2012 19:12, Marcelo Gondim escreveu:
> Em 11/01/2012 17:40, Adiel de Lima Ribeiro escreveu:
>> Vou tentar ser mais prático, mudarei de exemplo.
>> Vamos supor que tenho um servidor IPFW.
>> em0 - interface externa, internet.
>> em1 - interface interna, lan.
>> Ipfw com política fechada.
>>
>> Quero fazer um nat da lan para a internet, para que a lan possa navegar, ou seja, porta 80.
>> Quando coloco do jeito abaixo, funciona:
>>
>> ipfw add divert natd ip from any to any
>> ipfw add allow ip from any to any
>>
>> Mas isso está permitindo tudo.
>>
>> Quero restringir para que seja feito o nat apenas da lan, restrito a navegação na internet. Fiz assim, mas não funcionou:
>>
>> ipfw add divert natd tcp from {lan} to any 80
>> ipfw add allow tcp from {lan} to any 80
> Adiel procure separar as coisas. NAT você precisa fazer para qualquer IP
> não público acessar a Internet. Não se preocupe com o NAT para limitar o
> acesso, se preocupe com as regras de filtragem. O NAT como coloquei em
> outros e-mails seria a forma que vejo menos custosa porque você não
> precisa fazer NAT de tudo e sim dos IPs internos RFC 1918 (
> 192.168.0.0/16, 10.0.0.0/8 e 172.16.0.0/12) independente das regras.
>
> Depois do NAT feito e funcionando aí você faz a política de liberação
> que deseja, procure sempre liberar o DNS 53/udp e algumas vezes o 53/tcp
> para os servidores de DNS que você está usando externamente. Dessa forma
> suas estações vão pelo menos resolver os endereços, sem resolução não
> existe acesso por nome. :)
Outra coisa que esqueci de dizer, se você está bloqueando tudo então 
você precisa escolher se vais usar um firewall stateless ou stateful.
Acredito que o seu problema está aí. Quando usamos um Firewall em 
stateless precisamos colocar regras de saída e de entrada isso em uma 
política default de tudo bloqueado.

Já se você usar regras stateful você só precisaria da saída. Um exemplo:

ipfw add allow tcp from any to any 80 setup keep-state

Nesse caso acima estou dizendo que permito a rede acessar a porta 80/tcp 
exigindo o handshake e fazendo o stateful

Se não for usar o stateful aí teria que fazer:
ipfw add allow tcp from any to any 80
ipfw add allow tcp from any 80 to me

Sacou a diferença?  Logicamente que isso é um pequeno exemplo.  :)



>
>> O que estou fazendo de errado ?
>> Agradeço a todas as sugestões e peço desculpas se não fui claro em minha dúvida.
>>
>> Obrigado.
>>
>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



Mais detalhes sobre a lista de discussão freebsd