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##################################################
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
[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