[FUG-BR] Packet Filter

Alisson alisson em conqnet.com.br
Quinta Dezembro 14 12:22:16 BRST 2006


All,

Primeiro vlw a todos pela ajuda no assunto.

Concordo com os dizeres de todos e acho q criar uma documentão ou melhor 
dizendo um estudo de caso sobre o assunto seria de multíssima valia.

Talvez seja eu um dos q menos poderei agregar ao assunto. Mas no q 
depender d mim corro pra ajudar tbém.

Abaixo um exemplo do PF q tentamos.

Está fazendo o balanceamento de forma correta. Apenas não trata as 
questões de exclusão para casos de https, proxy transparente, ftp, entre 
outros.

Aqueles q puderem agregar algo a ele, será interessante e me coloco a 
disposição para testes aq. Tendo resultados posto pra todos.

[]'s

Alisson

rede_externa = "z.z.z.z/30"
int_if  = "rl1"
eth_link1 = "rl0"
eth_link2 = "rl2"
eth_serv = "rl3"
ext_gwlink1 = "x.x.x.x"
ext_gwlink2 = "y.y.y.y"

#  faz nat em ambas as interfaces da internet

nat on $eth_tlmr from $rede_externa to k.k.k.k/28 -> ($eth_tlmr)

nat on $eth_dmz from $rede_externa to k.k.k.k/28 -> ($eth_dmz)
nat on $eth_tlmr from $rede_externa to any -> ($eth_tlmr)
nat on $eth_embt from $rede_externa to any -> ($eth_embt)

#  passa todo trafego de saida na interface interna
pass out on $int_if from any to $rede_externa

#  aceita (quick) quaisquer pacotes destinados ao proprio gateway
pass in quick on $int_if from $rede_externa to $int_if

#  faz balanceamento de carga no trafego da rede interna.
pass in on $int_if route-to \
    { ($eth_link1 $ext_gwlink1), ($eth_link2 $ext_gwlink2) } round-robin \
    proto tcp from $rede_externa to any flags S/SA modulate state

#  balanceamento de carga em pacotes udp e icmp vindos da rede interna
pass in on $int_if route-to \
    { ($eth_link1 $ext_gwlink1), ($eth_link2 $ext_gwlink2) } round-robin \
    proto { udp, icmp } from $rede_externa to any keep state

#  regras gerais "pass out" para as interfaces externas
pass out on $eth_link1 proto tcp from any to any flags S/SA modulate state
pass out on $eth_link1 proto { udp, icmp } from any to any keep state
pass out on $eth_link2 proto tcp from any to any flags S/SA modulate state
pass out on $eth_link2 proto { udp, icmp } from any to any keep state

#  roteia pacotes de qualquer IP na $eth_tlmr para $ext_gwtlmr e o mesmo 
para

#  $eth_embt e $ext_gwembt
pass out on $eth_link1 route-to ($eth_link2 $ext_gwlink2) from 
$eth_link2 to any
pass out on $eth_link2 route-to ($eth_link1 $ext_gwlink1) from 
$eth_link1 to any



Mais detalhes sobre a lista de discussão freebsd