У нас был один интернет скорость отличная но незадача в том что он время от времени отваливался. И мы находились без интернета.
Для решения данной проблемы подключили еще один интернет и в общем в конце всего у меня стало три интернет соединения.
И постоянно переключать всех с одного на другой не хорошо и по этому я решил создать сервер на 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 |