скрипт переключения между 2 ISP
Добавлено: 2012-07-06 13:18:34
Добрый день! Есть 2 провайдера интернет. Нашел на форуме скрипт переключения.
Запихнул его в крон. Поставил на обработку каждую минуту.
Но есть проблема, когда падает основной провайдер, инет не переключается на резерв.
Переключаю вручную на резервный. И когда появляется основной, то скрипт без проблем переключает на него.
То есть скрипт может переключать только обратно.
Вот сам конфиг скрипта
#!/bin/sh
IP1=222.222.222.222
IP2=222.222.222.222
GW1=222.222.222.222
GW2=222.222.222.222
seychas=`date "+%Y-%m-%d %H:%M:%S"`
TARGET=ya.ru
/sbin/ping -q -S $IP1 -c 5 $TARGET > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -S $IP2 -c 5 $TARGET > /dev/null 2>&1
if [ $? = 0 ]; then
if [ ! -f /tmp/gw.changed ]; then
/sbin/route change default $GW2 && /bin/echo "${seychas} router now ${GW2}" >> /root/gw.log && touch /tmp/gw.changed
fi
fi
else
if [ -f /tmp/gw.changed ]; then
/sbin/route change default $GW1 && /bin/echo "${seychas} router now ${GW1}" >> /root/gw.log && rm /tmp/gw.changed
fi
fi
Запихнул его в крон. Поставил на обработку каждую минуту.
Но есть проблема, когда падает основной провайдер, инет не переключается на резерв.
Переключаю вручную на резервный. И когда появляется основной, то скрипт без проблем переключает на него.
То есть скрипт может переключать только обратно.
Вот сам конфиг скрипта
#!/bin/sh
IP1=222.222.222.222
IP2=222.222.222.222
GW1=222.222.222.222
GW2=222.222.222.222
seychas=`date "+%Y-%m-%d %H:%M:%S"`
TARGET=ya.ru
/sbin/ping -q -S $IP1 -c 5 $TARGET > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -S $IP2 -c 5 $TARGET > /dev/null 2>&1
if [ $? = 0 ]; then
if [ ! -f /tmp/gw.changed ]; then
/sbin/route change default $GW2 && /bin/echo "${seychas} router now ${GW2}" >> /root/gw.log && touch /tmp/gw.changed
fi
fi
else
if [ -f /tmp/gw.changed ]; then
/sbin/route change default $GW1 && /bin/echo "${seychas} router now ${GW1}" >> /root/gw.log && rm /tmp/gw.changed
fi
fi