Uso esse script em um cliente, ele é meio grande mais traz um bom resultado..
# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ export TERM=linux export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # roteadores locais dgw="200.215.41.1" # Oi gw2="189.127.142.41" # ? rota_atual=`/sbin/route -n | grep UG | awk '{printf $2}'` # interface conectada aos roteadores if_dgw="eth1" # Oi if_gw2="eth4" # ? # ips da internet para teste de conexao ip_teste1="8.8.8.8" ip_teste2="200.176.2.10" # limpando terminal... clear # adicionando rotas temporarias para teste echo + adicionando rotas temporarias para o teste do primeiro roteador... echo " " /sbin/route add -host $ip_teste1 gw $dgw $if_dgw /sbin/route add -host $ip_teste2 gw $dgw $if_dgw /sbin/route -n sleep 2 # testando o link padrao de navegacao echo " " echo + testando roteador padrao... pingando o primeiro ip de teste... ping -q -c 2 $ip_teste1 -I $if_dgw > /tmp/defaultgw1.link 2>&1 && status_dgw="UP" || status_dgw="DOWN" if [ $status_dgw == DOWN ]; then echo - FALHA! verificando conectividade no segundo ip de teste atraves da rota padrao... ping -q -c 2 $ip_teste2 -I $if_dgw > /tmp/defaultdgw2.link 2>&1 && status_dgw="UP" || status_dgw="DOWN" rm /tmp/defaultdgw2.link fi sleep 2 # removendo rotas temporarias de teste echo + removendo rotas temporarias para o teste do roteador padrao... /sbin/route del -host $ip_teste1 gw $dgw $if_dgw /sbin/route del -host $ip_teste2 gw $dgw $if_dgw sleep 2 # limpando arquivos temporarios echo + removendo arquivos de logs do primeiro teste... rm /tmp/defaultgw1.link sleep 2 # testando segunda rota padrao clear echo + adicionando rotas temporarias para o teste do segundo roteador... echo " " /sbin/route add -host $ip_teste1 gw $gw2 $if_gw2 /sbin/route add -host $ip_teste2 gw $gw2 $if_gw2 /sbin/route -n sleep 2 # testando o link padrao de navegacao echo " " echo + testando o roteador secundario... pingando o primeiro ip de teste... ping -q -c 2 $ip_teste1 -I $if_gw2 > /tmp/defaultgw3.link 2>&1 && status_gw2="UP" || status_gw2="DOWN" if [ $status_gw2 == DOWN ]; then echo - FALHA! verificando conectividade no segundo ip de teste atraves da rota secundaria... ping -q -c 2 $ip_teste2 -I $if_gw2 > /tmp/defaultgw4.link 2>&1 && status_gw2="UP" || status_gw2="DOWN" rm /tmp/defaultgw4.link fi sleep 2 # limpando arquivos temporarios echo + removendo arquivos de logs do segundo teste... rm /tmp/defaultgw3.link sleep 2 # removendo rotas temporarias de teste echo + removendo rotas temporarias para o teste do segundo roteador... /sbin/route del -host $ip_teste1 gw $gw2 $if_gw2 /sbin/route del -host $ip_teste2 gw $gw2 $if_gw2 sleep 2 # ---------------------------------------------------------------------------------- # tratamento dos resultados.. # ---------------------------------------------------------------------------------- case $status_dgw:$status_gw2 in UP:UP) echo " " echo - Sem problemas de Conectividade - usando o link Oi como padrao. . . if [ $rota_atual == $dgw ]; then echo - Sem necessidade de ajustes. . . else /sbin/route add default gw $dgw /sbin/route del default gw $gw2 fi echo " " ;; UP:DOWN) echo " " echo - ATENCAO! problemas no link secundario! alterando navegacao para Oi! if [ $rota_atual == $dgw ]; then echo - Gateway padrao ja setado para Oi! else /sbin/route add default gw $dgw /sbin/route del default gw $gw2 fi echo " " ;; DOWN:UP) echo " " echo - ATENCAO! problemas no roteador padrao Oi! - alterando navegacao para o link secundario! if [ $rota_atual == $gw2 ]; then echo - configuracoes ok! else /sbin/route add default gw $gw2 /sbin/route del default gw $dgw fi echo " " ;; DOWN:DOWN) echo " " echo - ATENCAO! os links nao estao respondendo! entre em contato com a provedora e verifique os cabos! echo " " ;; *) exit 0 ;; esac # ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Luan Tasca e-mail: luanta...@gmail.com tel: 48 - 99494665 twitter: @luantasca site: www.beersd.com.br BSD User: 51785 |/- Amar é... deletar o Windows do HD ! /| |/ /| Em 24-01-2011 15:27, Alessandro de Souza Rocha escreveu: > Boa tarde, alguem de vcs aqui na lista tem alguns script para troca de > rota default quando um link > ou adsl cai. > pesquisando no google so tenho carp, so que nao tenho 2 maquina para > fazer com carp. > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd