redundancia de Link

1. redundancia de Link

Idalmo Junior
calaff2

(usa CentOS)

Enviado em 02/02/2011 - 19:48h

Boa Noite galera do vol, gostaria de saber se alguem poderiaajudar.
tenho dois Link com ips dinamicos e gostaria de um script de redudancia se um cair a rota padrão muda para o outro, encontrei um aqui no vol + não ta funcionando. segue o script abaixo.

#!/bin/bash

#####A EMBRATEl usa o TERRA para fazer o teste
TERRA="200.176.2.10"

#####A GVT usa o UOL para fazer o teste
UOL="200.221.2.45"

#####GW da OI
ROTAEMBRATEL="10.1.1.1"

#####GW da Fidelity
ROTAGVT="192.168.0.1"

#####IP fixo da Oi
IPEMBRATEL="10.1.1.2"

#####IP da Fidelity
IPGVT="192.168.0.2"

#####Interface da OI
ETHE="eth1"

#####Interface da Fidelity
ETHG="eth2"

#####IP do terra
TESTE="200.176.2.10"

#####Arquivo de firewall da embratel
FWE="/etc/firewall-oi.sh"

#####Arquivo de firewall da gvt
FWG="/etc/firewall-fidelity.sh"

#####Data atual
DATA=`date +%Y-%m-%d`

#####Verifica a rorat atua
ROTAATUAL=`(route -v | grep default | awk -F' ' '{ print $2}')`

#####Deleta a rota
ROTADEL="route del default gw "

##### Comando para adicionar a rota
ROTAADD="route add default gw "

#####Adiciona a rota do terra (Se a embratel estiver fora)
route add -host 200.176.2.10 gw 10.1.1.1 dev eth1
route add -host 200.221.2.45 gw 192.168.0.1 dev eth2

#####Se o terra pingar, o link esta OK
if ( ping -I $ETHE -c 4 $TERRA > /dev/null ); then
#Cria os logs
echo $DATA >> /var/log/redundante.log
echo "Link Embratel esta OK" >> /var/log/redundante.log

#####Se a rota default for igual a rota da embratel, nao faz nad
if [ "$ROTAATUAL" == "$ROTAEMBRATEL" ]; then
echo "Rota Embratel esta OK" >> /var/log/redundante.log
#####Se a rota default for diferente da embratel, coloca a rota

default como embratel
else
$ROTADEL $ROTAGVT
$ROTAADD $ROTAEMBRATEL
$FWE
echo "Ativado a rota da Embratel" >> /var/log/redundante.log
#Envian um email avisando que volto o link da embratel
#mail -s "Link da EMBRATEL volto a funcionar"
#meuemail@... <suporte@...> </etc/link/embratel.txt
fi
#Finaliza os logs
echo "Fim da verificacao EMBRATEL" >> /var/log/redundante.log
echo " " >> /var/log/redundante.log
echo " " >> /var/log/redundante.log

else
#####Se pingar eh pq o link esta ok
if ( ping -I $ETHG -c 4 $UOL >/dev/null ); then
#cria os logs
echo $DATA >> /var/log/redundante.log
echo "Link GVT esta OK" >> /var/log/redundante.log

##### Se a rota default for igual a da gvt, nao faz nada
if [ "$ROTAATUAL" == "$ROTAGVT" ]; then
echo "Rota Embratel ainda esta fra do ar" >> /var/log/redundante.log
echo " " >> /var/log/redundante.log
echo " " >> /var/log/redundante.log
##### Se a rota default for diferente da GVT, adiciona a rota defaul
como sendo da GVT
else
$ROTADEL $ROTAEMBRATEL
$ROTAADD $ROTAGVT
$FWG
echo "Ativando a rota da GVT" >> /var/log/redundante.log
#Envia o email avisando o que link da Embratel caiu
mail -s "Link da EMBRATEL fora do AR" meuemail@...
<suporte@...> < /etc/link/embratel_caiu.txt
mail -s "Link da GVT esta no AR" meuemail@...
<suporte@...> < /etc/link/gvt.txt
fi

#Cri os logs
echo "Fim da verificacao GVT" >> /var/log/redundante.log
echo " " >> /var/log/redundante.log
echo " " >> /var/log/redundante.log
fi

fi

#####Deleta rotas do Terra
route del -host 200.176.2.10 gw 10.1.1.1 dev eth1
route del -host 200.221.2.45 gw 192.168.0.1 dev eth2




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts