Перейти к содержимому
Калькуляторы

Распределение нагрузки между ВПН серверами

Необходимо сделать несколько ВПН серверов для разграничения нагрузки.

Пользователи настраивают подключение на 1 ВПН сервер.

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

Кто-то сталкивался с такой задачей?

 

Используется MPD на Фре (poptop на линуксе) + freeradius.

Изменено пользователем aklex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

делается так:

на всех серверах подымаем на лупбеках один и тот же айпишник и редистрибутим его кваггой (на ядре сети нужна динамика). этот айпишник и есть адрес пптп-сервера. сервера расставляем по сети, чтобы клиенты цеплялись к ближайшему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Жестко... А так не пробовали:

$ host vpn.lds.net.ua
vpn.lds.net.ua has address 10.0.0.8
vpn.lds.net.ua has address 10.0.0.12
vpn.lds.net.ua has address 10.0.0.14
vpn.lds.net.ua has address 10.0.0.5

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Настраиваем подключение не по адресу, а по имени. К имени на DNS-сервере привязываем несколько адресов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

martin74

пробовали - замечательно работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

martin74

пробовали - замечательно работает

В этом решении есть минус, точнее 3

 

 

1. Выход из стороя ВПН-сервера - проблема. Нагрузка не перераспределиться автоматом, нужно ручое исправление зоны.

2. ДНС кешируем, отсюда - отказ одного ВПН-сервера может вызвать неработспособность многих клиентов даже после п.2 - многие виндовые файрволы кешируют агрессивно.

3. (возможно только я не смогг настроить) Нагрузка распределиться равномерно, либо нужно вешать ip-алиасы

 

 

потому, вопос - лоад-балансеры кто то делал, и если да то как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Выход из стороя ВПН-сервера - проблема. Нагрузка не перераспределиться автоматом, нужно ручое исправление зоны.
Автоматом нагрузка перераспределится, если использовать pppoe вместо pptp. В таком случае никаких телодвижений вообще не нужно.

А для любых важных серверов нужно содержать копии систем, чтоб свести даунтайм к минимуму. Например, можно использовать xen+drbd+ha.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

martin74

пробовали - замечательно работает

В этом решении есть минус, точнее 3

 

 

1. Выход из стороя ВПН-сервера - проблема. Нагрузка не перераспределиться автоматом, нужно ручое исправление зоны.

2. ДНС кешируем, отсюда - отказ одного ВПН-сервера может вызвать неработспособность многих клиентов даже после п.2 - многие виндовые файрволы кешируют агрессивно.

3. (возможно только я не смогг настроить) Нагрузка распределиться равномерно, либо нужно вешать ip-алиасы

 

 

потому, вопос - лоад-балансеры кто то делал, и если да то как?

1 и 2 - Глупости все это, все нормально работает, у адреса vpn.prov.ru четыре адреса отдаются dnsом

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 и 2 - Глупости все это, все нормально работает, у адреса vpn.prov.ru четыре адреса отдаются dnsом

А объясните мне тупому, пожалуйста, как может куча разных IP на одно имя в DNS сервере РАВНОМЕРНО распределить пользователей между серверами??? Где гарантия, что 1000 из 1005 юзеров не загрузят vpn1.pupkin.com, а остальные 5 из 1000 будут юзать vpn2.pupkin.com??? С какого перепугу DNS сервер будет УЧИТЫВАТЬ нагрузку на vpn сервера и отдавать соответственно адрес НЕНАГРУЖЕННОГО сервера??

Изменено пользователем AlKov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DNS выдает айпишники тупо раунд-робином, не взирая ни на что. поэтому распределится все действительно равномерно. ни о каком учете нагрузки речь не идет. в случае отказа одного из пптп-серверов клиент, получивший дохлый айпишник, вынужден будет перезапросить адрес у днс-сервера.

Изменено пользователем ugluck

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DNS выдает айпишники тупо раунд-робином, не взирая ни на что. поэтому распределится все действительно равномерно. ни о каком учете нагрузки речь не идет. в случае отказа одного из пптп-серверов клиент, получивший дохлый айпишник, вынужден будет перезапросить адрес у днс-сервера.

Вы уверены? Винда не пингует пптп-сервер перед коннектом, чтоб проверить, жив ли он. Не будет ли так же по кругу периодически выпадать ошибка 800?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Magnum72

Есть 4 ВПНа

 

192,168,1,1

192,168,1,2

192,168,1,3

192,168,1,4

 

 

и по host vpn.prov.ua отдаются все 4.

 

И вот у вас сгорел БП на одном из них, ЧТО БУДЕТ? условие - руками ничего не править!

 

DNS выдает айпишники тупо раунд-робином, не взирая ни на что. поэтому распределится все действительно равномерно. ни о каком учете нагрузки речь не идет. в случае отказа одного из пптп-серверов клиент, получивший дохлый айпишник, вынужден будет перезапросить адрес у днс-сервера.
Вы уверены? Винда не пингует пптп-сервер перед коннектом, чтоб проверить, жив ли он. Не будет ли так же по кругу периодически выпадать ошибка 800?

Не знаю, что там пингует, но поытка конекта имхо никак не связана с резолвом.

 

Разрешил имя, получил ип дохлого ВПНа, закешировал, и долбишь до охренения - вот ваш сценарий )

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да, может и закешировать, несмотря на то, что он дохлый. особенно если фаервол какой.. для отказоустойчивости см. пост №2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ugluck

просмотрел пост, сории, не всегда применимо, у меня все ВПНы включены в один свитч и стоят в ядре сети...

Нет никакого ближайшего.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

числом алиасов :) красиво :) а как с отказоустойчивостью ? айпишники по heartbeat?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

надо что нить типа haproxy для поптопа, вот это было бы интересно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

числом алиасов :) красиво :) а как с отказоустойчивостью ? айпишники по heartbeat?
красиво?

Надеюсь, вы имели ввиду "убожество". )))

Ну почему ДНС не может давать ответ с заданной вероятностью, а не роунд-робин ( Было б куда изящнее.

 

С отказоустойчивастью - все плохо.

При обслуживании - выкидываю из кластера зараннее. При аварии - в аварийном режиме.

Как сделать лучше - не знаю (

 

С pppoe все куда изящнее )

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2sirmax: pppoe - это L2, врядли изящнее таскать VLANы по всей сети (если, конечно, сеть не на нортелях).

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2sirmax: pppoe - это L2, врядли изящнее таскать VLANы по всей сети (если, конечно, сеть не на нортелях).

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

heartbeat - не хватило ума применить, сейчас почитаю доки, может и сделаю. Стыдно признаться, упустил этот момент.

pppoe изящно балансируется, но имеет другие минусы. Иначе б все его использовали.

 

Сеть не на нортелах (

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

странные вы какие то... Стоит 5 серверов. Взял на офисе среднестатическую винду, выключил один из серверов. Время коннекта увеличилось секунды на две... Никаких ошибок, все как то само. Что я сделал неправильно?

Впн - поптоп, все соединения настраиваются исключительно на dns имя....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

странные вы какие то... Стоит 5 серверов. Взял на офисе среднестатическую винду, выключил один из серверов. Время коннекта увеличилось секунды на две... Никаких ошибок, все как то само. Что я сделал неправильно?

Впн - поптоп, все соединения настраиваются исключительно на dns имя....

о.. знать, не кеширует..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

время жизни 1-3 секунды....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

чтоб в кеше все жило нормально - короткоживущие записи сделать в ДНС и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DNS выдает айпишники тупо раунд-робином, не взирая ни на что. поэтому распределится все действительно равномерно. ни о каком учете нагрузки речь не идет. в случае отказа одного из пптп-серверов клиент, получивший дохлый айпишник, вынужден будет перезапросить адрес у днс-сервера.

Вообщето в виндах по другому.

И в дргуих ОС скорее всего тоже.

Ответ днс сервера содержит сразу все ип адреса, просто порядок их меняется. Если пптп не может законектится к одному, он пробует следующий из списка.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у нас ряд pptp серверов воткнут в одну циску, все имеют один ип, распределение нагрузки происходит с помощью какой-то умной команды на 7606 (какой - забыл)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.