У нас был один интернет скорость отличная но незадача в том что он время от времени отваливался. И мы находились без интернета.
Для решения данной проблемы подключили еще один интернет и в общем в конце всего у меня стало три интернет соединения.
И постоянно переключать всех с одного на другой не хорошо и по этому я решил создать сервер на FreeBSD 10.1 который и будет решать возникшую ситуацию
FreeBSD мы уже установили и собрали ядро
и добавили все необходимое для раздачи интернета
создадим файл
# ee /etc/chenge_defrouter
#!/bin/sh
## для записи log
log="/var/log/routing.log";
## конец записи
yesterday=`/bin/date '+%d.%m.%y'`; # сегодня
## Вырезаем defaultroute
inicializ ()
{
C1=`netstat -rn | grep default | awk '{print $2}'`
}
## конец вырезаем defaultroute
#чистим вчерашние записи
clear_log ()
{
if [ ! -f ${log} ]
then
touch ${log}
else
if cat ${log} | grep ${yesterday} > /dev/null
then
cat /dev/null > ${log}
fi
fi
}
## ///for LOG ROUTING
## переменные
IP1=192.168.100.212
IP2=192.168.100.113
IP3=192.168.100.114
S1=sani4.ru
## ///конец переменные
## Событие otchet проверим соединение с интернетом
otchet ()
{
if ping -c1 -s1 -W2 ${S1} > /dev/null
then
inicializ
echo `date +"%T %d.%m.%Y"`." Ok!!! GOOD Ping on Sani4.ru. Internet CONNECT on ".${C1} >> ${log}
else
inicializ
echo `date +"%T %d.%m.%Y"`." WARNING!!! Not ping on Sani4.ru. Internet DISCONNECT on ".${C1} >> ${log}
fi
}
##///Конец события otchet
## Проверка defaultroute и присвоение нового
soedinenie ()
{
if [ "${C1}" = "${IP1}" ] > /dev/null
then
route change default ${IP2}
inicializ
elif [ "${C1}" = "${IP2}" ] > /dev/null
then
route change default ${IP3}
inicializ
elif [ "${C1}" = "${IP3}" ] > /dev/null
then
route change default ${IP1}
inicializ
else
inicializ
echo "WARNING!!!".`${C1}`
fi
}
## конец Проверка defaultroute и присвоение нового
## цыкл пока не появится соединение с интернетом
while :
do
inicializ
otchet
if ping -c1 -s1 -W2 ${S1} > /dev/null
then
break
else
soedinenie
fi
done
## Конец цыкл пока не появится соединение с интернетом
теперь нам нужно чтобы данный скрипт работал
# chmod 0100 /etc/chenge_defrouter
еще и запускался автоматически с периодом в 1 минуту
для этого мы редактируем файл crontab
# ee /etc/crontab
и добавим в конец файла
*/1 * * * * root /etc/chenge_defrouter