[FUG-BR] Balanceamento de link usando ADSL

"Fabrício F. Kammer" ffkammer em conchalnet.com.br
Quinta Julho 27 10:11:59 BRT 2006


O tráfego "bate" na regra de forward, sem problemas, o único problema é 
que não redireciona para o gateway do ADSL... pode ser que tenha algum 
problema de roteamento...

Para simplificar estou querendo que todo o tráfego do cliente com IP 
200.xxx.yyy.zzz saia pelo ADSL.

Veja a saída do ifconfig tun0

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
         inet 200.200.200.200 --> 100.100.100.100 netmask 0xffffffff
         Opened by PID 96338

O gateway é o 100.100.100.100, correto?

Então adiciono uma rota da seguinte forma:

route add 200.200.200.200 100.100.100.100

Tenho o natd rodando na interface tun0, da seguinte forma:

natd -s -n tun0

As regras de ipfw estão assim:

ipfw add 1010 divert natd all from any to any in via tun0
ipfw add 1011 divert natd src-ip 200.xxx.yyy.zzz out via xl0
ipfw add 1012 fwd 100.100.100.100 src-ip 200.200.200.200 out via xl0

O tráfego do cliente 200.xxx.yyy.zzz bate na regra 1011, o endereço dele 
é traduzido para 200.200.200.200, em seguida ele bate na regra 1013, 
porém não é desviado para a interface tun0, ele saí pela interface xl0 
com o IP da tun0 e retorna pela tun0, dessa forma tenho ZERO de upload 
na tun0, porém chego a ter os 2Mbps de download

[]s

Fabrício


Luiz Souza escreveu:
> Fabrício F. Kammer wrote:
>>> Minha idéia é a seguinte:
>>> - Pego todo o tráfego do cliente 200.xxx.yyy.zzz que está saindo pelo
>>> meu link principal e faço NAT dele, traduzindo seu IP como sendo o IP do
>>> link ADSL (até aqui blz... tá funcionando)
>>> - Aí pego o tráfego do IP do link ADSL que tá tentando sair pela
>>> interface de meu link principal (xl0) e faço um forward para o gateway
>>> do ADSL. (Aqui não funciona, o tráfego sai pelo meu link principal,
>>> mesmo estando com o IP do link ADSL, e retorna pelo link ADSL)
>>>
>>> Acompanhando o tráfego em meu link ADSL vejo que só tenho tráfego de
>>> download... meu upload é sempre zero
>>>     
> O problema com certeza esta na sua regra de forward, crie regras com o 
> count log (que não interferem no funcionamento do ipfw) para acompanhar 
> os pacotes e identificar aonde esta o problema (até aonde o pacote vai).
> 
> O que costuma acontecer é a regra de forward ser adicionada depois de 
> uma regra established e neste caso não funciona mesmo.
> 
> Se você não encontrar o problema sugiro que você envie as regras que 
> você esta utilizando.
> 
> Do resto não vejo problemas com a sua idéia, isso funciona 100%.
> 
> Luiz
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Mais detalhes sobre a lista de discussão freebsd