Search the Community
Showing results for tags 'route'.
Found 1 result
-
Так получилось, что у меня имеются два провайдера у одного из которых я вижу внутреннюю сеть, а ещё есть Zabbix который начинает ничего мне не сообщать если я не на работе про то, что происходит если провайдер через которого он это делает "уснул". Встретив на просторах интернета интересный скриптик я немного модифицировал его под себя и радуюсь жизни. Сим хочу с вами поделиться. Имеем два шлюза с апи нашей локалки 1.1.1.1 и 1.1.1.2. Имееем айпи 3.3.3.3 из внутренней сети провайдера. Создаём рабочую директорию для скрипта в /usr/local/scripts/bin/status В принципе это всё что нам надо. #!/bin/sh FPING="/usr/local/sbin/fping" WRKDIR='/usr/local/scripts/bin' DATE=`/bin/date` MAININET='3.3.3.3' MAIN='1.1.1.1' BACKUP='1.1.1.2' main_status_old=`/bin/cat $WRKDIR/status/main | /usr/bin/awk '{ print $1 }'` main_try=`/bin/cat $WRKDIR/status/main | /usr/bin/awk '{ print $2 }'` router=`/bin/cat $WRKDIR/status/router` main_status_new=`$FPING $MAININET | /usr/bin/awk '{ print $3 }'` back_status=`$FPING $BACKUP | /usr/bin/awk '{ print $3 }'` if [ $main_status_new != 'alive' ] then { if [ $router = 'main' ] then { if [ $back_status = 'alive' ] then { if [ $main_try != 0 ] then { route change default 1.1.1.2 echo 'backup' > $WRKDIR/status/router } else { main_try=`expr $main_try + 1` echo "$main_status_new $main_try" > $WRKDIR/status/main } . fi } fi } fi . } else { if [ $router = 'backup' ] then { route change default 1.1.1.1 echo 'main' > $WRKDIR/status/router echo "$main_status_new 0" > $WRKDIR/status/main } fi } . fi Делаем статический маршрут до айпи 3.3.3.3 через шлюз 1.1.1.1 route add -net 3.3.3.3 1.1.1.1 Добавляем этот маршрут в rc.conf static_routes="local-prov" route_local-prov="-net 3.3.3.3 1.1.1.1" Добавляем выполнение в крон по желаемому временному интервалу и радуемся тому, что сообщения о состоянии будут приходить если провайдер один отвалится. И тому что провайдер так любезен. Удачи!