URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 45874
[ Назад ]

Исходное сообщение
"Резервный канал у второго провайдера на FreeBSD"

Отправлено СергейКа , 07-Июл-04 10:36 
Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали уходить через резервный.

Пока что нашёл 3 направления routed, zebra, gated
Правильный ли это путь, если да - хотелось бы получить помощь ссылками на установку и настройку желательно на русском?
Или можно сделать проще?

Заранее спасибо откликнувшимся


Содержание

Сообщения в этом обсуждении
"Резервный канал у второго провайдера на FreeBSD"
Отправлено cray , 07-Июл-04 19:39 
>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>уходить через резервный.
>
>Пока что нашёл 3 направления routed, zebra, gated
>Правильный ли это путь, если да - хотелось бы получить помощь ссылками
>на установку и настройку желательно на русском?
>Или можно сделать проще?
>
>Заранее спасибо откликнувшимся

зебра лучше ставить, конфиги позожи на Cisco-вские, и к тому же она держит в себе кучу протоколов RIP, OSPF, BGP и так далее.
с маршрутизацией тебе надо подумать об собственной автономной зоне, естественно ч/з BGP если надо два канала, обычно это дело так реализуется.
И ещё один вариант, я где-то вычитал что можно с помощью IPFW это всё поднять, типа балансировка нагрузки, правда незнаю как это делать, одним словом надо почитать man ipfw.

Удачи...



"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 09:05 
>>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>>уходить через резервный.
>>
>>Пока что нашёл 3 направления routed, zebra, gated
>>Правильный ли это путь, если да - хотелось бы получить помощь ссылками
>>на установку и настройку желательно на русском?
>>Или можно сделать проще?
>>
>>Заранее спасибо откликнувшимся
>
>зебра лучше ставить, конфиги позожи на Cisco-вские, и к тому же она
>держит в себе кучу протоколов RIP, OSPF, BGP и так далее.
>
>с маршрутизацией тебе надо подумать об собственной автономной зоне, естественно ч/з BGP
>если надо два канала, обычно это дело так реализуется.
>И ещё один вариант, я где-то вычитал что можно с помощью IPFW
>это всё поднять, типа балансировка нагрузки, правда незнаю как это делать,
>одним словом надо почитать man ipfw.
>
>Удачи...

Пытаюсь на GateD поднять.
ipfw не получится. Там динамика отсутствует. Или скрипт надо писать, для контроля каждого канала.


"Резервный канал у второго провайдера на FreeBSD"
Отправлено Аноним , 08-Июл-04 02:59 
Задай два маршрута по умолчанию на эти два канала

"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 09:03 
>Задай два маршрута по умолчанию на эти два канала

Если бы было всё так просто :)

Нельзя. Во фре такая штука не пройдёт


"Резервный канал у второго провайдера на FreeBSD"
Отправлено boykov , 08-Июл-04 12:38 
>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>уходить через резервный.
>
>Пока что нашёл 3 направления routed, zebra, gated
>Правильный ли это путь, если да - хотелось бы получить помощь ссылками
>на установку и настройку желательно на русском?
>Или можно сделать проще?
>
>Заранее спасибо откликнувшимся
Сеть своя? или от провайдеров?

За твоим роутером есть кто-нибудь с реальными адресами? Реальные серверы?



"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 13:32 
>>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>>уходить через резервный.
>>
>>Пока что нашёл 3 направления routed, zebra, gated
>>Правильный ли это путь, если да - хотелось бы получить помощь ссылками
>>на установку и настройку желательно на русском?
>>Или можно сделать проще?
>>
>>Заранее спасибо откликнувшимся
>Сеть своя? или от провайдеров?
Своя
>За твоим роутером есть кто-нибудь с реальными адресами? Реальные серверы?

Уже забросил все программы маршутеризации
Делаю скриптом на прел:

#!/usr/bin/perl

$rezerv=1;
open(FIL, 'netstat -nr |grep default |');
while (<FIL>) {
    if(/ИП основного прова/){
        $rezerv=0;
    }
}

if ($rezerv==1) {
    system('route delete default');
    system('route add default ИП основного прова');

}

use Net::Ping;
$pingobj = Net::Ping->new(icmp);
$lag=0;
if ($pingobj->ping('внешний сервер 1')) {
    $lag++;
}
if ($pingobj->ping('внешний сервер 2')) {
    $lag++;
}
if (!$lag==2) {
    system('route delete default');
    system('route add default ИП резервного прова);
}

Еще добавить пару строк для ната и запускать с периодичностью 3 минуты


"Резервный канал у второго провайдера на FreeBSD"
Отправлено A Clockwork Orange , 08-Июл-04 14:02 
Согласись что с динамической маршрутизацией солиднее.

"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 14:46 
>Согласись что с динамической маршрутизацией солиднее.

Блин.. Я СОГЛАСЕН!!!

Только настроить бы еще её :)

Понятия не имею, как будет себя вести НАТ с файрволом под ёё этой "динамической маршрутизацией"...

В случае скрипта я покрайне мере понимаю что происходит на уровне движения пакетов, а в случае зебры или GateD наверняка прийдётся пересматиривать коренным образом и nat и firewall...


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 14:52 
>>Согласись что с динамической маршрутизацией солиднее.
>
>Блин.. Я СОГЛАСЕН!!!
>
>Только настроить бы еще её :)
>
>Понятия не имею, как будет себя вести НАТ с файрволом под ёё
>этой "динамической маршрутизацией"...
>
>В случае скрипта я покрайне мере понимаю что происходит на уровне движения
>пакетов, а в случае зебры или GateD наверняка прийдётся пересматиривать коренным
>образом и nat и firewall...

Минус скрипта только в том, что при работе на резервном канале на момент проверки доступности основного дефолтгетвей приходится передёргивать это может сказатся на работе пользователей...

Как проверить канал без смены гетвея по умолчанию я пока не знаю...
Найду выход - напишу в топике :)


"Резервный канал у второго провайдера на FreeBSD"
Отправлено A Clockwork Orange , 08-Июл-04 14:57 
http://www.linux-mag.com/2004-04/zebra_01.html


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 15:13 
>http://www.linux-mag.com/2004-04/zebra_01.html

По зебре доков куча :)
Лучшее что нашёл

# info zebra

Но нигде не сказано как разруливать после этого трафик натом.
А отдельный сервер на это дело мне не дадут.


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 15:08 
>>>Согласись что с динамической маршрутизацией солиднее.
>>
>>Блин.. Я СОГЛАСЕН!!!
>>
>>Только настроить бы еще её :)
>>
>>Понятия не имею, как будет себя вести НАТ с файрволом под ёё
>>этой "динамической маршрутизацией"...
>>
>>В случае скрипта я покрайне мере понимаю что происходит на уровне движения
>>пакетов, а в случае зебры или GateD наверняка прийдётся пересматиривать коренным
>>образом и nat и firewall...
>
>Минус скрипта только в том, что при работе на резервном канале на
>момент проверки доступности основного дефолтгетвей приходится передёргивать это может сказатся на
>работе пользователей...
>
>Как проверить канал без смены гетвея по умолчанию я пока не знаю...
>
>Найду выход - напишу в топике :)

Нашел
http://www.opennet.me/openforum/vsluhforumID1/39645.html


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 16:07 
Решение вопроса ледит на поверхности :)
Удивительно, что сразу не сообразил :)

Нужно прописать маршруты к тестовым сервакам вручную route add
А потом их пинговать. Если пинг провалился - удаляем маршруты.

Желательно, чтобы тестовые сервера были что то вроде гугля или другое не связанное с работой :)


"Резервный канал у второго провайдера на FreeBSD"
Отправлено A Clockwork Orange , 08-Июл-04 17:49 
Смотри пропсисал маршрут до тестого сервера пинганул через одного провайдера.
1. Пинг удачный - маршрут оставить
2. Пинг не удачный
  2.1 Упал канал - маршрут заменить
  2.2 Упало за каналом - дальнейшая проверка....

И куда это заведет тебя


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 18:43 
>Смотри пропсисал маршрут до тестого сервера пинганул через одного провайдера.
>1. Пинг удачный - маршрут оставить
>2. Пинг не удачный
>  2.1 Упал канал - маршрут заменить
>  2.2 Упало за каналом - дальнейшая проверка....
>
>И куда это заведет тебя

Проверяются 5 опорных точек - если все 5 упали - тогда упал канал


"Резервный канал у второго провайдера на FreeBSD"
Отправлено Анатолий , 08-Июл-04 15:06 
>
>Еще добавить пару строк для ната и запускать с периодичностью 3 минуты
>
Как если можно подскажите запускать с преодичностью 3 мин.


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 15:14 
>>
>>Еще добавить пару строк для ната и запускать с периодичностью 3 минуты
>>
>Как если можно подскажите запускать с преодичностью 3 мин.


man cron
man crontab


"Резервный канал у второго провайдера на FreeBSD"
Отправлено Анатолий , 08-Июл-04 15:08 
>>>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>open(FIL, 'netstat -nr |grep default |');
>while (<FIL>) {
Как понять синтаксис (<FIL>)

"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 15:10 
>>>>Вообщем как осуществить САБЖ. Чтобы при падении основного канала автоматически пакеты начинали
>>open(FIL, 'netstat -nr |grep default |');
>>while (<FIL>) {
>Как понять синтаксис (<FIL>)

извини, но синтаксис перла для написания сценариев на перл надо знать.
Я физически не смогу в этой теме разжовывать основные понятия.

Почитай http://linux.perm.ru/doc/devel/languages/perl/learn/index.htm


"Резервный канал у второго провайдера на FreeBSD"
Отправлено A Clockwork Orange , 08-Июл-04 17:43 
Пока не конец файла FIL производся некоторые действия

"Резервный канал у второго провайдера на FreeBSD"
Отправлено co6aka , 08-Июл-04 18:24 
Ну вообще-то неплохо бы его демоном переписать... и пусть себе засыпает на 3 мин. Ping... а может traceroute... так можно сделать предсказуемее ситуацию по какналам...

"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 18:45 
>Ну вообще-то неплохо бы его демоном переписать... и пусть себе засыпает на
>3 мин. Ping... а может traceroute... так можно сделать предсказуемее ситуацию
>по какналам...

Достаточно пинга. Нагрузка на проверку меньше чем при трейсе

Хотелось бы демона сделать, только не знаю как это на перле осуществить :)


"Резервный канал у второго провайдера на FreeBSD"
Отправлено СергейКа , 08-Июл-04 18:49 
>Хотелось бы демона сделать, только не знаю как это на перле осуществить
>:)


http://xpoint.ru/forums/programming/perl/misc/faq.xhtml