Esse script tem por finalidade a redundância de dois links de
internet, você usa o link1 com gateway padrão, se o link1 cair o link2
assume, ficando como gateway padrão, assim que o link1 voltar o script
faz com que ele assuma novamente e tenha por padrão o link1.
Deve-se criar uma pasta no diretório /var/log ou onde você achar melhor para salvar os logs que serão criados. No meu caso:
# mkdir /var/log/reduncancia
Em seguida criar o arquivo de log:
# touch /var/log/redundancia/redundancia.log
Espero que ajude... Testado com sucesso no CentOS 5.9.
Abraços.
Deve-se criar uma pasta no diretório /var/log ou onde você achar melhor para salvar os logs que serão criados. No meu caso:
# mkdir /var/log/reduncancia
Em seguida criar o arquivo de log:
# touch /var/log/redundancia/redundancia.log
Espero que ajude... Testado com sucesso no CentOS 5.9.
Abraços.
[ Download: 5826.redundancia.sh ]
#!/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.## Crie o arquivo com o nome que quiser, no nosso caso como redundancia.sh# Torne-o um executavel com o comando chmod +x redundancia.sh# Adicione a linha abaixo no crontab crontab -e# * * * * * /etc/script/redundancia.sh# Gateway ativo# Esse comando vefirica qual o link esta como padrao, se o link tiver como padrao o GW1# ele vai pingar no ip externo e se responde e porque o link esta normal e nao faz mais nadaexport LC_ALL=Cexport PATH=/bin:/usr/bin:/sbin:/usr/sbinGWUP=`ip route show | grep ^default | cut -d " " -f 3`# Gateway PrincipalGW1=192.168.25.1; export GW1 # Substitua pelo gateway do seu link principal# Gateway SlaveGW2=192.168.24.1; export GW2 # Substitua pelo gateway do seu link backup# Etapa 1 = Verifica se o gateway e o principal, ser for ele vai pra etapa 2 se nao for ele vai pra etapa 2.1if [ $GWUP == $GW1 ]; then# Etapa 2 = Informa com log que a rota principal e o gateway 1 e vai para a etapa 6 echo "`date` - Rota default e a Principal! Link 35 megas Gateway 192.168.25.1" >> /var/log/redundancia/redundancia.logelse# Etapa 2.1 = Informa com log que a rota principal e o gateway 2 e vai para a etapa 3 echo "`date` - Rota default e a Slave! Link 10 megas Gateway 192.168.24.1" >> /var/log/redundancia/redundancia.log# Etapa 3 = Verifica a disponibilidade do link com gateway 1 echo "`date` - Verificando a disponibilidade do link principal de 35 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 voltou!" >> /var/log/redundancia/redundancia.log route del -net 0.0.0.0 gw $GW2 exit 0 else# Etapa 5 = Agora se o gatewy principal nao voltou, ele deleta a rota o gatewy 1 e mantem a rota do gateway 2 echo "`date` - Link principal ainda nao voltou..." >> /var/log/redundancia/redundancia.log echo "`date` - Link de backup sera mantido." >> /var/log/redundancia/redundancia.log route del -net 0.0.0.0 gw $GW1 exit 0 fifi# Etapa 6 = Testando se o link principal com gateway 1 esta normal, se tiver ele vai pra etapa 7echo "`date` - Testando Link Principal..." >> /var/log/redundancia/redundancia.logping -I eth1 200.160.2.3 -c 5 -A > /dev/nullif [ $? -eq 0 ]; then# Etapa 7 = Diz que o link principal com gateway 1 esta normal e finaliza echo "`date` - Link Principal UP!" >> /var/log/redundancia/redundancia.logelse# Etapa 8 = Diz que o link principal nao esta funcionado e deleta a rota do gateway um e adiciona rota ao gateway 2 echo "`date` - Link Principal DOWN..." >> /var/log/redundancia/redundancia.log echo "`date` - Subindo Link de backup..." >> /var/log/redundancia/redundancia.log route del -net 0.0.0.0 gw $GW1 ip route add default via $GW2fi |
Muito útil esse script. Como posso fazer isso para uma estação que roda winidows?
ResponderExcluirEle é facil de adaptar pra 3 Links ?
ResponderExcluir