Pentalgin 8 Posted 2007-02-12 10:59:32 Share Posted 2007-02-12 10:59:32 Объединение каналов Вот возникла идея взять у укртелекома 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
hoan_gonsales 0 Posted 2007-02-12 11:12:26 Share Posted 2007-02-12 11:12:26 Аппаратный глинк 604 не подойдет. Тебе надо 4 внешних канала запускать. а этот способен только на 1. Хотя, там же мопеды... Попробуй управляемый свитч тот же глинк 2108... запусти мопеды через него транком, а дальше через тазик или роутер. Правда, надо пробовать. Link to post Share on other sites
XoRe 0 Posted 2007-02-12 12:35:56 Share Posted 2007-02-12 12:35:56 По глобальному это решается покупкой своего адресного пространства. И договором с укртелекомом о том, что они будут твои адреса маршрутизировать. Ну и поднятием bgp всяких. Это кстати написано в статье про pbr. PBR используется немного для других целей, так что этот вариант отсекается. Насчет длинка не знаю, но судя по описанию - не то. В чем основная проблема при использовании нескольких каналов - у каждого из них разный ip адрес. Динамическое распределение настроить-то можно... Просто если установлено соединение от адреса А, то удаленный сервер будет принимать и обрабатывать пакеты только от А. А пакеты от Б воспринимать не будет, как пакеты от А. Откуда ему знать, что Б - это тот же А, только другой) А не какой-нибудь хакер. Я бы порекомендовал уточнить у провайдера возможность объединения каналов в что-то типа транка. Есть ещё вариант использования динамического распределения нагрузки через squid. Но там тоже х пойми как он будет раскидывать по каналам. Поэтому единственный правильный вариант - своя AS. Хотя насчет поддержки этого опять таки надо будет уточнять у провайдера. Link to post Share on other sites
Колян 2 Posted 2007-02-12 13:41:01 Share Posted 2007-02-12 13:41:01 Хм... Тоже задаюсь подобным вопросом. У меня на данный момент 1 канал АДСЛ, но хочу еще и соседей подключить. Если у меня один канал, то я поднимаю нат интерфейсе, к которому роутер подключен и делаю ipfw add divert natd all from any to any via re1. А если просто воткнуть еще одну сетевуху, подключить второй роутер к ней, поднимать нат еще и на этом интерфейсе и дивертить эту сетевуху? Хочу просто сначала найти решение, а потом уже брать еще один канал. Link to post Share on other sites
Pentalgin 8 Posted 2007-02-12 13:53:33 Author Share Posted 2007-02-12 13:53:33 2 XoRe Спасибо за инфу но купить свою AS и договорится с укртелеком о подключении BGP маршрутизации, будет стоить очень больших денег :-0 хотя можна ради интереса пощитать! Link to post Share on other sites
Queeq 0 Posted 2007-02-12 22:04:06 Share Posted 2007-02-12 22:04:06 По глобальному это решается покупкой своего адресного пространства.И договором с укртелекомом о том, что они будут твои адреса маршрутизировать. Ну и поднятием bgp всяких. Зачем эта морока с бгп, если можно просто взять айпишники из пространства укртелекома? Link to post Share on other sites
ZVERNK 0 Posted 2007-02-13 07:53:02 Share Posted 2007-02-13 07:53:02 ЭТО все ГЕМОР! ЕБТ УК полный отстой, у меня он монополист, сейчас выделенка на 1 мегабит, все работает но 1мегабит стоит 2100грн а 512К от ОГО стоит 150грн вот и получаеться делать этот гемор, я пока жду надеюся все таки что они вот-вот уменьшат и нам цены, хотя хз что будет то будет, но я лучше буду пока переплачивать, чем подвергать и себя и пользователей на кучу проблем с 2-4 сразу ОГО (((( Link to post Share on other sites
Pentalgin 8 Posted 2007-02-13 21:15:14 Author Share Posted 2007-02-13 21:15:14 ЭТО все ГЕМОР! ЕБТ УК полный отстой, у меня он монополист, сейчас выделенка на 1 мегабит, все работает но 1мегабит стоит 2100грн а 512К от ОГО стоит 150грн вот и получаеться делать этот гемор, я пока жду надеюся все таки что они вот-вот уменьшат и нам цены, хотя хз что будет то будет, но я лучше буду пока переплачивать, чем подвергать и себя и пользователей на кучу проблем с 2-4 сразу ОГО (((( Да я это и сам прекрасно знаю в теме я писал "ПС Только не надо говорить укртелеком отстой (я сам это знаю), найди нормального провайдера , в моих условия другой альтернативы нет разве только спутник, но я его вспоминаю как страшный сон(" Я не хочу здесь лирики по поводу геморой,отстой и тп, мне просто нужна помощь тех кто с таким сталкивался или может знает как это правильно сделать!!! Для других вопросов и советов создавайте топики "уктртелеком отстой" и "2 АДСЛ по 512К в один канал стоит ли делать" Здесь обсудим как это можно сделать практически... XoRe А можно подробней по поводу сквида??? Link to post Share on other sites
Shuher 216 Posted 2007-02-13 21:47:36 Share Posted 2007-02-13 21:47:36 По моему вопрос общуздался кучу раз! И в который раз я повторю совет людей.... http://new.pcrouter.ru/ipb/index.php?showtopic=55 По моему самый простой и дешовый вариант!!! Чем именно в данный момент занимаюсь!!! Link to post Share on other sites
Колян 2 Posted 2007-02-14 06:53:58 Share Posted 2007-02-14 06:53:58 Хотелось бы увидеть че-нить по фрибсд. То есть, просто объединить каналы, и все. Link to post Share on other sites
Profi the same 1 Posted 2007-02-14 14:30:50 Share Posted 2007-02-14 14:30:50 Колян, на опеннет.ру http://www.opennet.ru/tips/info/1179.shtml Link to post Share on other sites
Колян 2 Posted 2007-02-14 20:01:23 Share Posted 2007-02-14 20:01:23 Хм... АспЛинекс. Спасибо конечно, но мне че-то под фрибсд... там ведь еще и через диверт что-то нужно... Link to post Share on other sites
sirco 15 Posted 2007-02-14 20:14:49 Share Posted 2007-02-14 20:14:49 Колян, на опеннет.ру 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
Profi the same 1 Posted 2007-02-14 22:14:45 Share Posted 2007-02-14 22:14:45 Колян, под фрей работает схема натд+фвд. Мне она не нравится из-за натд. Пробовал реализовать на нг_нат, на нате в пф (но не внимательно читал ман - строчка фвд юзинг витх раунд робин). Сейчас буду покупать машинку и реализовывать таки на натд. Link to post Share on other sites
Pentalgin 8 Posted 2007-02-14 22:19:52 Author Share Posted 2007-02-14 22:19:52 Колян, под фрей работает схема натд+фвд. Мне она не нравится из-за натд.Пробовал реализовать на нг_нат, на нате в пф (но не внимательно читал ман - строчка фвд юзинг витх раунд робин). Сейчас буду покупать машинку и реализовывать таки на натд. А можно подробней принцеп реализации с примером? Насколько я понял нужно запустить 2 ната на разных портах и форвардить каждого клиента на свай нат Link to post Share on other sites
XoRe 0 Posted 2007-02-15 09:43:27 Share Posted 2007-02-15 09:43:27 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
sirco 15 Posted 2007-02-15 10:34:56 Share Posted 2007-02-15 10:34:56 На мою думку перше що треба зробити це написати технічне завдання . Щоб не було всяких домислів і трактувань. Щось приблизно таке : ========= 1. маємо 1 DSL з постійним IP (CORP) на яку вказує default route , на цьому каналі стоїть аппач , DNS , почта , та інші сервіси. 2. маємо N DSL (HOME) з динамічним IP Завдання - об'єднати канали для основної масси абонентів . - нарізати з home каналів полоси для "нелімітованих" користувачів (лімітація по швидкості ) і пускати їх тільки в ці полоси. ..... ========= В принцпі особливих проблем нема - все це можна зробити вже описаними способами , або ще щось видумаємо. Лишень проблема як цим дальше управляти , наприклад коли один з каналів впав , або модем підвісився .... Хотілося би зробити "піраміду" щоб вона стояла на широкій основі , а не на вершині - і не падала від найменшого "вітру". і щоб стояв якийсь скрипт який би показував стан системи в цілому. Link to post Share on other sites
Amal 0 Posted 2007-02-15 21:11:45 Share Posted 2007-02-15 21:11:45 я прошу прощения, а не легче ли поднять 2 сервера и просто распределить нагрузку, имея 2 работающих автономно сервака, и перекидывать юзерей, если что-то с одним произойдёт? Link to post Share on other sites
XoRe 0 Posted 2007-02-16 03:47:32 Share Posted 2007-02-16 03:47:32 Тогда это не распределение получится, а запасной канал на случай отказа основного. Link to post Share on other sites
sirco 15 Posted 2007-02-19 11:56:56 Share Posted 2007-02-19 11:56:56 А тут не правильно описано , 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
XoRe 0 Posted 2007-02-20 07:23:15 Share Posted 2007-02-20 07:23:15 По нерусски не понимаю, посему сделаю умный вид, что все понял и молча покиваю ) Link to post Share on other sites
masters 126 Posted 2007-02-20 08:14:18 Share Posted 2007-02-20 08:14:18 Не знаю, че так мучатся с балансировкой каналов? Впринципе реально, но я не захотел мучатся, тем более мне так удобней намного: Раздели клиентов по каналам! Можно по приоритетам: те кто все время качают - на 1 канал, чтоб не мешали остальным! А потом поднимаешь 4 PPPOE канала, главное разные имена интерфейсов им присвой (иногда все на 1 лезут и получается болт). Прописываешь маршруты на все шлюзы: route add 0.0.0.0 ... (это если провы разные). В IPFW клиентам по IP адресам делаешь forward на разные каналы! Вот и все. Link to post Share on other sites
Shubin 0 Posted 2007-02-21 01:31:41 Share Posted 2007-02-21 01:31:41 Не знаю, че так мучатся с балансировкой каналов? Впринципе реально, но я не захотел мучатся, тем более мне так удобней намного:Раздели клиентов по каналам! Можно по приоритетам: те кто все время качают - на 1 канал, чтоб не мешали остальным! А потом поднимаешь 4 PPPOE канала, главное разные имена интерфейсов им присвой (иногда все на 1 лезут и получается болт). Прописываешь маршруты на все шлюзы: route add 0.0.0.0 ... (это если провы разные). В IPFW клиентам по IP адресам делаешь forward на разные каналы! Вот и все. -Интересная мысль: а можно по-подробнее с этого места? Link to post Share on other sites
Pentalgin 8 Posted 2007-03-07 10:08:23 Author Share Posted 2007-03-07 10:08:23 Нашел такой вот вариант: 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
XoRe 0 Posted 2007-03-07 23:55:23 Share Posted 2007-03-07 23:55:23 Попробуй поиграть в какую-нибудь браузерную онлайновую игру типа БК или ТЗ с такой балансировкой ) Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now