Ми у 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 — підкажемо тариф і допоможемо з міграцією.

