Arquivo da tag: 2 links

Script para redundancia de link

O Script a baixo é para quem possui dois links de internet, e quer que o alternativo entre em ação quando o principal cair. esse script fará isso automaticamente se colocado na crontab.

#!/bin/bash
#criar o arquivo se ele não existe
log=”/var/log/internet.log”
data=`date`

#link padrão sempre é o link2, nesta caso o link GVT

link1=”oi”
link2=”GVT”
gw_link1=”192.168.1.1″
gw_link2=”192.168.25.1″
destino_link1=”200.176.2.10″
destino_link2=”200.160.2.3″

route_link1=`/sbin/route -n |grep ^0.0.0.0 |grep $gw_link1 |wc -l`;
route_link2=`/sbin/route -n |grep ^0.0.0.0 |grep $gw_link2 |wc -l`;

#rota link1
/sbin/route add -host 200.176.2.10 gw $gw_link1
#rota link2
/sbin/route add -host 200.160.2.3 gw $gw_link2

if(ping -c 1 -w 2 $destino_link1 > /dev/null);then
echo “$data $destino_link1 $link1 OK” >> $log
/sbin/route del -host 200.176.2.10 gw $gw_link1
else
echo “$data $destino_link1 $link1 falhou” >> $log
fi;

if(ping -c 1 -w 2 $destino_link2 > /dev/null);then
echo “$data $destino_link2 $link2 OK” >> $log
/sbin/route del -host 200.160.2.3 gw $gw_link2
if [ $route_link2 = “0” ]; then
/sbin/route del default gw $gw_link1
/sbin/route add default gw $gw_link2
fi;

else
# clear
echo “$data $destino_link2 $link2 falhou” >> $log
echo “$data ativando link da $link1” >> $log
/sbin/route del default gw $gw_link2
/sbin/route add default gw $gw_link1
fi;

exit 0