Alta disponibilidade de Links com CentOS 6
Publicado por Carlos Eduardo Maciel Rodrigues (última atualização em 15/07/2012)
[ Hits: 6.629 ]
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.
Intervalo de tempo v.2 - Corrigido
Executando comandos remotos usando sshpass
Instale o driver proprietário Nvidia baixado do site oficial em qualquer distro
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
Aumentar prioridade de processos (2)
Como usar o Git apenas em um servidor interno, usando apenas o git? (1)