kostich Опубликовано 17 ноября, 2008 · Жалоба делается так:на всех серверах подымаем на лупбеках один и тот же айпишник и редистрибутим его кваггой (на ядре сети нужна динамика). этот айпишник и есть адрес пптп-сервера. сервера расставляем по сети, чтобы клиенты цеплялись к ближайшему. При такой схеме на один dst адрес vpn-а максимум 8 серверов повесить можно, вариантом обхода ограничения может быть выстраивание дерева. Минусов тут так же дохрена - при выводе из эксплуатации одного из серверов (квагу можно тупо убивать) схема маршрутизации перестраивается и не все клиенты будут ходить через тот серв к которому конектили изначально, что сами понимаете чем пахнет... т.е. нюансы примерно такие - если один из серверов начнет флопировать анонсом, то всему сервису жопа... если выстраивать деревом, то последствия жопы можно минизировать и "ни одного разрыва(тм)" действительно у кого-то будет. Всё это актуально если при расстановке по сети на одну точку требуется более чем 1 серв... в общем пищи для размышлений тут много, но это в тыщи раз лучше чем с ДНС-ом и прочими лоад балансерами. ps. а квага сцуко еще имеет свойство виснуть, да и из скриптов ею через жопу управлять только можно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 17 ноября, 2008 · Жалоба Чем в тыщу раз лучше? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Magnum72 Опубликовано 17 ноября, 2008 · Жалоба DNS выдает айпишники тупо раунд-робином, не взирая ни на что. поэтому распределится все действительно равномерно. ни о каком учете нагрузки речь не идет. в случае отказа одного из пптп-серверов клиент, получивший дохлый айпишник, вынужден будет перезапросить адрес у днс-сервера.Вы уверены? Винда не пингует пптп-сервер перед коннектом, чтоб проверить, жив ли он. Не будет ли так же по кругу периодически выпадать ошибка 800? Уверен, вот батник и то что получилось.. @echo off :start set time= for /f "tokens=*" %%d in ('nslookup vpn.olympus.ru ^| find /i "Addresses:"') do (echo %time% - %%d) goto start: 23:17:29,33 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 23:17:29,35 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,38 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,40 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,43 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 23:17:29,44 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,46 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,49 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,50 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 23:17:29,54 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,55 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,58 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,60 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 23:17:29,63 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,65 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,66 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,69 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,71 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,74 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,76 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 23:17:29,79 - Addresses: 10.0.0.65, 10.0.0.67, 10.0.0.68, 10.0.0.66 23:17:29,80 - Addresses: 10.0.0.67, 10.0.0.68, 10.0.0.66, 10.0.0.65 23:17:29,83 - Addresses: 10.0.0.68, 10.0.0.66, 10.0.0.65, 10.0.0.67 23:17:29,85 - Addresses: 10.0.0.66, 10.0.0.65, 10.0.0.67, 10.0.0.68 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Magnum72 Опубликовано 17 ноября, 2008 · Жалоба у нас ряд pptp серверов воткнут в одну циску, все имеют один ип, распределение нагрузки происходит с помощью какой-то умной команды на 7606 (какой - забыл)vrrp ?Вспоминайте давайте команду :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 17 ноября, 2008 · Жалоба там же написано, чем лучше - чем ДНСом... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostich Опубликовано 17 ноября, 2008 · Жалоба Чем в тыщу раз лучше? тем что при правильном дизайне траф мажется нормально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
z571 Опубликовано 18 ноября, 2008 · Жалоба если выстраивать деревом, то последствия жопы можно минизировать а как это деревом? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 18 ноября, 2008 · Жалоба Уверен, вот батник и то что получилось..Спасибо, интересные результаты. Чем в тыщу раз лучше? тем что при правильном дизайне траф мажется нормально. Извините, а что означает "мажется"? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostich Опубликовано 18 ноября, 2008 · Жалоба Извините, а что означает "мажется"? балансится. Уверен, вот батник и то что получилось..Спасибо, интересные результаты. результаты ниачем по сути. нужны реальные тесты из конкретной софти. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Britney Опубликовано 18 ноября, 2008 (изменено) · Жалоба у нас ряд pptp серверов воткнут в одну циску, все имеют один ип, распределение нагрузки происходит с помощью какой-то умной команды на 7606 (какой - забыл)vrrp ?Вспоминайте давайте команду :) упорно казалось, что именно vrrp (по-моему раньше так и было, ну или по крайней мере тестилось) а сейчас проще: ip cef ip route 10.0.0.1 255.255.255.255 192.168.0.1 ip route 10.0.0.1 255.255.255.255 192.168.0.5 ip route 10.0.0.1 255.255.255.255 192.168.0.9 и сколько там еще надо, важно только, чтобы вес пути был для всех одинаков и работает это очень качественно, конечно, в плане самого по себе распределения юзеров. зависимости от того, сколько юзеры трафика создают нет - в этом минус, но на больших кол-вах юзерах все очень даже ровненько, при безвременной кончине одного из брасов юзеры перераспределяться между оставшимися Изменено 18 ноября, 2008 пользователем Britney Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 18 ноября, 2008 · Жалоба Извините, а что означает "мажется"? балансится. А в чем отличие такого способа от ДНС, кроме большей сложности? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostich Опубликовано 18 ноября, 2008 · Жалоба Извините, а что означает "мажется"? балансится. А в чем отличие такого способа от ДНС, кроме большей сложности? Выше вон вообще привели пример с меньшей сложностью (казалось бы) и большей надежностью... с кучкой тупых статиков которых. Но вместо кваги надо где-то держать мониторинг, который если что "сбегает" на циску и убьет или добавит нужный статик. В схеме с ДНС плюс только один - в случае сбоя на одном из серверов те кто был приконечен к другим останутся к ним приконечны. Если напрячь мозги, то и в схемах с рутином это решается достаточно просто. ps. Да, еще один момент... я не на 100% уверен что в случае потери одного из маршрутов всё перефачится для всех... как бы со стороны циски для людей же делалось. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 18 ноября, 2008 · Жалоба В схеме с ДНС плюс только один - в случае сбоя на одном из серверов те кто был приконечен к другим останутся к ним приконечны. Если напрячь мозги, то и в схемах с рутином это решается достаточно просто. А в чем минусы? Не просто "это плохо", а конкретные минусы такого решения. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Britney Опубликовано 18 ноября, 2008 · Жалоба Выше вон вообще привели пример с меньшей сложностью (казалось бы) и большей надежностью... с кучкой тупых статиков которых. Но вместо кваги надо где-то держать мониторинг, который если что "сбегает" на циску и убьет или добавит нужный статик. ps. Да, еще один момент... я не на 100% уверен что в случае потери одного из маршрутов всё перефачится для всех... как бы со стороны циски для людей же делалось. да тут вариантов-то несколько: 1. статик с мониторилкой 2. динамика (ibgp, ospf, rip, да что угодно) 3. по-моему, при статике, ну мне так кажется, что при смерти браса, cef исключит маршрут на него из кэша, ибо в Adjacency Table не будет мака этого браса, поэтому отправка фреймов в его сторону невозможна (естественно брас должен отъехать по-настоящему) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Radus Опубликовано 20 ноября, 2008 · Жалоба Я сделал это следующим образом: 1. ВПН сервер на линуксе по крону раз в минуту исполняет скрипт в котором через WGET отсылается POST запрос на веб-сервер билинга в котором содержится табличка интерфейсов ifconfig и добавляется еще пару переменных название сервера, онлайн. 2. На веб-сервере билинга POST запрос принимается и распарсивается ifconfig табличка где мы получаем количество подключенных пользователей, счетчики интерфейсов пользователей а также название сервера, адрес сервера и онлайн сервера от которого пришла информация. Всю инфу сохраняем или в файл или в базу. 3. На DNS сервере по крону запускается скрипт который также через WGET методом GET обращается к веб-серверу билинга, который выдает результат выбирает из таблички наименее загруженный впн сервер из базы типа готового батника cmd : echo "@echo off\r\n"; echo "\"d:\\program files\\support tools\\dnscmd.exe\" localhost /recorddelete net unlim A /f\r\n"; echo "\"d:\\program files\\support tools\\dnscmd.exe\" localhost /recordadd net unlim A $srvip\r\n"; echo "::OK\r\n"; Батник запускается на днс сервере и обновляет запись. Таким образом каждую минуту обновляется ип адрес на днс и по нему всегда будет доступен наиболее свободный впн-сервер. А если какой впн сервер отвалится то он выпадет из базы через минуту или по переменной онлайн. Вобщем простейшая схема. И количество ВПН серверов можно сделать сколько угодно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostich Опубликовано 21 ноября, 2008 (изменено) · Жалоба 3. по-моему, при статике, ну мне так кажется, что при смерти браса, cef исключит маршрут на него из кэша, ибо в Adjacency Table не будет мака этого браса, поэтому отправка фреймов в его сторону невозможна (естественно брас должен отъехать по-настоящему) Так это если всё в одну железяку воткнуто. а PPTP вообще в теории можно с помощью WCCP раскидывать... правда я только tcp им балансил (причем на 3550 самый цимес был), но там вроде бы флажков и прочей хренотени дофига и вроде бы как масочку нужную под PPTPшные пакеты выставить можно... ну и WCCP агента поставить на PPTPшные сервера (ёпенсорцных уже валом) Изменено 21 ноября, 2008 пользователем kostich Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dmitr2t Опубликовано 28 ноября, 2008 (изменено) · Жалоба у нас ряд pptp серверов воткнут в одну циску, все имеют один ип, распределение нагрузки происходит с помощью какой-то умной команды на 7606 (какой - забыл)vrrp ?Вспоминайте давайте команду :) я в делал через серверню ферму на 7609 - все прекрасно и без сбоев работало. сессии делилсь поровну между всеми участниками (3vpn сервера freebsd +mpd 4.23 ). также 7609 делал распределение нагрузки на http (уже после pptp настроил). P.S. но это довольно трудоемко для cisco оказалось... Изменено 28 ноября, 2008 пользователем dmitr2t Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AntonS Опубликовано 13 января, 2010 (изменено) · Жалоба дык какое решение красивое? днс не предлагать, у всех клиентов ip вбиты не знаю по каким причинам иногда(редко) днс плохо пашет у клиентов по этому перешли на ip сейчас уже 3500 сессий(freebsd 7.2 mpd 5.3), надо срочно ставить еще один сервер щас подключенно все к коммутатору 3627g Изменено 13 января, 2010 пользователем AntonS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 14 января, 2010 (изменено) · Жалоба ну ставьте, в чём проблема? у вас же 3627g есть, используйте PBR для того, чтобы часть абонентов перекинуть на другой сервер (правда понадобится немного по***гать с фряшкой, чтобы её под PBR прогнуть). Изменено 14 января, 2010 пользователем terrible Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AntonS Опубликовано 14 января, 2010 · Жалоба ну ставьте, в чём проблема? у вас же 3627g есть, используйте PBR для того, чтобы часть абонентов перекинуть на другой сервер (правда понадобится немного по***гать с фряшкой, чтобы её под PBR прогнуть).народ делает еще 2 группы vrrpну и в каждую группу включает часть сеток если один сервак пропадает то с обрывом сессии на другой сервер переходит Вот тут Иван Демин пишет "Если Вы хотите балансировки нагрузки по нескольким равнозначным маршрутам то серия DGS-36XX поддерживает балансировку по 8-ми маршрутам." как работает? раскидыввает по очереди каждый пакет? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martin74 Опубликовано 20 января, 2010 · Жалоба дык какое решение красивое? днс не предлагать, у всех клиентов ip вбиты не знаю по каким причинам иногда(редко) днс плохо пашет у клиентов по этому перешли на ip сейчас уже 3500 сессий(freebsd 7.2 mpd 5.3), надо срочно ставить еще один сервер щас подключенно все к коммутатору 3627g если у вас плохо днс работает - то у вас вообще ничего не работает в результате... может сначала сеть в порядок привести?А насчет вбиты ип... Наш саппорт две недели стонал, когда переводили всех клиентов на днс имя... И все, все работает. За это время впн сервера пару раз адреса поменяли вообще - никто не заметил..... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_xxx_ Опубликовано 20 января, 2010 · Жалоба DNS+CARP. Т.е. имеем, к примеру, пару серверов 10.0.0.1 и 10.0.0.2 В DNS на имя vpn.x.x прописываем 2 адреса 10.0.0.1 и 10.0.0.2 Потом создаём CARP связку для обоих адресов 10.0.0.1 и 10.0.0.2, только в 1-м случае приоритет 1-му серверу, а во втором - второму. Балансировку обеспечиваем DNS, а отказоустойчивость CARP. Когда-то пробывал такую схему для теста - заработала, но под нагрузкой ещё не запускал. Использую только балансировку посредством DNS (не идеальна, но очень проста и работоспособна). Если найду немного свободного времени - поробую эту с-му под нагрузкой. А если кто пробывал - напишите. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mechanic Опубликовано 23 января, 2010 · Жалоба еще предлагают юзать proxy-arp сам стаю перед выбором, что юзать с ospf+mpd есть заморочки Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mr.Scamp Опубликовано 23 января, 2010 · Жалоба используем балансировку по DNS-записям отказоустойчивость имхо не совсем полезна ибо при падении одного из серверов клиентские сессии все равно разрываются если поставить малый TTL у записей - клиенты сами переподключатся на работающие сервера. роутинг между ядром и брасами OSPF, да, заморочки есть. точнее, заморочка. состоит в том, что не стоит использовать адрес с того интерфейса, где бегает ospf, в качестве адреса сервера в клиентских туннелях. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mechanic Опубликовано 24 января, 2010 · Жалоба у меня адрес сервер висит на влане, а для сервера туннелей висит алиас на lo0, ип серый, тк бегают серые и белые адреса и ospf работает через раз, поднимится на интерфейсе, но роутинг не отдаст, перегрузил его (ospf) и все поехало ng1 is up ifindex 5, MTU 1360 bytes, BW 0 Kbit <UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> OSPF not enabled on this interface ng2 is up ifindex 6, MTU 1500 bytes, BW 0 Kbit <UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> Internet Address 172.17.0.254/32, Peer 91.х.х.115, Area 0.0.0.0 MTU mismatch detection:enabled Router ID 91.х.х.231, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State Waiting, Priority 1 No designated router on this network No backup designated router on this network Multicast group memberships: <None> Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 No Hellos (Passive interface) Neighbor Count is 0, Adjacent neighbor count is 0 reboot ospf ng2 is up ifindex 6, MTU 1360 bytes, BW 0 Kbit <UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> Internet Address 172.17.0.254/32, Peer 91.х.х.115, Area 0.0.0.0 MTU mismatch detection:enabled Router ID 91.х.х.231, Network Type POINTOPOINT, Cost: 10 Transmit Delay is 1 sec, State Point-To-Point, Priority 1 No designated router on this network No backup designated router on this network Multicast group memberships: <None> Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 No Hellos (Passive interface) Neighbor Count is 0, Adjacent neighbor count is 0 ! interface em0 ip ospf network point-to-point ! interface lo0 ip ospf network point-to-point ! interface ng0 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng1 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng2 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng3 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng4 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng5 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng6 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng7 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng8 ip ospf network point-to-point ip ospf mtu-ignore ! interface ng9 ip ospf network point-to-point ip ospf mtu-ignore ! ! interface vlan77 ! router ospf ospf router-id 91.х.х.231 redistribute connected route-map 91ip passive-interface default no passive-interface lo0 no passive-interface vlan77 network 91.х.х.0/24 area 0.0.0.0 neighbor 91.х.х.254 ! ip prefix-list 91ip seq 10 permit 91.х.х.0/24 ip prefix-list 91ip seq 100 deny any ! route-map 91ip permit 10 match ip address prefix-list 91ip ! line vty можно как-то по умолчанию описать все интерфейсы ng ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...