[FUG-BR] FreeBSD + PF + 2 interfaces externas

Márcio A. Sepp marcio em zyontecnologia.com.br
Quinta Agosto 14 11:50:42 BRT 2008


 

Passo por dificuldades para conseguir fazer o roteador funcionar com 2
placas de redes externas no FreeBSD (conexões entrantes).

 

Tenho o seguinte cenário:

 

Roteador com 3 placas de rede (rl0: saída padrão para internet; rl1: rede
interna; rl2: novo link de internet que atende a apenas 1 serviço
específico).

 

Meu pf está com as seguintes regras:

 

nat on $ext_if from !($ext_if) -> ($ext_if:0)

nat on $ext_if2 from !($ext_if2) -> ($ext_if2:0)

 

 

rdr on $ext_if2 proto { tcp, udp } from any to $ext_if2 port 22 ->
192.168.0.252 port 22

 

no rdr on { lo0, lo1 } from any to any

 

 

pass out

pass in on $int_if

 

pass in quick log on $ext_if2 proto { tcp, udp } from any to 192.168.0.252
port 22

 

pass in quick log on $int_if route-to \

     { ($ext_if2 $ext_gw2) } \

     from 192.168.0.252 to any keep state

 

 

pass out on $ext_if proto tcp from any to any flags S/SA modulate state

pass out on $ext_if proto { udp, icmp } from any to any keep state

pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state

pass out on $ext_if2 proto { udp, icmp } from any to any keep state

 

 

pass out on $ext_if route-to ($ext_if2 $ext_gw2) from $ext_if2 to any

pass out on $ext_if2 route-to ($ext_if $ext_gw) from $ext_if to any

 

 

Neste exemplo, o pacote chega na interface externa2 e é redirecionado para a
máquina 192.168.0.252 corretamente (chega até a máquina interna). Porém não
retorna para a origem. Alguém já fez isso com FreeBSD + PF? 

 

 

Att.

Márcio A. Sepp



Mais detalhes sobre a lista de discussão freebsd