< Select chanel >

Здравствуйте.

У меня возможно уже всеми до дыр затертая проблема, но практической реализации на этом форуме
да и в многих других тоже не нашел, поэтому обращаюсь сюда в надежде что её кто-то решил и поможет
мне её решить.

Имеем: Два канала

1. Интернет
2. Выделенный внутренний канал

Задача: Чтобы связь с головным офисом восстанавливалась по одному из них в случае проблем одного из них.

По 1 каналу Интернет связь нужно восстанавливать с VPN сервером головного офиса который
одним интерфейсом смотрит в Интернет а другим в локальную сеть.

По 2 каналу связь нужно восстанавливать с VPN сервером головного офиса который одним интерфейсом
смотрит на выделенный внутренний канал а другим соответственно также в локальную сеть.

Написал скрипт, и хочу положить в /etc/cron.5minutly для того чтобы крон исполнял скрип каждые пять
минут, соответственно скрипт выполнял проверку связи и в случае падения восстанавливал связь с головным
офисом по одному из каналов. Но скрипт написан на половину и он работает тоже на половину. Он проверяет
падение связи только одного канала, а именно выделенного внутренного канала (2) и переходит на первый
канал Интернет (1), к сожалению дальше я не могу продвинутся, и надеюсь на "коллегиальную" помощь.

Причем приоритет отдается внутреннему выделенному каналу (2), т.е. в случае "падения" внутреннего канала связи (2) скрипт переходит на канал связи Интернет (1), но скрипт также должен проверять связь
внутреннего выделенного канала (2) и как только канал (2) появляется то скрипт должен разорвать
соединение с Интернет (1) и перейтие на внутренний выделенный канал (2).

Вот мой топорный скрипт.
Здесь скрипт пингует шлюз внутреннего выделенного канала связи (2) и если в течении исполнения скрипта
внутренний канал связи не "заработал" то он "убивает" интерфейс (сетевая карта eth1) к которому
подключен внутренний выделенный канал (2) и активирует соединение с Интернет.

#!/bin/bash
LOGFILE='/var/log/ping-script.log'
testgateway="10.10.0.60"
#------------------------------------------------------------------------------

kol1=$(ping -c 4 $testgateway | grep "received" | awk '{print $4}')
if [ $kol1 == 0 ]
then
echo `date` Отвалилась связь (2) >> $LOGFILE
sleep 60
kol1=$(ping -c 4 $testgateway | grep "received" | awk '{print $4}')
if[ $kol1 == 0 ] then
echo `date` Спустя минуту тоже не появилась связь (2) >> $LOGFILE
/etc/init.d/net.ppp0 stop # Это подключение VPN к головному офису
sleep 3
/etc/init.d/net.eth1 stop # На этой сет.карте внутр.выделенный канал (2)
sleep 3
echo `date` Переходим на Интернет >> $LOGFILE
/etc/init.d/net.ppp1 start # Это подключение к Интернет (1)
echo `date` Связь с Интернет установлена
exit 0
fi
#------------------------------------------------------------------------------