Alta disponibilidade de Links com CentOS 6
Publicado por Carlos Eduardo Maciel Rodrigues (última atualização em 15/07/2012)
[ Hits: 6.606 ]
O objetivo deste script é checar se o link principal está online, caso o mesmo não esteja é trocado automaticamente para o link secundário e assim que o link principal volta a ficar online a conexão é direcionada para placa principal novamente.
Este script tem a função de checar a disponibilidade dos links de internet, fazendo com que a empresa nunca fique sem internet, sendo que toda vez que o link principal fica indisponível a conexão é direcionada para o link secundário.
Para que este script funcione os scripts de firewall deve esta configurado com o seguinte cenário:
Linux CentOS 6 com 3 placas de redes sendo:
eth0 = local 192.168.0.1 (rede local)
eth1 = 200.200.200.10 (link dedicado) principal
eth2 = 189.189.189.10 (link vivo) secundário
#!/bin/bash # ##################################### ##Carlos Eduardo Maciel Rodrigues # # cadurodrigues@hotmail.com # ##################################### PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/ # gateway do Link principal LDGW=200.200.200.1 DNS=4.2.2.2 # gateway do link Secundário LVGW=189.189.189.1 IPTABLES=/sbin/iptables # Testa acesso ao DNS do Google # Se o mesmo estiver funcionando não é alterado as conexões caso contrário é deletada #a rota da placa principal e adicionada a rota da placa secundária. if ping -c 2 -i 1 -q $DNS > /dev/null 2>&1; then echo "PING OK" else if route -n | grep $LDGW > /dev/null; then route del default gw $LDGW eth1 > /dev/null echo "adicionando nova rota default da Vivo" route add default gw $LVGW eth2 > /dev/null echo "Rota do Link da vivo adicionada" fi fi # Caso a rota da placa principal foi trocado para placa secundária o sistema lê o (fi) abaixo. #O (fi) abaixo verifica se o link principal voltou a funcionar, caso o mesmo tenha voltado é trocado #a conexão da placa secundária para placa principal. # "Testando link principal" if ping -c 2 -i 1 -q $LDGW > /dev/null 2>&1; then echo "voltando para o link principal" route del default gw $LVGW eth2 > /dev/null echo "Adicionando Rota do Link dedicado" route add default gw $LDGW eth1 > /dev/null fi #fim do script.
Monitore vários servidores ao mesmo tempo com Apache + shellscript
Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos
Implementando Statement e RecordSet em bash script
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[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