Мы в GMhost ставим корпоративный WireGuard клиентам почти каждую неделю. Конфиг сервера — десять строк, добавление нового пользователя — bash-скрипт на 30 строк и QR-код на смартфон за десять секунд.
В этом гайде — полная процедура от чистой Ubuntu до первых подключений. Минут 30, и у тебя свой VPN с контролем над логами, который держит 1 Gbps на типовом VPS.
Почему WireGuard, а не OpenVPN
OpenVPN — это более 100 000 строк кода, сложный TLS-стек в user-space и ограничение ~250 Mbps на типовом VPS. WireGuard — около 4 000 строк, работает в ядре Linux 5.6+, и на том же VPS выжимает 850-950 Mbps без особых оптимизаций.
Криптография современная (Curve25519, ChaCha20-Poly1305) — без legacy типа 3DES. Конфиг сервера — десять строк. Поддержка из коробки на iOS, Android, Windows, macOS, OpenWrt и MikroTik.
Единственный заметный минус — нет нативного 2FA. Если нужен SSO/MFA — ставим сверху Firezone (об этом в конце).
VPS или dedicated — как выбрать
Команда | Что достаточно |
|---|---|
5-15 пользователей, веб + email | VPS 2 vCPU / 2 GB / 50 GB NVMe |
15-50 пользователей + RDP-сессии | VPS 4 vCPU / 4 GB / 80 GB NVMe |
50-200 пользователей, интра-офис, бэкап-трафик | Dedicated на Xeon Gold 6138/6230, 32-64 GB |
200+ или реселлер VPN-сервиса | Dedicated 2× Xeon Platinum 8163, 64+ GB |
Каждое соединение WireGuard потребляет CPU. На двухъядерном VPS 200 одновременных peer-ов дают заметный jitter. На наших Xeon Gold с AES-NI WG держит 10 Gbps без напряжения — поэтому с 50+ команды логично сразу dedicated.
Шаг 1. Готовим систему (5 мин)
Свежеустановленный Ubuntu 24.04 LTS или Debian 12. Работаем из-под root или через sudo.
Шаг 2. Конфиг сервера (10 мин)
Генерируем ключевую пару:
Создаём /etc/wireguard/wg0.conf:
eth0 заменить на свой (ip route | grep default покажет). Запускаем:
Если wg show показывает интерфейс — сервер живой.
Шаг 3. Добавляем сотрудников (10 мин на 5 человек)
Один скрипт, который генерирует клиента, добавляет peer на сервер и выводит QR-код для смартфона.
/usr/local/bin/wg-add-client:
Запуск:
В терминал выведется QR-код — Maria сканирует его в мобильном WireGuard за 10 секунд. На ноутбук — отправляешь .conf файл защищённым каналом, импортируется одним кликом. После добавления сохрани состояние: wg-quick save wg0.
Split tunneling — когда не весь трафик через VPN
По умолчанию AllowedIPs = 0.0.0.0/0 — весь трафик клиента идёт через VPN. Часто нужно иначе: к корпоративным ресурсам — через туннель, в Zoom и Spotify — нативно. В клиентском конфиге заменяем на список нужных подсетей:
Первая — сами VPN-клиенты, дальше офисные серверы и второй филиал. Всё за пределами этих диапазонов идёт обычным маршрутом.
Мониторинг
Быстро и без дополнительного стека:
Показывает публичный ключ и сколько секунд назад был последний handshake. В cron — триггер в Telegram, если handshake давнее 10 минут. Серьёзнее — prometheus-wireguard-exporter + Grafana dashboard 12177.
Что дальше
- Бэкап конфигов.
/etc/wireguard/— около 30 КБ. Заливай в наш Backup Storage ежедневно. Без бэкапа и с потерянным сервером придётся перевыпустить ключи всем сотрудникам. - Ротация preshared keys. Раз в 6 месяцев. Скрипт
wg-add-clientминимально дорабатывается для массовой ротации. - 2FA / SSO. Если безопасность критична — Firezone (фронтенд к WireGuard с OIDC, SAML, Google Workspace, Microsoft Entra). Встанет поверх того же сервера, конфиги клиентов выдаются через веб-портал.
- Масштабирование. Переезд с VPS на dedicated — это
scp -r /etc/wireguard new-server:/etc/, замена Endpoint в клиентских конфигах, перезапуск. Минут пятнадцать.
Хочешь конкретную конфигурацию?
Подбираем VPS или dedicated под твой сценарий — количество пользователей, нужен ли резервный канал, будут ли интра-офисные маршруты. Напиши на [email protected] или в бот @gmhost_support_bot — подскажем тариф и поможем с миграцией.

