The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Разборки с двумя аплинками"
Отправлено Vit, 12-Янв-08 13:46 
Выкладываю на общий суд сабж: ну нету БГП ни у одного из моих провов :-(
Нужно простое переключение каналов: при падении основного на резерв, при восстановлении - обратно.

роутер - фряха 6.2 (ДНС,почта,апач,помойка,нат...)
xl0 -> 192.168.x.x
rl0 -> ISP A (ADSL 256 kbit)
rl1 -> ISP B (WiFi 1 Mbit)

Сию каку, по имени fallover.sh "пихаю" в 5-ти минутный крон.

#cat fallover.sh
#!/bin/sh
WAN_MAIN_CHECK_IP=google.ru    # Надежный как кирпич ip-шник, я так думаю!? :-)
WAN_BACKUP_CHECK_IP= rl0    # Вместо фейса, его ip-шник конечно же.
DEFAULT_ROUTE_IP=`netstat -nr | grep default`
ISP_1_GATE=A.A.A.A
ISP_1_HALFBAND=`expr 32 \* 1024 \* 300 / 2`
ISP_1_ROUTE_COUNT=`ipfw show 40 | awk '{print $3}' ; ipfw -q zero 40`
ISP_2_GATE=B.B.B.B
ISP_2_HALFBAND=`expr 128 \* 1024 \* 300 / 2`
ISP_2_ROUTE_COUNT=`ipfw show 60 | awk '{print $3}' ; ipfw -q zero 60`

if echo $DEFAULT_ROUTE_IP | grep $ISP_1_GATE > /dev/null;
then
    if [ "$ISP_1_HALFBAND" -gt "$ISP_1_ROUTE_COUNT" ];
    then
        if ! (ping -c 3 $WAN_MAIN_CHECK_IP > /dev/null);
        then
            route delete default;
            route add default $ISP_2_GATE;
            route add $WAN_BACKUP_CHECK_IP $ISP_2_GATE;
        fi
    fi
else
    if [ "$ISP_2_HALFBAND" -gt "$ISP_2_ROUTE_COUNT" ];
    then
        if (ping -c 3 $WAN_BACKUP_CHECK_IP > /dev/null) || !(ping -c 3 $WAN_MAIN_CHECK_IP > /dev/null);
        then
            route delete default;
            route delete $WAN_BACKUP_CHECK_IP;
            route add default $ISP_1_GATE;
        else
            echo "<<L1e" > /dev/speaker;
        fi
    else
        echo "<<e3e3e3e3" > /dev/speaker;
    fi
fi

Поднимаю еще один НАТ, и добавляю каунты в ipfw:

/sbin/natd -f /etc/natd.conf -n rl1 -P /var/run/8669.pid
ipfw -q add 40 count ip from any to me in via rl0
ipfw -q add 60 count ip from any to me in via rl1
ipfw -q add 70 divert 8669 from any to any via rl1

Сам знаю что данная резолюция не фен-шуй (далеко не..), и скорее всего похожа на протез.
Поетому меня интересует ВАШЕ мнение относительно ее кривизны.

P.S. Просьба, сильно ногами не пинать :-(

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру