Выделенный сервер для WireGuard: как построить VPN на сотни пользователей
Список из трёхсот пользователей выглядит серьёзно. Но серверу безразлично, сколько человек числится в отделе: ему приходится обрабатывать пакеты. Триста сотрудников, изредка открывающих внутреннюю страницу, и триста одновременных загрузок больших файлов — совершенно разные проекты, хотя в заявке оба называются «корпоративный VPN».
Выделенный сервер для WireGuard имеет смысл, когда нужны предсказуемые ресурсы, управляемый доступ и понятный запас под нагрузку. Однако сама цифра пользователей ещё не требует физической машины. Начнём с того, что должно происходить внутри туннеля, а затем сопоставим задачу с тарифами MAATRIX.
Содержание
- Запись в конфигурации почти ничего не рассказывает о нагрузке
- Гигабит делят приложения, а не рекламные обещания
- SCARAB, ANKH или CARTOUCHE: выбираем основу шлюза
- Адреса и права нужно придумать раньше массовой выдачи конфигураций
- Что проверять, если туннель поднялся, а приложение молчит
- Испытание на сотнях пользователей не сводится к одному speedtest
- Второй сервер нужен прежде, чем первый станет незаменимым
Подберите конфигурацию для своего проекта
Характеристики, стоимость и условия подготовки выделенных серверов MAATRIX в России и США.
Выбрать выделенный серверЗапись в конфигурации почти ничего не рассказывает о нагрузке
Устройство пользователя в WireGuard представляет отдельный пир: ключи, разрешённые адреса и параметры связи. Добавленный, но не передающий данные клиент не создаёт такой же работы, как активная загрузка. Поэтому в расчёте следует различать выданные конфигурации, подключающиеся устройства и одновременно передаваемый трафик.
Сначала определите назначение VPN. Для доступа к нескольким корпоративным подсетям через него проходят только соответствующие обращения. Если выбран полный туннель, через сервер может идти почти весь интернет-трафик устройств. Вторая схема предъявляет совсем другие требования к каналу, обработке DNS и сопровождению.
Далее разделите пользователей по поведению: административные подключения, офисные приложения, обмен крупными файлами, голос и видеосвязь. У каждого профиля свой средний объём, пики и чувствительность к задержкам. Для филиала с постоянным обменом важна длительная нагрузка, для удалённого инженера — устойчивый доступ даже тогда, когда кто-то рядом загружает большой архив.
Полезно получить измерения на существующей системе или провести ограниченный пилот. Смотрите на суммарные мегабиты, число пакетов, потери и задержки. Маленькие пакеты требуют обработки чаще, чем крупные при сопоставимом объёме данных, а криптографическая работа зависит также от количества передаваемых байтов. Свести всё к одной строке «скорость шифрования» не получится.
Гигабит делят приложения, а не рекламные обещания
Предположим, у нас 300 выданных конфигураций, из которых одновременно работают 60. Если для условного расчёта принять по 5 Мбит/с полезного трафика на активного пользователя, получается 300 Мбит/с. При 200 активных пользователях с тем же профилем — уже 1 Гбит/с, ещё до накладных расходов. Это иллюстрация, а не средняя норма потребления для сотрудника.
У всех рассматриваемых тарифов указан канал 1 Гбит/с. Следовательно, дополнительные ядра сами по себе не позволят бесконечно увеличивать суммарную скорость. Кроме сервера есть маршруты до клиентов и конечных сервисов, ограничения их подключений и свойства сети провайдера. Обозначение UNLIMITED не отменяет эти физические условия.
Проверьте, какие направления трафика и условия длительной нагрузки входят в услугу. Нужна ли гарантированная полоса, допустима ли выбранная схема VPN, какие действуют меры при сетевой атаке — это отдельные вопросы к провайдеру. Нельзя вывести включённую DDoS-защиту из размера канала или отсутствия счётчика трафика в карточке.
Для общения с внутренними ресурсами бывает полезнее поставить шлюз ближе к ним, чем ближе к красивому тарифу. Если пользователи в России подключаются к российскому приложению через американский сервер, получается дополнительное путешествие по сети. Оно может быть допустимым, но его нужно измерить. География VPN должна объяснять маршрут, а не усложнять его по привычке.
SCARAB, ANKH или CARTOUCHE: выбираем основу шлюза
SCARAB в США предлагает четыре ядра EPYC 4124P, 32 ГБ памяти и 1 ТБ NVMe за $309 в месяц. ANKH — шесть ядер Ryzen 7600X, 64 ГБ и такой же заявленный объём диска за $329. Для обычного шлюза большой объём RAM и NVMe может оказаться слабо востребованным: основная работа проходит в процессоре и сети, а не в хранении терабайтов данных.
Поэтому ANKH нельзя объявлять обязательным только из-за вдвое большей памяти. Его небольшая доплата интересна, если дополнительные процессорные ресурсы помогают вашей нагрузке или на машине размещаются полезные сопутствующие службы. SCARAB тоже заслуживает испытания, если его возможности соответствуют требованиям. Без измерений обе конфигурации остаются кандидатами.
CARTOUCHE в России стоит $295, имеет два Xeon E5-2680 v4, суммарно 28 ядер, 128 ГБ DDR4 и два SSD по 600 ГБ. Он позволяет проверить локальное размещение и достаточность более старой процессорной платформы. Большое число ядер не означает, что один поток передачи станет быстрее, чем на современном процессоре.
PYLON с шестнадцатью ядрами Ryzen 7950X за $429 стоит рассматривать, если тест подтверждает процессорный предел более доступных машин и сеть ещё имеет запас. Покупать 48-ядерный NECROPOLIS ради самого факта «сотни пользователей» обычно преждевременно: сначала выясните, куда исчезает доступная производительность.
Если пилот показывает небольшой трафик и спокойную нагрузку, качественный VPS может полностью решить задачу. Выделенный сервер покупают за конкретный результат: ресурсы, контроль, размещение или эксплуатационные условия. Более подробный разбор разницы между количеством пиров и реальной работой есть в статье о ёмкости сервера WireGuard.
Адреса и права нужно придумать раньше массовой выдачи конфигураций
У каждой управляемой клиентской установки должна быть своя пара ключей и однозначная запись в учёте. Одна общая конфигурация на весь отдел делает отзыв доступа неудобным и мешает понять, какое устройство использует ключ. При смене сотрудника не должно требоваться переустанавливать VPN всей компании.
Заранее спланируйте адресное пространство и проверьте пересечения с офисами, облачными сетями и типичными домашними подсетями. Удобная сегодня маленькая сеть может завтра не вместить устройства, а совпавшие адреса способны отправить трафик совсем не туда. В учёте полезно хранить владельца, устройство, назначенный адрес, разрешённые ресурсы и срок пересмотра доступа.
Параметр AllowedIPs связывает адреса с ключом пира и участвует в выборе получателя внутри WireGuard. Утилиты настройки могут дополнительно создавать маршруты в операционной системе. Но это не полноценная замена правилам межсетевого экрана: разрешение адреса не описывает, к каким портам и службам пользователь должен иметь доступ. Принцип cryptokey routing объясняет официальное описание WireGuard.
Разделите административный доступ, пользовательские приложения и обслуживание. Сотруднику, которому нужна система учёта, необязательно видеть панели всех серверов. Между клиентами тоже не следует автоматически разрешать любой обмен, если бизнес-задача этого не требует. Шифрование канала защищает передачу, но не создаёт разумную модель полномочий за администратора.
Если нужен интерактивный вход с MFA, сроки действия сессий и централизованная идентификация, продумайте соответствующий слой управления доступом. Один WireGuard оперирует ключами и не превращается в корпоративный каталог пользователей сам по себе. Важно оценить выбранное управляющее решение вместе с самим туннелем.
Что проверять, если туннель поднялся, а приложение молчит
Успешный обмен ключами показывает, что пиры смогли связаться, но не доказывает правильность маршрутов, разрешений и DNS. Следом проверяют адреса внутри туннеля, доступ к целевой подсети, обратный маршрут и правила фильтрации. NAT нужен только там, где он действительно входит в выбранную схему; его наличие не заменяет понимания обратного пути пакета.
Отдельно рассмотрите DNS. При полном туннеле важно, какой сервер имён использует устройство и доступен ли он через нужный маршрут. При доступе к внутренним ресурсам может понадобиться раздельное разрешение корпоративных и публичных имён. Проверять следует не только открытие сайта по IP, но и реальную работу приложений по именам.
IPv6 требует самостоятельного решения. Если политика предполагает полный туннель, нужно согласованно обработать обе версии IP либо явно определить допустимое поведение. Настроенный только IPv4-маршрут не даёт оснований утверждать, что весь трафик устройства идёт через VPN.
При проблемах с крупными передачами проверьте MTU и обнаружение допустимого размера пакета по маршруту. Не стоит назначать всем пользователям случайное «магическое» значение из чужой инструкции: сначала воспроизведите симптом и измерьте путь. Типичные причины разобраны в статье о настройке MTU WireGuard.
PersistentKeepalive бывает полезен клиенту за NAT, когда нужно сохранить возможность получать пакеты после периода тишины. В официальном руководстве WireGuard приведён пример интервала 25 секунд и отдельно сказано, что включать механизм следует по необходимости. Это не универсальное лекарство от потерь и не показатель здоровья приложения.
Испытание на сотнях пользователей не сводится к одному speedtest
Сначала измерьте доступный сетевой путь без VPN, затем с ним, сохраняя условия сравнения. Используйте несколько клиентских машин в характерных сетях. Если генератор нагрузки находится на том же хосте, он конкурирует за ресурсы с сервером и искажает оценку внешнего обслуживания.
Увеличивайте число активных клиентов постепенно. Проверяйте крупные передачи, короткие обращения, голосовой трафик и смешанный профиль, соответствующий вашей задаче. Измеряйте скорость, задержку, потери, загрузку отдельных ядер и сетевые ошибки. Средняя загрузка CPU может скрыть перегруженную очередь обработки или одно занятое ядро.
Смотрите также на длительную работу: смену сети у мобильного клиента, восстановление после краткого разрыва, работу через разные NAT и влияние массовой загрузки на интерактивные приложения. Один удачный минутный прогон подтверждает только этот прогон. Для рабочего шлюза важна воспроизводимость.
Критерий приёмки формулируйте заранее: при таком числе активных устройств и таком профиле трафика сохраняются согласованные задержки и скорость. Тогда можно определить запас и момент добавления нового узла. Формулировка «держит триста пользователей» без этих условий слишком удобна для рекламы и слишком бесполезна для эксплуатации.
Второй сервер нужен прежде, чем первый станет незаменимым
Если VPN открывает доступ к рабочим системам, остановка шлюза может остановить команду даже при полной исправности самих приложений. Подготовьте сценарий замены: сохранённые настройки, безопасный учёт ключей, процедура подключения клиентов к резервному узлу и инструкция для сотрудников.
Несколько интерфейсов или виртуальных машин на одном физическом сервере не спасут от отказа хоста. Второй независимый узел даёт основу для резервирования, но автоматическое переключение требует отдельного решения на стороне клиентов и сети. У WireGuard нет обещания прозрачного корпоративного failover только потому, что вы купили две машины.
Резервные копии конфигураций содержат чувствительные данные; ограничьте доступ к ним и проверьте восстановление. При отзыве устройства убедитесь, что ключ удалён из всех нужных узлов. Регулярная ревизия доступа важна не меньше обновления пакетов: забытый ноутбук не становится безопасным от нового ядра Linux.
В итоге хороший VPN на выделенном сервере определяется тремя вещами: понятной нагрузкой, управляемыми правами и проверенным восстановлением. Тариф выбирают внутри этой схемы. Сотни строк в конфигурации перестают пугать, когда за каждой стоит известное устройство, а за всей системой — ясный план работы.
Подберите конфигурацию для своего проекта
Характеристики, стоимость и условия подготовки выделенных серверов MAATRIX в России и США.
Выбрать выделенный серверВыделенный сервер для видеонаблюдения на 50 камер: расчёт NECROPOLISСледующая статья →
Выделенный сервер для Kubernetes: один control-plane и воркеры без иллюзии отказоустойчивости
Все материалы о выделенных серверах
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →