The OpenNET Project / Index page

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

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

"Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Shaytan email(ok) on 08-Ноя-05, 17:36 
Как объеденить 2 канала ДСЛ на сервере под линуксом, часть клиентов на одном канале, часть на другом, и если один из каналов вылетает, чтобы всех клиентов перебрасывало на рабочий канал. Помогите пожалуйста.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Shaytan email(ok) on 09-Ноя-05, 01:56 
>Как объеденить 2 канала ДСЛ на сервере под линуксом, часть клиентов на
>одном канале, часть на другом, и если один из каналов вылетает,
>чтобы всех клиентов перебрасывало на рабочий канал. Помогите пожалуйста.

оба протокола рррое

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

2. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от MoHaX email(ok) on 09-Ноя-05, 06:51 
Думаю iproute2 поможет...


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

3. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Morph email on 09-Ноя-05, 11:03 
>Думаю iproute2 поможет...

LARTC спасет отца русской демократии.
http://www.opennet.me/docs/RUS/LARTC/

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

4. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Shaytan email(ok) on 09-Ноя-05, 12:16 
>>Думаю iproute2 поможет...
>
>LARTC спасет отца русской демократии.
>http://www.opennet.me/docs/RUS/LARTC/


Ага, спасибо, толко проблема в том, что я дуб дубом, и нифига не понимаю, если можно то поподробней пожалуйста, да и ещё на обоих каналах динамические IP.

А поможет только iproute2 или еще че туда забубенить?

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

5. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Morph email on 09-Ноя-05, 14:28 
>А поможет только iproute2 или еще че туда забубенить?

что может быть проще iproute???

Раздельный доступ

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

Давайте определим некоторые переменные. Пусть $IF1 будет именем первого интерфейса (if1 на рисунке), а $IF2 -- именем второго. Тогда $IP1 будет IP адресом $IF1 , а $IP2 -- IP адресом $IF2 . Далее, $P1 это IP-адрес шлюза провайдера 1, а $P2 -- IP адрес шлюза провайдера 2. Наконец, $P1_NET это IP сеть, к которой принадлежит $P1 , а $P2_NET -- сеть, к которой принадлежит $P2 .

Создадим две дополнительные таблицы маршрутизации, скажем T1 и T2. Добавим их в файл /etc/iproute2/rt_tables. Теперь можно настроить эти таблицы следующими командами:

ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
        
Ничего особо эффектного, маршрут к шлюзу и маршрут по-умолчанию через этот шлюз. Точно так же, как и в случае одного провайдера, но по таблице на каждого провайдера. Заметьте, что маршрута к сети, в которой находится шлюз достаточно, потому что он определяет как найти все хосты в этой сети, включая сам шлюз.

Теперь нужно настроить главную таблицу маршрутизации. Хорошо бы маршрутизировать пакеты для сетей провайдеров через соответствующие интерфейсы. Обратите внимание на аргумент `src', который обеспечивает правильный выбор исходного IP-адреса.

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2        
        
Теперь задаем маршрут по умолчанию:

ip route add default via $P1      
        
Зададим правила маршрутизации. Они будут отвечать за то, какая таблица будет использоваться при маршрутизации. Вы хотите, чтобы пакет с определенным адресом источника маршрутизировался через соответствующий интерфейс:

ip rule add from $IP1 table T1
ip rule add from $IP2 table T2        
        
Этот набор команд обеспечивает маршрутизацию ответов через интерфейс, на котором был получен запрос.

    

Заметка читателя Рода Роака (Rod Roark): ' если $P0_NET это локальная сеть, а $IF0 -- соответствующий ей интерфейс, желательно задать следующие команды:

ip route add $P0_NET     dev $IF0 table T1
ip route add $P2_NET     dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo   table T1
ip route add $P0_NET     dev $IF0 table T2
ip route add $P1_NET     dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo   table T2
          
Итак, мы рассмотрели очень простой пример. Он будет работать для всех процессов, выполняющихся на маршрутизаторе и для локальной сети, если настроено преобразование адресов (NAT/masquerading). В противном случае, вам будет необходим диапазон IP адресов обоих провайдеров, или выполнять маскирование для одного из провайдеров. В любом случае, вы можете задать правила выбора провайдера для каждого конкретного адреса вашей локальной сети.


Распределение нагрузки.

Второй вопрос заключается в балансировке нагрузки между двумя провайдерами. Это не сложно, если у вас уже настроен раздельный доступ, описанный в предыдущем разделе.

Вместо выбора одного из провайдеров в качестве маршрута по-умолчанию, вы настраиваете т.н. многолучевой (multipath) маршрут. В стандартном ядре это обеспечит балансировку нагрузки между двумя провайдерами. Делается это следующим образом (повторюсь, мы основываемся на примере из раздела Раздельный доступ):

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
nexthop via $P2 dev $IF2 weight 1          
          
Результатом команды будет попеременный выбор маршрута по-умолчанию. Вы можете изменить параметр weight, так чтобы один из провайдеров получал большую нагрузку.

Обратите внимание, что балансировка не будет идеальной, так как она основывается на маршрутах, а маршруты кэшируются. Это означает, что маршруты к часто посещаемым сайтам не будут проходить через разных провайдеров.

Если вы действительно интересуетесь этим, вам стоит посмотреть на патчи Юлиана Анастасова (Julian Anastasov), расположеные по адресу http://www.ssi.bg/~ja/#routes. Они могут вам помочь.

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

6. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Shaytan email(ok) on 09-Ноя-05, 16:27 
>>А поможет только iproute2 или еще че туда забубенить?
>
>что может быть проще iproute???
>
>Раздельный доступ
>

Ага, вот только проблема в том, что ИП у меня Динамические, а тут описание на статические, и подключение через рррое 2 ADSL модэма Zyxel 660R

А можно поподробнее

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

7. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от gaz email on 29-Ноя-07, 15:45 
Morph
>>> Пусть $IF1 будет именем первого интерфейса (if1 на рисунке)

а где собственно рисунок ?

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

8. "Как объеденить 2 канала ДСЛ в один на Линуксе?"  
Сообщение от Morph (??) on 03-Дек-07, 18:19 
>Morph
>>>> Пусть $IF1 будет именем первого интерфейса (if1 на рисунке)
>
>а где собственно рисунок ?

http://www.opennet.me/docs/RUS/LARTC/x348.html

тут

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

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

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




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

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