Linkswitch (The POG)
Publicado por George Mattos 04/11/2008
[ Hits: 6.587 ]
Esse script provê de forma simples e eficiente uma redundância entre dois links de internet (sem load balance), sendo um link principal e o outro de backup.
Na verdade isso é uma POG testada aqui na empresa que eu trabalho, e funciona bem!
#!/bin/bash # Observacoes # # Esse script prove de forma simples e eficiente uma redundancia entre # dois links de internet (sem load balance), sendo um link principal e o outro de backup. # # Esse script depende do programa iproute2 # # Adicione a linha abaixo em /etc/init.d/networking: # /etc/linkswitch.sh # # Adicione a linha abaixo em /etc/crontab e reinicie o cron: # * * * * * root sh /etc/linkswitch.sh 21 >> /var/log/linkswitch.log # /etc/init.d/cron restart # # Edite o arquivo /etc/iproute2/rt_tables e adicione duas tabelas # 20 provedor1 # 30 provedor2 # # Depois configure uma rota padrao em cada uma delas e crie um arquivo de incializacao para # evitar que sejam apagadas caso ocorra um reboot no sistema, uma boa ideia seria coloca-las # em /etc/init.d/networking # ip route add default via <gateway_do_provedor1> table provedor1 # ip route add default via <gateway_do_provedor2> table provedor2 # # Escrito por George Matos, Fortaleza, 21 de Outubro de 2008 # Email do administrador MAILADMIN=administrador@suaempresa.com.br; export MAILADMIN # Gateway ativo GWUP=`ip route show | grep ^default | cut -d " " -f 3` # Gateway master GW1=1.2.3.4; export GW1 # Substitua pelo gateway do seu link principal # Gateway slave GW2=4.3.2.1; export GW2 # Substitua pelo gateway do seu link backup if [ $GWUP == $GW1 ]; then echo "$HOSTNAME: `date` - Rota default: master" else echo "$HOSTNAME: `date` - Rota default: slave" echo "$HOSTNAME: `date` - Verificando disponibilidade do link master..." route add -net 0.0.0.0 gw $GW1 metric 10 ping -I eth1 200.160.2.3 -c 5 -A > /dev/null if [ $? -eq 0 ]; then echo -e "$HOSTNAME: `date` - \e[32;1mLink master UP\e[m" route del -net 0.0.0.0 gw $GW2 metric 1 echo "O link principal esta se conectando com a internet!" | mail -s "Link principal voltou!" $MAILADMIN exit 0 else echo "$HOSTNAME: `date` - Link master off-line" echo "$HOSTNAME: `date` - Link slave on-line" route del -net 0.0.0.0 gw $GW1 metric 10 if [ -e /tmp/linkswitch.tmp ]; then rm /tmp/linkswitch.tmp exit 0 fi exit 0 fi fi echo "$HOSTNAME: `date` - Testando link master..." ping -I eth1 200.160.2.3 -c 5 -A > /dev/null if [ $? -eq 0 ]; then echo "$HOSTNAME: `date` - Link master on-line" else echo -e "$HOSTNAME: `date` - \e[31;1mLink master DOWN\e[m" echo "$HOSTNAME: `date` - Subindo link slave..." ip route del default ip route add default via $GW2 metric 1 >/tmp/linkswitch.tmp echo "Link slave on-line, isso pode ter ocorrido pela falha temporaria do link principal. Entre em contato com o seu provedor" | mail -s "AVISO! Seu link principal pode estar off-line" $MAILADMIN fi
Ver último twitter pelo terminal ou na barra de notificação
Script de Backup para FITA DAT usando "tar"
Monitorar status de transferência das interfaces de rede
Desligamento programado com interface gráfica em Zenity
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Alguém já testou o novo COSMIC Desktop? O que achou? (3)
Portal de autenticação em loop (0)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)









