есть две машины на них установлена freebsd 8.4 настроен nat со всеми плюшками и CARP на внутренних интерфейсах , внешние висят на разных провайдерах, получается в случае выхода из строя одного из шлюзов второй забирает на себя весь трафик, теперь хочу сделать скрипт чтобы при пропадании связи с провайдером ложился внутренний интерфейс тем самым имитировал выключение машины и CARP перебрасывал весь трафик на др шлюз.
реализовать хочу с помощью скрипта, пинговать ДНС провайдера например, если пинги пропадают то вырубается внутренний интерфейс, при появлении пингов интерфейс поднимается , скрипт в крон.
теперь о скрипте
вот что пока есть
Код: Выделить всё
#!/bin/sh
testip="12.12.12.12"
kol=$(/sbin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
echo "Нет пинга, Ждём 1 минуту" | logger -t NOPING
sleep 60
kol=$(/sbin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
echo "Выполнение моего скрипта."| logger -t NOPING
ifconfig fxp2 down
exit 0
fi
fi
нужно реализовать проверки
ping dns внешний провайдер
если пинг есть то делаем проверку 1
если пинга нет то делаем проверку 2
проверка 1
ping dns внутр
если есть то конец
если нет то вкл внутренний интерфейс
конец
проверка 2
ping dns внутр
если есть то выкл внутр интерфейс
если нет то конец
как то так наверно должно быть, прошу строго не судить программировал только на бейсике