Вот наваял скрипт переключения между каналами с условием, что дефолтовый «ng0»

Вот собственно сам скрипт:

cat /usr/local/etc/scripts/if_ping.sh
#!/bin/sh
###
ng_ip=`ifconfig ng0 | grep inet | awk '{print $2}'`
ng_gw=`ifconfig ng0 | grep inet | awk '{print $4}'`
tun_ip=`ifconfig tun0 | grep inet | awk '{print $2}'`
tun_gw=`ifconfig tun0 | grep inet | awk '{print $4}'`
def_gw=`netstat -rn | grep default | awk '{print $2}'`
 
if ping -c 3 -S $ng_ip ya.ru > /dev/null
then
    if [ "$ng_gw" != "$def_gw" ] > /dev/null
    then
       /sbin/route change default $ng_gw
    fi
exit 0
else
    /sbin/route change default $tun_gw
    /usr/local/etc/rc.d/mpd5 restart
    if ping -c 3 -S $tun_ip ya.ru > /dev/null
    then
    exit 0
    else
    /sbin/route change default $ng_gw
    sleep 3
    killall -9 ppp
    sleep 5
    killall ppp
    sleep 7
    killall ppp
    sleep 45
    ppp -ddial ukrtelecom
    fi
fi

Пробовали вытягивать кабеля по очереди на 5-10 минут, каналы переключает — при возвращении линка с впном, через 2 минуты снова всё переходит на него.

PS. Если Вам не нужен канал по умолчанию, то проверку в строках:

    if [ "$ng_gw" != "$def_gw" ] > /dev/null
    then
       /sbin/route change default $ng_gw
    fi

Можно удалить, тогда скрипт будет переключать на любой из рабочих каналов и будет на нём до тех пор, пока не упадёт другой.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/2336


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.