Вот наваял скрипт переключения между каналами с условием, что дефолтовый «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/?p=2336


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

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

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

Add your comment now

You must be logged in to post a comment.