Recentemente fiz a separação de tráfego de links aqui na empresa, e resolvi usar uma funcionalidade do FreeBSD (Linux também faz).
Verifique se há a linha contendo ROUTETABLES no arquivo de configuração do seu Kernel.
arquivo - /usr/src/sys/i386/conf/SEUKERNEL
device pf
device pflog
options ROUTETABLES=6 #Max FIBs 16
Partindo do princípio de que todos que estão lendo saibam compilar o kernel do FreeBSD, seguiremos.
link1=200.200.200.2/32 GW1=200.200.200.1
link2=189.189.189.2/32 GW2=189.189.189.1
interna=192.168.0.0/24
Digamos que eu queira que o tráfego de email trafegue no $link1 (não mailserver, p/ mailserver use RDR mesmo), e que a internet passe pelo $link2.
no arquivo /etc/rc.local :
defaultrouter="200.200.200.1"
será o nosso gateway padrão.
e no arquivo /etc/rc.local insira a chamada FIB.
setfib 1 route add default 189.189.189.1
então teremos a saida principal no ip 200.200.200.1 e o segundo link saindo por 189.189.189.1.
Teste usando setfib:
# setfib 1 netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 189.189.189.1 UGS 0 3717628 rl1
Agora, vamos ao redirecionamento de portas usando PF.
link1_portas = "{ 25 110 143 995 465 993 53 }"
link2_portas = "{ 20 21 1723 47 491 1024><65000 }"
.
.
.
pass in quick on $int_if proto { tcp udp } to any port $link2_portas rtable 1
pass in quick on $int_if proto { tcp udp } to any port $link1_portas keep state
A grosso modo, declare as variáveis e após crie as regras de in e out a seu gosto.
Fonte:
http://daniloegea.wordpress.com/2009/11/17/usando-pf-com-fibs-no-freebsd/
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário