Jump to content

Recommended Posts

Posted

Итак знатоки вопрос: Какой конфигурации должен быть сервер для обслуживания большого кол-ва vpn (OpenVPN) клиентов? Предложения, можно с линками на сайты хостинг провайдеров.

Posted

Большого это сколько?

 

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

 

Всё равно упрётесь в userspace, думайте о ядерном vpn.

 

Можно разъяснить поподробней?

Posted (edited)

Читайте на здоровье http://nejc.skoberne.net/transfer/IPSec_and_OpenVPN_Performance.pdf , там как раз рассказано про userspace. Написано простым языком

 

спасибо, ознакомлюсь.

 

А vpn с шифрацией или без? l2tp, pptp или что-то еще? Какой трафик планируете (Мбит/с, ппс)?

 

да, с шифрацией, OpenVPN. Трафик зависит от кол-ва клиентов.

Edited by tun0
Posted

Какой конфигурации должен быть сервер для обслуживания большого кол-ва vpn (OpenVPN) клиентов?

Любой который будет с нужным CPU и занимать поменьше места, и почему в единственном числе, их будет много.

PS и не пугайтесь последнего факта, openvpn однопоточен, все равно надо будет запускать много инстанций (по количеству ядер).

 

Всё равно упрётесь в userspace, думайте о ядерном vpn.

Думаю ТС хочет подключать пользователей подключённых к интернет через стороних провайдеров (к intranet или для анонимности), а для этих целей ядерные будут неудобны пользователям.

 

Читайте на здоровье http://nejc.skoberne...Performance.pdf , там как раз рассказано про userspace. Написано простым языком

Цифры в графиках с луны

Posted

Всё равно упрётесь в userspace, думайте о ядерном vpn.

Думаю ТС хочет подключать пользователей подключённых к интернет через стороних провайдеров (к intranet или для анонимности), а для этих целей ядерные будут неудобны пользователям.

 

pptp не подойдёт? главное с tcp mss разобраться и всё будет работать

Posted (edited)

Любой который будет с нужным CPU и занимать поменьше места, и почему в единственном числе, их будет много.

 

я предполагаю то что серверов будет несколько, но для начала нужен один

 

PS и не пугайтесь последнего факта, openvpn однопоточен, все равно надо будет запускать много инстанций (по количеству ядер).

Если можно разъясните понятие однопоточен. Можно поднять мултиклиент сервер с авторизацией по ключам и сертификатам.

 

Думаю ТС хочет подключать пользователей подключённых к интернет через стороних провайдеров (к intranet или для анонимности), а для этих целей ядерные будут неудобны пользователям.

 

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

Edited by tun0
Posted (edited)

pptp не подойдёт? главное с tcp mss разобраться и всё будет работать

 

впринципе pptp подойдет, но я склоняюсь к OpenVPN т.к. считаю более функциональным и защищенным решением.

и при использовании pptp, как я понял, придется поднимать radius сервер c бд.

Edited by tun0
Posted (edited)

Если можно разъясните понятие однопоточен. Можно поднять мултиклиент сервер с авторизацией по ключам и сертификатам.

Грузить только одно ядро CPU, поэтому запускают несколько инстанций сервера параллельно и каждую привязывают через SMP affinity к своему ядру.

 

Попутно у клиентов появляется возможность подключатся на разные порты и с разными транспортными протоколами, и не доставать ТП по телефону если отдельная инстанция не доступна.

 

Правда если множественные подключения с одним сертификатом (CN) нежелательны, надо после подключения запускать скрипт который будет убивать пользователей с таким же CN на других инстанциях через management интерфейс.

Edited by qwertzy
Posted (edited)

Если можно разъясните понятие однопоточен. Можно поднять мултиклиент сервер с авторизацией по ключам и сертификатам.

Грузить только одно ядро CPU, поэтому запускают несколько инстанций сервера параллельно и каждую привязывают через SMP affinity к своему ядру.

 

Попутно у клиентов появляется возможность подключатся на разные порты и с разными транспортными протоколами, и не доставать ТП по телефону если отдельная инстанция не доступна.

 

Правда если множественные подключения с одним сертификатом (CN) нежелательны, надо после подключения запускать скрипт который будет убивать пользователей с таким же CN на других инстанциях через management интерфейс.

 

Это, как я понял, можно сделать если имеется несколько физических сетевых интерфейсов, если интерфейс один , то подключения ограничены только одной конфигурацией openvpn, так?

Edited by tun0
Posted

Это, как я понял, можно сделать если имеется несколько физических сетевых интерфейсов, если интерфейс один , то подключения ограничены только одной конфигурацией openvpn, так?

Нет, каждой серверной инстанции нужен свой уникальный сокет (комбинация из ip адреса и порта) и виртуальный tun/tap интерфейс.

Posted

Чтобы не плодить темы, спрошу тут. Беру сервак для сетки до 500 человек. На нем будет только роутинг (без BGP), немного хостинга и почты.

Сервер такой - http://shop.nag.ru/catalog/00006.Servery-i-SHD/02275.HP/03281.HP-Proliant-DL360-G5-2x-DualCore-266-Bundle , он NO HDD. По спецификации http://h18004.www1.hp.com/products/quickspecs/12476_na/12476_na.html

Maximum Internal Storage Type

Hot Plug SAS 1.8TB SAS 6 x 300GB

Hot Plug SATA 3.0TB SATA 6 x 500GB

Обычные SATA-диски на 2,5" в него встанут? Разумеется салазки http://shop.nag.ru/catalog/00006.Servery-i-SHD/02273.Aksessuary/06275.44T2216 возьму отдельно.

Posted

2TC: Fujitsu-Primergy RX200 S1 на одном ядре жует клиентов 50-80/40Mbit в OpenVPN с шифром 384bit.

НО! Это реально древний сервер)), современные Xeon имеют криптографию аппаратную (к сожалению, не знаю для OpenVPN дает это профит или нет).

 

И да, как правильно сказали люди выше, надо

1) запускать по экземпляру на ядро

2) делать разброс прерываний

3) я бы еще вешал каждый на свой IP, и взял бы все линки (например 4) собрал в bond и повесил бы VLAN-ы.

Разрулил бы на уровне DNS соединения клиентов с экземплярами.

 

кстати, эта наша рабочая схема)

 

И да, OpenVPN жрет реально много ресурсов, поэтому желательно много быстрых CPU. DL560 - самый самолет))), НАГ вон еще блейды продает, но это перебор... хотя за 150 штук 40 ядер... это очень нормально) и жевать будет быстро и много)

Posted (edited)

2TC: Fujitsu-Primergy RX200 S1 на одном ядре жует клиентов 50-80/40Mbit в OpenVPN с шифром 384bit.

НО! Это реально древний сервер)), современные Xeon имеют криптографию аппаратную (к сожалению, не знаю для OpenVPN дает это профит или нет).

 

И да, как правильно сказали люди выше, надо

1) запускать по экземпляру на ядро

2) делать разброс прерываний

3) я бы еще вешал каждый на свой IP, и взял бы все линки (например 4) собрал в bond и повесил бы VLAN-ы.

Разрулил бы на уровне DNS соединения клиентов с экземплярами.

 

кстати, эта наша рабочая схема)

 

И да, OpenVPN жрет реально много ресурсов, поэтому желательно много быстрых CPU. DL560 - самый самолет))), НАГ вон еще блейды продает, но это перебор... хотя за 150 штук 40 ядер... это очень нормально) и жевать будет быстро и много)

 

Когда Вы говорите о запуске по одной инстанции OpenVPN на каждое ядро -- имеется ввиду CPU Affinity? а SMP Affinity позволяет указать каким ядром будут обрабатываться прерывания от девайса т.е. тут виртуальные интерфейсы, как я понял, не подходят.

Edited by tun0
Posted

Разрулил бы на уровне DNS соединения клиентов с экземплярами.

А зачем? Строчки remote-random в конфиге клиента более чем достаточно.

 

3) я бы еще вешал каждый на свой IP

Если есть желание использовать стандартный порт 1194 на всех инстанциях да, а так какая разница?

 

и взял бы все линки (например 4) собрал в bond и повесил бы VLAN-ы.

Зачем это для RoadWarrior сценария?

 

Когда Вы говорите о запуске по одной инстанции OpenVPN на каждое ядро -- имеется ввиду CPU Affinity? а SMP Affinity позволяет указать каким ядром будут обрабатываться прерывания от девайса т.е. тут виртуальные интерфейсы, как я понял, не подходят.

У вас каша в голове, CPU/SMP Affinity позволяет указывать каким ядром выполняется та или иная программа, например рутина обработки прерывания или OpenVPN.

Posted

Просмотр сообщенияdignity (Сегодня, 07:35) писал:

и взял бы все линки (например 4) собрал в bond и повесил бы VLAN-ы.

 

Зачем это для RoadWarrior сценария?

 

в таком случае --/R/-- может и не надо, а у нас как-то все сложнее топологии получаются.

Да и прерывания более удобно размазывать по 4м ядрам, нежели по 2м в случае eth0/eth1, например...

тогда на каждом ядре получается 1/4 прерываний + инстанция.

 

Про remote-random, кстати, не знал, но все равно надо 4 DNS-имени) IP-адреса не очень гут, а так 1 имя и всё. можно и инстанции на разных портах пускать, такие инсталяции тоже есть, например для тех у кого только 80 порт открыт или 443.

Posted

У вас каша в голове, CPU/SMP Affinity позволяет указывать каким ядром выполняется та или иная программа, например рутина обработки прерывания или OpenVPN.

 

Да, есть немного...

 

Вопрос к тем у кого есть опыт работы с подобными проектами... Что посоветуете приобретать свой сервер и размещать в ДЦ или брать в аренду dedicated?

С какими типичными проблемами можно столкнуться? Если кому-то есть что рассказать, буду рад послушать.

Posted

Про remote-random, кстати, не знал, но все равно надо 4 DNS-имени) IP-адреса не очень гут, а так 1 имя и всё. можно и инстанции на разных портах пускать, такие инсталяции тоже есть, например для тех у кого только 80 порт открыт или 443.

Тем не менее я бы оставил балансировку по DNS на потом, а пока использовал бы просто много DNS имён = 1 IP = много портов UDP и TCP = 1 UDP и 1 TCP конфиги пользователя

 

Что посоветуете приобретать свой сервер и размещать в ДЦ или брать в аренду dedicated?

Я бы смотрел аренду, ведь к оперативке/HDD/redundancy(при аренде >=2 серверов) особых требовании нет, следовательно это будет базовая конфигурация, да и возможность быстро расширится и малый CAPEX в плюс.

Posted

ну, как говорится, на вкус и цвет фломастеры разные)

я бы взял бу железо от HP тут же на НАГ и ни в чем себе не отказывал.

 

Аренда - это конечно гут, если сервис будет чисто интернетный, а если вы хотите людей

с какого-то бэкбона в интернет выводить, то ДЦ должен в этом бэкбоне присутствовать...

 

Хотя мне интернетный OpenVPN сервис не очень понятен. Для чего их сейчас юзают?

Posted (edited)

Хотя мне интернетный OpenVPN сервис не очень понятен. Для чего их сейчас юзают?

 

- для обеспечения безопасной передачи данных из дома,офиса,кафе

- для исключения возможности MITM атак

- для обхода региональных ограничений

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

Edited by tun0

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.