[GTER] redundancia ADSL

Tux Wi-FI tuxwifi at gmail.com
Wed Jul 23 14:29:08 -03 2008


Saudações,

Eu uso em um cliente, deixeis os dois modens adsl em BRIDGE e ainda um
roteador cisco com um link dedicado.

uso o adsl-start(ou pppoe-start, dependendo da distro) para conectar,
ai levanta as interfaces ppp0 e ppp1.

To usando da seguinte forma, segue meus scripts... Qualquer coisa da um grito...

Funciona assim: Quando uma ADSL cai, automaticamente a interface PPP
dela tb cai, entao a rota "desaparece". Quando ela conecta denovo, o
script ip-up cria as rotas novamente e chama o script criarota.sh para
testar todas os "links" e criar a rota com os HOPs certos...

Tem funcionado legal, apesar de estar meio "tosco"..

Ah, usei o nome das tabelas com o mesmo nome da interface, para facilitar...


cat /etc/iproute2/rt_tables
#
# reserved values
#
#255    local
#254    main
#253    default
#0      unspec
#
# local
#
#1      inr.ruhep

10 ppp0
11 ppp1
12 eth1
30 eth0



[levantando rotas]

ip route add IP-gateway-do-ppp0 dev ppp0 src ip-da-interface-ppp0 table ppp0
ip route add default via IP-gateway-do-ppp0 table ppp0


ip route add IP-gateway-do-ppp1 dev ppp1 src ip-da-interface-ppp1 table ppp1
ip route add default via IP-gateway-do-ppp1 table ppp1


ip route add classe-ip-do-cisco/24 dev eth1 src ip-do-roteador-cisco table eth1
ip route add default via ip-do-roteador-cisco table eth1

ip route add default via ip-do-roteador-cisco

ip rule add from ip-do-roteador-cisco table eth1
ip rule add from ip-da-interface-ppp0 table ppp0
ip rule add from ip-da-interface-ppp1 table ppp1

ip rule add fwmark 3 lookup eth0 prio 3
ip rule add fwmark 4 lookup ppp0 prio 3

ip rule add fwmark 5 lookup ppp1  prio 3
ip rule add fwmark 6 lookup eth1  prio 3

ip route add default table eth0 nexthop dev eth1 weight 1 nexthop dev
ppp0 weight 1 nexthop dev ppp1 weight 1

[/levantando rotas]


[inicio /etc/ppp/ip-up]

ip route add $PPP_REMOTE dev $PPP_IFACE src $PPP_LOCAL table $PPP_IFACE
ip route add default via $PPP_REMOTE table $PPP_IFACE

ip rule del table $PPP_IFACE

ip rule add from $PPP_LOCAL table $PPP_IFACE


/opt/criarota.sh

[fim /etc/ppp/ip-up]



[inicio /opt/criarota.sh]

srv-gat:~# cat /opt/criarota.sh
#!/bin/sh


ping -qc5 -I eth1 www.uol.com.br >/dev/null

if [ $? -gt 0 ]; then # Se cair a net, executar ...

     testeETH1=""

  else # Caso contrario, executar...

     testeETH1=" nexthop dev eth1 weight 2"

fi

ping -qc5 -I ppp0 www.uol.com.br >/dev/null

if [ $? -gt 0 ]; then # Se cair a net, executar ...

     testePPP0=""

  else # Caso contrario, executar...

     testePPP0=" nexthop dev ppp0 weight 1"

fi

ping -qc5 -I ppp1 www.uol.com.br >/dev/null

if [ $? -gt 0 ]; then # Se cair a net, executar ...

     testePPP1=""

  else # Caso contrario, executar...

     testePPP1=" nexthop dev ppp1 weight 1"

fi


cmd="ip route add default table eth0 $testeETH1 $testePPP0 $testePPP1"


#echo "Conexao ETH1 $testeETH1 - Conexao PPP0 $testePPP0 - Conexao
ppp1 $testePPP1"\n

ip route del default table eth0
$cmd
ip route flush cached

[fim /opt/criarota.sh]




2008/7/23 bruno at openline.com.br <bruno at openline.com.br>:
> --- "Flavio Junior" <billpp at gmail.com> escreveu:
>> Só adicionando (eu espero que sem falar besteiras) a resposta do amigo..
>>
>> Por que não funciona?
>>
>> Esse esquema do ip route trabalharia com metricas de rota e peso.
>> No teu caso, os 2 links trabalhariam ativo/ativo como um (ambos tem o
>> mesmo peso) e dividindo a carga em 50% pra cada.
>>
>> Por que não funciona quando a ADSL cai?
>> Por que o iproute não detecta o rompimento do link, já que o que caiu
>> foi a WAN do MODEM e ele ta linkado na LAN do mesmo. Ou seja, pra ele
>> o link ta OK (e realmente está).
>
> Ola
>
> Ja experimentou remover o IP/deixar somente a rota para
> a interface? No caso de down da interface a rota seria
> ignorada e mantida só a outra? Conta pra gente o resultado
> desse teste! ;-)
>
> Tipo assim (com os PPP no próprio linux ao invés de em
> roteadores ou máquinas externas da LAN. man adsl-connect)
>
>  ip route add default scope global nexthop dev ppp0 weight 1 \
>    nexthop dev ppp1 weight 1
>
> []s,
> !3runo
>
>> Se tu conseguisse progrmar um trap/trigger num modem adsl desses pra
>> quando a interface WAN caisse e/ou perdesse o IP válido ele derrubasse
>> a interface LAN tambem, o teu comando iproute funcionaria muito bem.
>> Assim que o iproute detectar a queda do link na ethX, ele para de
>> encaminhar os pacotes por ela e usa somente a ethY.
>> Seria necessário talvez só mais algumas linhas definindo tables e as
>> rotas de cada table.
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter
>



-- 
[]´s

CeBoLaRk
http://www.tuxwifi.com.br
msn: cebolark at hotmail.com



More information about the gter mailing list