Jump to content

И снова про объединение каналов


Recommended Posts

Объединение каналов

Вот возникла идея взять у укртелекома 4 канала (хотя сначала 2 для пробы)АДСЛ по 512 к/бит тариф HOME скинуть их в один канал и посадит туда качальщиков на безлимитные пакеты.

В инете нашел только такие варианты:

Програмно для БСД http://ipfw.ism.kiev.ua/pbr.html

И аппаратный от Г-Линка http://www.dlink.ru/products/prodview.php?type=15&id=605

Параметры такие шлюз в мир FreeBSD 5.5 инет (фаервол ipfw+шейпинг ) от того же укртелекома.

Интересует именно практическая сторона вопроса как объединить каналы динамически с распределениям нагрузки, если кто то делал подобное то просьба поделиться конфигами на фрюху или подскажите правильный аппаратный вариант и как его настроить.

 

ПС Только не надо говорить укртелеком отстой (я сам это знаю), найди нормального провайдера , в моих условия другой альтернативы нет разве только спутник, но я его вспоминаю как страшный сон(

Link to post
Share on other sites

Аппаратный глинк 604 не подойдет. Тебе надо 4 внешних канала запускать. а этот способен только на 1. Хотя, там же мопеды... Попробуй управляемый свитч тот же глинк 2108... запусти мопеды через него транком, а дальше через тазик или роутер. Правда, надо пробовать.

Link to post
Share on other sites

По глобальному это решается покупкой своего адресного пространства.

И договором с укртелекомом о том, что они будут твои адреса маршрутизировать.

Ну и поднятием bgp всяких.

Это кстати написано в статье про pbr.

 

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

 

Насчет длинка не знаю, но судя по описанию - не то.

 

В чем основная проблема при использовании нескольких каналов - у каждого из них разный ip адрес.

Динамическое распределение настроить-то можно...

Просто если установлено соединение от адреса А, то удаленный сервер будет принимать и обрабатывать пакеты только от А.

А пакеты от Б воспринимать не будет, как пакеты от А.

Откуда ему знать, что Б - это тот же А, только другой)

А не какой-нибудь хакер.

 

Я бы порекомендовал уточнить у провайдера возможность объединения каналов в что-то типа транка.

Есть ещё вариант использования динамического распределения нагрузки через squid.

Но там тоже х пойми как он будет раскидывать по каналам.

 

Поэтому единственный правильный вариант - своя AS.

Хотя насчет поддержки этого опять таки надо будет уточнять у провайдера.

Link to post
Share on other sites

Хм... Тоже задаюсь подобным вопросом. У меня на данный момент 1 канал АДСЛ, но хочу еще и соседей подключить. Если у меня один канал, то я поднимаю нат интерфейсе, к которому роутер подключен и делаю

ipfw add divert natd all from any to any via re1.

А если просто воткнуть еще одну сетевуху, подключить второй роутер к ней, поднимать нат еще и на этом интерфейсе и дивертить эту сетевуху?

Хочу просто сначала найти решение, а потом уже брать еще один канал.

Link to post
Share on other sites

2 XoRe Спасибо за инфу но купить свою AS и договорится с укртелеком о подключении BGP маршрутизации, будет стоить очень больших денег :-0 хотя можна ради интереса пощитать!

Link to post
Share on other sites
По глобальному это решается покупкой своего адресного пространства.

И договором с укртелекомом о том, что они будут твои адреса маршрутизировать.

Ну и поднятием bgp всяких.

Зачем эта морока с бгп, если можно просто взять айпишники из пространства укртелекома?

Link to post
Share on other sites

ЭТО все ГЕМОР! ЕБТ УК полный отстой, у меня он монополист, сейчас выделенка на 1 мегабит, все работает но 1мегабит стоит 2100грн а 512К от ОГО стоит 150грн вот и получаеться делать этот гемор, я пока жду надеюся все таки что они вот-вот уменьшат и нам цены, хотя хз что будет то будет, но я лучше буду пока переплачивать, чем подвергать и себя и пользователей на кучу проблем с 2-4 сразу ОГО ((((

Link to post
Share on other sites
ЭТО все ГЕМОР! ЕБТ УК полный отстой, у меня он монополист, сейчас выделенка на 1 мегабит, все работает но 1мегабит стоит 2100грн а 512К от ОГО стоит 150грн вот и получаеться делать этот гемор, я пока жду надеюся все таки что они вот-вот уменьшат и нам цены, хотя хз что будет то будет, но я лучше буду пока переплачивать, чем подвергать и себя и пользователей на кучу проблем с 2-4 сразу ОГО ((((

Да я это и сам прекрасно знаю в теме я писал "ПС Только не надо говорить укртелеком отстой (я сам это знаю), найди нормального провайдера , в моих условия другой альтернативы нет разве только спутник, но я его вспоминаю как страшный сон("

Я не хочу здесь лирики по поводу геморой,отстой и тп, мне просто нужна помощь тех кто с таким сталкивался или может знает как это правильно сделать!!!

Для других вопросов и советов создавайте топики "уктртелеком отстой" и "2 АДСЛ по 512К в один канал стоит ли делать" Здесь обсудим как это можно сделать практически...

 

XoRe

А можно подробней по поводу сквида???

Link to post
Share on other sites
Колян, на опеннет.ру http://www.opennet.ru/tips/info/1179.shtml

В мене так працює

старий мультілінк сіріус 2 канала

і новий 512. з модемом dlink-dsl-500t

на сіріусах поки що дефаулт ,

сквіду сказав лізти на езернет DSL =="tcp_outgoing_address 192.168.1.2"

працює нормально .

 

Зараз хочу перевести DSL модем в режим бріджа щоб завести реальний IP на роутер

а потім переключити на DSL 2 лінки сіріуса - що з ними робити ще не знаю , буду пробувати . В зв'язку з тим що телеком міняє IP адреси в home думаю їх лишити в режимі роутера з NATом так щоб інтервейси не міняли свої IP адреси а потім iptables розрулити ними ....

 

Якщо в когось є якісь пропозиції , питання - пишіть.

Link to post
Share on other sites

Колян, под фрей работает схема натд+фвд. Мне она не нравится из-за натд.

Пробовал реализовать на нг_нат, на нате в пф (но не внимательно читал ман - строчка фвд юзинг витх раунд робин). Сейчас буду покупать машинку и реализовывать таки на натд.

Link to post
Share on other sites
Колян, под фрей работает схема натд+фвд. Мне она не нравится из-за натд.

Пробовал реализовать на нг_нат, на нате в пф (но не внимательно читал ман - строчка фвд юзинг витх раунд робин). Сейчас буду покупать машинку и реализовывать таки на натд.

А можно подробней принцеп реализации с примером? Насколько я понял нужно запустить 2 ната на разных портах и форвардить каждого клиента на свай нат

Link to post
Share on other sites

2Pentalgin:

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

На вряхе это достигается с помощью PBR: http://ipfw.ism.kiev.ua/pbr.html

Просто я не считаю это объединением каналов )

 

На сквиде балансировка каналов делается хитро:

Запускается сквид, у которого в конфиге

tcp_outgoing_address 192.168.1.2

где 192.168.1.2 - это адрес шлюза на интерфейсе, смотрящем в сторону одного канала.

Потом запускается ещё сквид, у которого в конфиге

tcp_outgoing_address 192.168.2.2

Где пишешь адрес шлюза через второго провайдера.

Потом поднимаешь третий сквид, которому указываешь 2 cache-peer'а с опцией round-robin.

Таким образом запросы будут идти через первый, второй, первый, второй сквиды.

И вот на третий сквид и заворачиваешь весь трафик.

 

Если нужно более подробное описание, поищи в интернете статью на эту тему.

 

Еще мне пришел в голову такой способ использовать каналы для балансировки.

Если есть узел А с 4 каналами и есть узел Б с одним широким каналом.

То можно как-нибудь через каждый канал точки А сделать по виртуальному туннелю до Б.

Потом настраиваем ipfw так, чтобы он с вероятностью 1/4 посылал пакет через первый канал.

Если не выпала вероятность, то с вероятностью 1/4 посылал через второй канал.

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

Ну и то, что осталось без всяких вероятностей посылал бы через 4 канал.

В ipfw наступление правила с какой-то вероятностью реализуется средствами DUMMYNET.

Если очень нужно/хочется, то можете попробовать и такое )

Link to post
Share on other sites

На мою думку перше що треба зробити це написати технічне завдання .

Щоб не було всяких домислів і трактувань.

Щось приблизно таке :

=========

1. маємо 1 DSL з постійним IP (CORP) на яку вказує default route , на цьому каналі стоїть аппач , DNS , почта , та інші сервіси.

2. маємо N DSL (HOME) з динамічним IP

 

Завдання

- об'єднати канали для основної масси абонентів .

- нарізати з home каналів полоси для "нелімітованих" користувачів (лімітація по швидкості ) і пускати їх тільки в ці полоси.

 

.....

 

=========

 

В принцпі особливих проблем нема - все це можна зробити вже описаними способами , або ще щось видумаємо.

 

Лишень проблема як цим дальше управляти , наприклад коли один з каналів впав , або модем підвісився ....

Хотілося би зробити "піраміду" щоб вона стояла на широкій основі , а не на вершині - і не падала від найменшого "вітру".

і щоб стояв якийсь скрипт який би показував стан системи в цілому.

Link to post
Share on other sites

я прошу прощения, а не легче ли поднять 2 сервера и просто распределить нагрузку, имея 2 работающих автономно сервака, и перекидывать юзерей, если что-то с одним произойдёт?

Link to post
Share on other sites

А тут не правильно описано ,

http://www.opennet.ru/tips/info/1179.shtml

 

#!/bin/sh

IP1=192.168.4.1

IP2=217.1.1.2

P1=192.168.4.2

P2=217.1.1.1

ip route add default via $P1 table T1

ip route add default via $P2 table T2

ip route add default via $P1

ip rule add from $IP1 table T1

ip rule add from $IP2 table T2

 

у Вас вийде що і один канал і другий канал має властивіть "прилипали"

Припустимо що IP1=192.168.4.1 у вас основний канал

і дефаулт прописаний на нього - то нема ніякого змісту чіпляти "прилипалу"

 

В чому лажа - якщо пінгувати 192.168.4.1 з середини мережі - то пакети не вертаються назад а вони прокидуютться дальше в інтернет , а це провокує деякі проблеми з роботою програм які з середини мережі заходять через інтернетовський інтерфейс 192.168.4.1

 

тим самим достатньо лишень прописати так

#!/bin/sh

# IP1=192.168.4.1

IP2=217.1.1.2

# P1=192.168.4.2

P2=217.1.1.1

# ip route add default via $P1 table T1

ip route add default via $P2 table T2

# ip route add default via $P1

# ip rule add from $IP1 table T1

ip rule add from $IP2 table T2

 

А в такому варіанті все працює .

інщими словами основний канал як був так і лишається а допоміжний через який ,наприклад ,

працює проксі - "прилипає" до 2 каналу ....

Link to post
Share on other sites

Не знаю, че так мучатся с балансировкой каналов? Впринципе реально, но я не захотел мучатся, тем более мне так удобней намного:

Раздели клиентов по каналам! Можно по приоритетам: те кто все время качают - на 1 канал, чтоб не мешали остальным!

А потом поднимаешь 4 PPPOE канала, главное разные имена интерфейсов им присвой (иногда все на 1 лезут и получается болт).

Прописываешь маршруты на все шлюзы: route add 0.0.0.0 ... (это если провы разные).

В IPFW клиентам по IP адресам делаешь forward на разные каналы! Вот и все.

Link to post
Share on other sites
Не знаю, че так мучатся с балансировкой каналов? Впринципе реально, но я не захотел мучатся, тем более мне так удобней намного:

Раздели клиентов по каналам! Можно по приоритетам: те кто все время качают - на 1 канал, чтоб не мешали остальным!

А потом поднимаешь 4 PPPOE канала, главное разные имена интерфейсов им присвой (иногда все на 1 лезут и получается болт).

Прописываешь маршруты на все шлюзы: route add 0.0.0.0 ... (это если провы разные).

В IPFW клиентам по IP адресам делаешь forward на разные каналы! Вот и все.

-Интересная мысль: а можно по-подробнее с этого места?

Link to post
Share on other sites
  • 2 weeks later...

Нашел такой вот вариант:

natd -p 8668 -a ip1

natd -p 8669 -a ip2

 

ipfw add 101 divert 8668 ip from any to ip1 recv if1

ipfw add 102divert 8669 ip from any to ip2 recv if2

ipfw add 103 check-state

ipfw add 104 prob 0.5 divert 8668 ip from 192.168.0.0/16 to any xmit if1 keep-state

ipfw add 105 divert 8669 ip from 192.168.0.0/16 to any xmit if1 keep-state

ipfw add 106 fwd gw1 ip from ip1 to any out xmit if1 (если default на if1)

ipfw add 107 fwd gw2 ip from ip2 to any out xmit if1

 

Пл идеи случайным образом выбирается исходящий адрес только для первого пакета tcp/udp соединения. Все последующие пакеты этого соединения идут тем же интерфейсом, тем же шлюзом и от того же ip, как и первый. Кто скажит на сколько правльно это???

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...