[FUG-BR] pf route-to

Wildes Miranda de Oliveira gowmo em itecgyn.com.br
Quinta Setembro 25 09:10:29 BRT 2008


Pessoal , bom dia. 

Esta semana postei na lista uma duvida sobre "Rotear multiplos links adsl" que basicamente o conteudo era : 
"estou utilizando o "pf" como firewall. 
Consegui fazer o balanceamento da saída (conexoes iniciadas "from" lan "to" internet) utilizando o "route-to" , mas estou tendo enormes dificuldades em realizar o "balanceamento" de entrada (conexoes iniciadas "from" internet "to" dmz) ,que ja é feito via DNS, mas o kernel insiste em responder somente atraves do gateway default." 

Bom,de certa forma concordo com o kernel em responder pela rota default. Mas tenho esta necessidade de multiplos links, no mesmo roteador e que um pacote que entre por um link sai pelo mesmo. 

Pensei...pensei...pensei...pensei ... Teria que ter uma forma de identificar o pacote que entrou por um determinado link para que depois se consiga voltar a resposta do mesmo pelo link correspondente via route-to. E uma forma de fazer isso seria "natear" as conexoes entrantes. O que resultou nas seguintes regras de firewall : 

route0="(" $ext_if0 $router0 ")" 
route1="(" $ext_if1 $router1 ")" 

nat on $ext_if0 from {$dmz,$lan} to any -> $ext_ip0 
nat on $ext_if1 from {$dmz,$lan} to any -> $ext_ip1 

nat on $int_if from any to $dmz tagged ROUTE0 -> $virtual_ip0 
nat on $int_if from any to $dmz tagged ROUTE1 -> $virtual_ip1 

rdr on $ext_if0 proto tcp from any to $ext_ip0 port {http,https} tag ROUTE0 -> $web_server 
rdr on $ext_if1 proto tcp from any to $ext_ip1 port {http,https} tag ROUTE1 -> $web_server 

pass in on $int_if route-to $route0 from $dmz to $virtual_ip0 flags S/SA modulate state 
pass in on $int_if route-to $route1 from $dmz to $virtual_ip1 flags S/SA modulate state 

pass in on $int_if route-to {$route0,$route1} round-robin from $lan to any flags S/SA modulate state 

pass out on $ext_if0 route-to $route1 from $ext_if1 to any flags S/SA modulate state 
pass out on $ext_if1 route-to $route0 from $ext_if0 to any flags S/SA modulate state 


Analisando somente esta logica, desconsiderando quaisquer outras configuracoes, isto nao teria que funcionar ? Eu acho que sim, 
mas nao esta funcionando. O kernel continua a insistir em responder pela rota default. O que mais me intriga e que as conexoes originadas da lan to internet funcionam, sendo que a regra e a mesma. 

Alguem consegue me dar um help, ou me orientar se estou tendo uma interpretacao errada do fluxo correto dos pacotes nas interfaces e de roteamento ? 

Grato. 

-- 
Wildes Miranda 



Mais detalhes sobre a lista de discussão freebsd