Enviado em 27/03/2014 - 09:37h
Pessoal bom dia, estou tendo algumas dificuldades por não entender direito shell script, é o seguinte, estou utilizando o script do nosso amigo Roberto costa: http://www.vivaolinux.com.br/script/Redundancia-de-dois-links-de-internet
##################################### INICIO #########################################################
export LC_ALL=C
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
GWUP=`ip route show | grep ^default | cut -d " " -f 3`
# Gateway Principal
GW1=11.0.0.25; export GW1 # Substitua pelo gateway do seu link principal
# Gateway Slave
GW2=12.0.0.35; export GW2 # Substitua pelo gateway do seu link backup
# Etapa 1 = Verifica se o gateway é o principal, ser for ele vai subir o firewall referente a GW1 e ir pra etapa 2 se nao for ele vai pra etapa 2.1
if [ $GWUP == $GW1 ]; then
# Etapa 2 = Informa com log que a rota principal é o gateway 1 e vai para a etapa 6
echo "`date` - Rota default é a Principal! Link 15 megas VIRTUA NET Gateway 11.0.0.25" >> /var/log/redundancia/redundancia.log
# Etapa 2-1 = Sobe firewall referente GW1 VIRTUA
/etc/init.d/firewall/firewall_virtua.sh
echo "`date` - Subindo firewall para rota principal VIRTUA NET" >> /var/log/redundancia/redundancia.log
else
# Etapa 2.1 = Informa com log que a rota principal é o gateway 2 e vai para a etapa 3
echo "`date` - Rota default, Slave! Link 10 megas GVT Gateway 12.0.0.35" >> /var/log/redundancia/redundancia.log
/etc/init.d/firewall/firewall_gvt.sh
echo "`date` - Subindo firewall para rota Slave GVT" >> /var/log/redundancia/redundancia.log
# Etapa 3 = Verifica a disponibilidade do link com gateway 1
echo "`date` - Verificando a disponibilidade do link principal VIRTUA NET 15 megas..." >> /var/log/redundancia/redundancia.log
route add -net 0.0.0.0 gw $GW1
ping -I eth1 200.160.2.3 -c 5 -A > /dev/null
if [ $? -eq 0 ]; then
# Epata 4 = Se o gateway principal voltou ele exclui a rota do gateway 2 para manter o gatewy 1 ativo
echo "`date` - Link pricipal VIRTUA NET voltou!" >> /var/log/redundancia/redundancia.log
route del -net 0.0.0.0 gw $GW2
exit 0
# Se o gateway principal voltou então sobe o firewall para o gateway 1 principal
/etc/init.d/firewall/firewall_virtua.sh
echo "`date` - Subindo firewall para rota principal VIRTUA NET que voltou!!" >> /var/log/redundancia/redundancia.log
else
# Etapa 5 = Agora se o gatewy principal nao voltou, ele deleta a rota do gateway 1 e mantem a rota do gateway 2
echo "`date` - Link principal VIRTUA NET ainda nao voltou..." >> /var/log/redundancia/redundancia.log
echo "`date` - Link de backup GVT será mantido." >> /var/log/redundancia/redundancia.log
route del -net 0.0.0.0 gw $GW1
exit 0
fi
fi
# Etapa 6 = Testando se o link principal com gateway 1 esta normal, se tiver ele vai pra etapa 7
echo "`date` - Testando Link Principal VIRTUA NET..." >> /var/log/redundancia/redundancia.log
ping -I eth1 200.160.2.3 -c 5 -A > /dev/null
if [ $? -eq 0 ]; then
# Etapa 7 = Diz que o link principal com gateway 1 esta normal e finaliza.
echo "`date` - Link Principal VIRTUA NET está UP!" >> /var/log/redundancia/redundancia.log
else
# Etapa 8 = Diz que o link principal nao esta funcionado e deleta a rota do gateway 1 e adiciona a rota do gateway 2
echo "`date` - Link Principal VIRTUA NET está DOWN..." >> /var/log/redundancia/redundancia.log
echo "`date` - Subindo Link de backup GVT..." >> /var/log/redundancia/redundancia.log
route del -net 0.0.0.0 gw $GW1
ip route add default via $GW2
# Se link de backup assumir, sobe firewall para link slave GVT.
/etc/init.d/firewall/firewall_gvt.sh
echo "`date` - Subindo firewall para rota slave GVT" >> /var/log/redundancia/redundancia.log
fi
###############################################FIM##################################################
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta