The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"подключение двух ISP под FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"подключение двух ISP под FreeBSD"  
Сообщение от catch email(ok) on 03-Июн-07, 20:40 
Проблема такая: есть локальная сеть и два канала связи с разными провайдерами. Стоимость трафика разная, но тот канал, что дешевле, падает чаще.

Поставил пакет zebra, отключил defaulrouter в rc.conf, прописал два статичных маршрута в зебре - по одному на каждого провайдера, чтобы днс искались хотя бы напрямую, а не через противника. Пытался настроить ospfd и ripd для зебры, но сильно сомневаюсь, что вообще правильно делал. Отключил ospf и rip, остались только статичные маршруты. Настроил два правила в ipfw:

   00050 divert 8668 ip from any to any via xl0
   00051 divert 8669 ip from any to any via rl0

xl0 - первый провайдер, rl0 - второй провайдер.

Формально все работает, но в таблице маршрутизации (netstat -r) почему-то есть, таки, маршрут default, и указывает он на первого провайдера. Когда провайдер в дауне, у меня вообще связи нет, хотя шлюз другого провайдера нормально пингуется.

Помогите последовательно разобраться. Думаю, что с зебры надо начинать, чтобы маршруты динамически прописывались и это было видно по той же таблице маршрутизации на уровне ядра.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "подключение двух ISP под FreeBSD"  
Сообщение от universite email(??) on 04-Июн-07, 05:25 
>Проблема такая: есть локальная сеть и два канала связи с разными провайдерами.
>Стоимость трафика разная, но тот канал, что дешевле, падает чаще.

>Формально все работает, но в таблице маршрутизации (netstat -r) почему-то есть, таки,
>маршрут default, и указывает он на первого провайдера. Когда провайдер в
>дауне, у меня вообще связи нет, хотя шлюз другого провайдера нормально
>пингуется.

Вот скриптик для переключения дефолта:


Автор не известен, было взято из рассылки UAFUG


#!/bin/sh
ext_gw1="x.x.x.x"
ext_gw2="y.y.y.y"


# Setup route to ping through
# Test link one through ext_gw1 to see if any packets get returned
ping1=$( ping -q -c 5 -s 8 -o -t 2 $ext_gw1 | grep "packet loss" | cut
-c24-24 )
# Test link two through ext_gw2 to see if any packets get returned
ping2=$( ping -q -c 5 -s 8 -o -t 2 $ext_gw2 | grep "packet loss" | cut
-c24-24 )


# Configure the ipfw sets as per network route availability
if [ "$ping1" != "0" ]; then
     if [ "$ping2" = "1" ]; then
#     echo "All chanels fine!!!"
      route add default $ext_gw1
     else
#     echo "Backup chanel dead!!!"
      route add default $ext_gw1
     fi
else
     if [ "$ping2" != "0" ]; then
#     echo "Primary chanel dead!!!"
      route add default $ext_gw2
     else
#     echo "Noting is up :((("
     fi
fi
#--------------------------------------

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "подключение двух ISP под FreeBSD"  
Сообщение от catch email(ok) on 04-Июн-07, 09:16 

> Вот скриптик для переключения дефолта...

Нельзя сделать балансировку более автоматической - без скрипта? Хотелось бы задать какие-нибудь параметры каналов, изходя из которых определяется маршрут. А если совсем один из каналов не работает, то весь трафик должен идти через второй.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "подключение двух ISP под FreeBSD"  
Сообщение от chocholl email(??) on 04-Июн-07, 09:39 
>
>> Вот скриптик для переключения дефолта...
>
>Нельзя сделать балансировку более автоматической - без скрипта? Хотелось бы задать какие-нибудь
>параметры каналов, изходя из которых определяется маршрут. А если совсем один
>из каналов не работает, то весь трафик должен идти через второй.
>

узнай и провайдера отдает ли он вообще роуты по динамики?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "подключение двух ISP под FreeBSD"  
Сообщение от catch email(ok) on 04-Июн-07, 09:49 

>>Нельзя сделать балансировку более автоматической - без скрипта? Хотелось бы задать какие-нибудь
>>параметры каналов, изходя из которых определяется маршрут. А если совсем один
>>из каналов не работает, то весь трафик должен идти через второй.

>узнай и провайдера отдает ли он вообще роуты по динамики?

провайдера два разных. роуте не отдают. ospf не нужен, как я понимаю.
но так как провайдеры разные, получается, что разными путями могут пакеты через них ходить. у меня сейчас все ходит через одного. как сделать так, чтобы 1/3 ходила через одного, а 2/3 всех пакетов через другого, когда оба канала доступны, и все 100% пакетов через работающего, если один канал не работает вдруг. при этом, когда канал поднимается, распределение опять должно быть пропорциональным.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "подключение двух ISP под FreeBSD"  
Сообщение от universite email(??) on 04-Июн-07, 14:09 
Подымайте AS и балансируйте длинами маршрутов.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "подключение двух ISP под FreeBSD"  
Сообщение от catch email(ok) on 04-Июн-07, 14:22 
>Подымайте AS и балансируйте длинами маршрутов.

есть статья на эту тему или ветка в форуме может быть? как делать-то?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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