[FUG-BR] Balance usando PF
Mario Lobo
lobo em bsd.com.br
Terça Julho 12 08:41:51 BRT 2011
On Thursday 19 May 2011 10:44:42 you wrote:
> Bom dia pessoal
>
> queria pedir uma ajuda se possível dos conhecedores, seguinte estou fazendo
> um balance
>
> com o PF, está funcionando certinho em laboratório perfeito, porem queria
> saber se é possível
>
> fazer com pesos diferentes como o prob do ipfw.
>
> pois todos os testes que fiz ele divide a carga por igual, porem os links
> de saída são de velocidades
>
> diferentes, procurei na internet e não encontrei, creio que não é possível
> mesmo, mas queria
>
> confirmar isso com vocês.
>
> a configuração de teste que fiz está abaixo, funcionando perfeito,
> precisava somente jogar tipo
>
> 50% pra um link, 25% pra outro e 25% para o outro.
>
> é possível isso com o PF? Obrigado pessoal
>
[Snip]
>
>
>
> # Roteia pacotes de quaisquer IPs na $ext_if1 para $ext_gw1, e faz
>
> # o mesmo para $ext_if2 e $ext_gw2
>
> pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
>
> pass out on $ext_if1 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any
>
> pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
>
> pass out on $ext_if2 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any
>
> pass out on $ext_if3 route-to ($ext_if1 $ext_gw1) from $ext_if2 to any
>
> pass out on $ext_if3 route-to ($ext_if2 $ext_gw2) from $ext_if1 to any
>
>
Leandro/lista;
Vi este e-mail aqui na lista.
Estou querendo fazer a mesma coisa aqui na empresa só que com 2 links de
internet. um de 1M e outro de 2M, e duas redes internas pra ditribuir.
O link de 1M é que ja estava e é o gateway padrao da maquina. O de 2M foi
adicionado a pouco.
fiz o seguinte:
nat on $ext_if from any to any -> $my_ext_ip port 1024:65535
* nat on $ext_if2 from any to any -> $my_ext_ip2 port 1024:65535
rdr on $ext_if inet proto tcp to port $SshPort -> lo0 port $SshPort
* rdr on $ext_if2 inet proto tcp to port $SshPort -> lo0 port $SshPort
* pass in log quick on $ext_if2 inet proto tcp from any to lo0 \
port $SshPort flags S/SA keep state (max 30, source-track rule, \
max-src-nodes 10, max-src-states 2 ### (regra 186)
* pass out quick on $ext_if route-to ($ext_if $ext_gw) from $ext_if to any
* pass out quick on $ext_if2 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
tentei tambem:
* pass out quick on $ext_if route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
* pass out quick on $ext_if2 route-to ($ext_if $ext_gw) from $ext_if to any
block log all ### (regra 221)
Os asteriscos foi o que acrescentei as regras que ja tenho.
Os testes que fiz com route-to nào funcionaram.
Tentei fechar com $SshPort entrando pelo link de 2M. Eu chego ate o servidor
mas na saída, o pacote não bate nas regras de pass out, e fica querendo sair
com o IP do link de 1M, conforme abaixo:
sis0 = link de 1M. gateway padrão (ext_if)
rl0 = link de 2M (ext_if2)
ext_gw = A.A.A.A
ext_gw2 = B.B.B.B
[No FW]> tcpdump -n -e -ttt -i pflog0 host 187.113.99.63 (meu ip de casa)
O pacote chega;
00:00:00.000000 rule 186/0(match): pass in on rl0: 187.113.99.63.47250 >
127.0.0.1.5952: [|tcp]
Em vez de bater nas regras de paas out, ele ta batendo na regra de block
00:00:00.000121 rule 221/0(match): block out on sis0: A.A.A.A.34582 >
187.113.99.63.47250: tcp 40 [bad hdr length 0 - too short, < 20]
00:00:02.999948 rule 221/0(match): block out on sis0: A.A.A.A.34244 >
187.113.99.63.47250: [|tcp]
00:00:03.199982 rule 221/0(match): block out on sis0: A.A.A.A.54550 >
187.113.99.63.47250: [|tcp]
Leandro, como ficou o default gateway da tua máquina?
As tuas regras ficaram do jeito acima?
O que posso estar fazendo errado?
Obrigado
--
Mario Lobo
http://www.mallavoodoo.com.br
FreeBSD since 2.2.8 [not Pro-Audio.... YET!!] (99% winblows FREE)
Mais detalhes sobre a lista de discussão freebsd