Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 17 сен 2019, 04:23




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: VPN cluster
СообщениеДобавлено: 23 мар 2007, 16:07 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 16.12.2004
Сообщения: 535
Откуда: minsk
можно ли средствами IPtables за одним айпишником и одним портом прятать 2-3 pptp сервера и каким либо образом балансировать загрузку между ними - минимально - по количеству соединений, идеально - через обратную связь по загрузке процессора, у кого ресурсов больше свободных, тому юзер и отправляется. и чтобы после того, как юзер соединился с серваком, чтобы трэкер следил за соединением и ассоциировать юзера с одним из серваков, само собой.

кажется это легко решается через IPtables, за который прячутся все VPNы?

если нет, то как?


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 16:46 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
Ну самое тупое - в DNAT указать дипазон адресов, а вот как орагнизовать обратную связь... При достаточно большом количестве соединений - должно сложиться досточно равномерное распределенеие ИМХО.

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 16:48 
Неотъемлемая часть форума

У нас с: 22.09.2004
Сообщения: 355
Откуда: Minsk
Поскольку pppt требует и tcp и gre протоколы, стандартными средствами вряд ли получится балансировать.

Имхо балансировать можно только по source address, т.е. траф из сети А и В отправлять на сервер 1, остальное на сервер 2.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 16:48 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 16.12.2004
Сообщения: 535
Откуда: minsk
трэкингом обратную, но как сделать чтобы оно хотябы на рэндоме выбирало один из трех адресов?


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 16:54 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 16.12.2004
Сообщения: 535
Откуда: minsk
Hermit, дело в том, что важно даже не столько балансирование, а чтобы отказ одного из серваков не приостановил сервис. а так просто, части юзеров прописываем один адрес, части - другой и никакой кластер ненужен.

если не получится стандартными, то какими получится?

можно тупо вариант со скриптом на DNATе, который следит за серваком, и если он ложится, то просто релоудит свои таблицы чтобы траффик валил на запасной. но при этом:
1.один сервак простаивает 99.9 процентов времени
2.и пока он это делает в момент отказа оказывается что там "что-то не так"
3.машина с натом может свалится также, как и сервак, поэтому в целом надежность понижается.

таким образом я разнес собственную мыслю в хлам. отсюда вопрос - что делать?


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 17:20 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
tes+or, а как насчет DNS roundrobin ?
А что касается отказоусточивости - то можно ведь просто дублировать сервера - см. в сторону лИнксовых реализаций CARP, VRRP и т.п. вещей, например HA - т.е. если только отказоусточивость на основе дублирования то *CARP должно хватить.

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 19:00 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 16.12.2004
Сообщения: 535
Откуда: minsk
1.незнаю что такое, но вобщем-то догадываюсь что бы это могло быть. да, оно сохраняет соединения безо всякого трэкера.

2.пока вообще не в курсе, подойдет вопрос вплотную - посмотрю


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2007, 19:11 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
tes+or, вариант с CARP/VRRP получается примерно следующий:
1) На обоих серверах надо поддерживать актуальную базу аккаунтов - т.е. кластеризовать БД видимо придется.
2) При падении одного из компов - второй продолжает выполнять его функции.
3) Но балансировку нагрузки так сделать не получится.

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 мар 2007, 09:29 
Неотъемлемая часть форума

У нас с: 22.09.2004
Сообщения: 355
Откуда: Minsk
Балансировка не будет работать без специальных модулей, которые отслеживат соответствие tcp и gre сессий. Если попытаться балансировать стандартными средствами (типа DNAT на несколько IP) возможны ситуация, когда от одного клиента tcp сессия придет на один vpn сервер, а gre пакеты попадут на другой. Кроме того, нужен модуль conntrack-pptp, т.к. без него даже пакеты в рамках одной сессии будут попадать на разные серверы.

Вариант с dns round robin вряд ли в данном случае, т.к. обычно клиенты не имеют доступа к DNS серверам, либо они не указаны в настройках у клиента. Во-вторых неясно, "догадается" ли операционная система отправить и tcp и gre сессии на один ip.

Подытаживая все вышесказанное - наиболее приемлемое решение использовать VRRP с количеством групп равным количеству серверов. Т.е. если есть 2 vpn сервера, поднимается 2 vrrp группы, половине клиентом отдаем один ip, другой половине - второй. Настраиваем VRRP таким образом, чтобы мастером для первой группы был один сервер, для второй группы - другой. Таким образом при нормально работающей системе половина клиентов ходит на один сервер, вторая половина на другой, а в случае выхода из строя одного из серверов благодаря VRRP его функции возьмет на себя другой. Правда сессии клиентов порвутся, и эту ситуацию скорее всего придется дополнительно обрабатывать в биллинге, т.к. со стороны биллинга это будет выглядеть попыткой установить вторую сессию с под одним логином.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 мар 2007, 09:42 
Неотъемлемая часть форума

У нас с: 22.09.2004
Сообщения: 355
Откуда: Minsk
update: Вариант с DNS roundrobin скорее всего будет работать в windows - похоже, что виндовый resolver кеширует одну A запись. В linux нужно смотреть исходники pptp клиента, если dns resolving для имени делается один раз, и полученный ip используется и для tcp и для gre сессий - все ок, иначе будет работать через раз :)

Т.о. если если вышеупомянутый вопрос рещится положительно, либо будут только windows-клиенты, оптимальная схема видится как dns roundrobin + VRRP с несколькими группами.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100