[FUG-BR] Esclarecimento RDR PASS no PF

Lutieri G. lutierigbtrabalho em gmail.com
Quinta Junho 28 16:04:01 BRT 2007


Olá Lista!


Estou aqui apenas para dizer que compreendi por inteiro a regra RDR e
nat e afirmar que a palavra chave PASS, que já foi dita nessa lista
que não tem efeito, TEM SIM.

Vou colocar alguns exemplos de regras aqui para facilitar o entendimento.

*****NAT Sem usar o PASS*****
int_if=em0
ext_if=em1

ext_ip=200.0.0.0


nat on $ext_if from 192.168.1.10 to any -> $ext_if


block all
pass out on $ext_if from $ext_ip to any keep state
pass in on $int_if from 192.168.1.10 to any keep state
pass out on $ext_if from 192.168.1.10 to any keep state
***************

Agora o mesmo NAT:

*****NAT USANDO o PASS*****
int_if=em0
ext_if=em1

ext_ip=200.0.0.0


nat pass on $ext_if from 192.168.1.10 to any -> $ext_if

block all
####pass out on $ext_if from $ext_ip to any keep state
pass in on $int_if from 192.168.1.10 to any keep state
####pass out on $ext_if from 192.168.1.10 to any keep state
***************

Li em alguns lugares que não funcionava o PASS ou só estava habilitado
no OpenBSD. Porém está provado nos exemplos acima que realmente quando
usada a palavra chave PASS em uma regra NAT não são necessárias criar
regras de filtragem NESSA INTERFACE. Acho que é aí que está o pulo do
gato. Como pode ser visto apenas tive que permitir a entrada de
pacotes na interface interna. Já na interface externa, quando usado
PASS, não é necessária regras de filtragem.

Como RDR é a mesma coisa. Alguns exemplos:


*****RDR Sem usar o PASS*****
int_if=em0
ext_if=em1

ext_ip=200.0.0.0

rdr on $ext_if proto tcp from any to $ext_ip port 5900 -> 192.168.1.10

block all
pass in on $ext_if proto tcp from any to 192.168.1.10 port 5900 keep state
pass out on $int_if proto tcp from any to 192.168.1.10 port 5900 keep state
***************

O mesmo RDR  com o PASS:


*****RDR Usando o PASS*****
int_if=em0
ext_if=em1

ext_ip=200.0.0.0

rdr pass on $ext_if proto tcp from any to $ext_ip port 5900 -> 192.168.1.10

block all
####pass in on $ext_if proto tcp from any to 192.168.1.10 port 5900 keep state
pass out on $int_if proto tcp from any to 192.168.1.10 port 5900 keep state
***************

Novamente, quando usado o PASS não precisa ser criado as regras de
filtragem na interface externa! Porém na interface interna é
necessário sim. Do contrário seria um furo.


Espero que tenha ficado claro e ao mesmo tempo morto esse assunto de PASS.


Boa tarde a todos!



-- 
Att.
Lutieri G. B.


Mais detalhes sobre a lista de discussão freebsd