Ми не раз стикалися з ситуацією, коли корпоративні користувачі не могли підключитися до VPN через відсутність клієнтського ПЗ на їхніх ноутбуках. Одного разу нам довелося налаштовувати віддалений доступ для компанії з 300 співробітниками, де кожен третій працював з macOS. IKEv2 вирішує цю проблему: нативні клієнти Windows, macOS, iOS та Android підтримують його з коробки — додаткове ПЗ не потрібне. Ми налаштовуємо StrongSwan — зрілу реалізацію IKEv2 для Linux — з повною підтримкою EAP-аутентифікації та інтеграцією з корпоративним LDAP. Нижче розберемо конфігурацію, типові проблеми та процес впровадження, який займає від одного дня.
Чому IKEv2 StrongSwan виграє у OpenVPN та WireGuard?
| Критерій | StrongSwan (IKEv2) | OpenVPN | WireGuard |
|---|---|---|---|
| Нативні клієнти | Windows, macOS, iOS, Android | Тільки сторонні | Вбудований в Linux, iOS/Android через додаток |
| Продуктивність | Висока (апаратне прискорення AES) | Середня | Дуже висока |
| Аутентифікація | EAP-MSCHAPv2, сертифікати, RADIUS, LDAP | Сертифікати, логін/пароль | Попередній ключ |
| Складність налаштування | Середня (потрібен PKI) | Висока (OpenSSL) | Низька |
Для корпоративного віддаленого доступу з сотнями користувачів StrongSwan зручніше: не потрібно встановлювати клієнт, а аутентифікацію можна централізувати через RADIUS та LDAP. Це знижує навантаження на службу підтримки — користувачі підключаються самі, без залучення адміністратора.
Покрокове налаштування StrongSwan: 4 кроки
Крок 1. Встановлення та створення сертифікатів
Встановлюємо StrongSwan та утиліти PKI, потім створюємо власний CA та сертифікат сервера. CN сертифіката має збігатися з публічним FQDN або IP сервера.
apt install strongswan strongswan-pki libcharon-extra-plugins
# CA
pki --gen --type rsa --size 4096 --outform pem > /etc/ipsec.d/private/ca.key
pki --self --ca --lifetime 3650 --in /etc/ipsec.d/private/ca.key \
--dn "CN=VPN CA, O=Example Corp" \
--outform pem > /etc/ipsec.d/cacerts/ca.crt
# Сертифікат сервера (з прапорцями serverAuth та ikeIntermediate)
pki --gen --type rsa --size 2048 --outform pem > /etc/ipsec.d/private/server.key
pki --pub --in /etc/ipsec.d/private/server.key | \
pki --issue --lifetime 730 \
--cacert /etc/ipsec.d/cacerts/ca.crt \
--cakey /etc/ipsec.d/private/ca.key \
--dn "CN=vpn.example.com" \
--san vpn.example.com \
--flag serverAuth \
--flag ikeIntermediate \
--outform pem > /etc/ipsec.d/certs/server.crt
Крок 2. Конфігурація через swanctl
З версії StrongSwan 5.7+ використовуємо swanctl.conf. Приклад з EAP-MSCHAPv2 та пулом адрес для 250 клієнтів:
# /etc/swanctl/swanctl.conf
authorities {
vpn-ca {
cacert = ca.crt
}
}
connections {
ikev2-eap {
version = 2
proposals = aes256gcm16-sha256-ecp256,aes256-sha256-modp2048
local_addrs = %any
remote_addrs = %any
local {
auth = pubkey;
certs = server.crt;
id = vpn.example.com
}
remote {
auth = eap-mschapv2;
eap_id = %any
}
children {
ikev2-eap {
local_ts = 0.0.0.0/0
remote_ts = dynamic
dpd_action = clear
esp_proposals = aes256gcm16-sha256,aes256-sha256
}
}
pools = vpn-pool
dpd_delay = 30s
send_cert = always
}
}
pools {
vpn-pool {
addrs = 10.20.0.0/24;
dns = 10.0.0.1, 8.8.8.8
}
}
secrets {
eap-user1 {
id = user1;
secret = "UserPassword123"
}
eap-user2 {
id = user2;
secret = "AnotherPassword"
}
}
Завантажуємо конфігурацію без перезапуску: swanctl --load-all.
Крок 3. Налаштування фаєрвола та IP forwarding
iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT
iptables -A FORWARD -s 10.20.0.0/24 -j ACCEPT
iptables -A FORWARD -d 10.20.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o ens3 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1Не забудьте зберегти правила: iptables-save > /etc/iptables/rules.v4. StrongSwan коректно обробляє NAT-T, що важливо для клієнтів за NAT.
Крок 4. Аутентифікація через LDAP/RADIUS
Для великих інфраструктур (500+ користувачів) підключаємо FreeRADIUS з LDAP-бекендом:
# /etc/strongswan.d/charon/eap-radius.conf
eap-radius {
servers {
primary {
address = 10.0.0.5;
secret = radius_shared_secret
}
}
}У коннекшені змінюємо remote { auth = eap-radius }. Усі користувачі аутентифікуються через центральний каталог — AD або OpenLDAP.
Як інтегрувати StrongSwan з Active Directory?
Інтеграція з Active Directory реалізується через RADIUS-проксі, як показано в кроці 4. FreeRADIUS звертається до LDAP (AD) і повертає результат StrongSwan. Додатково можна налаштувати автоматичну видачу сертифікатів через Microsoft NDES або через власний CA з груповими політиками. Це дозволяє підключати користувачів без введення пароля — тільки за сертифікатом, випущеним корпоративним ЦС.
Як налаштувати нативні клієнти?
Windows 10/11: Параметри → VPN → Додати VPN-підключення → IKEv2. Тип входу: ім'я користувача та пароль. Перед цим імпортуйте ca.crt у сховище «Довірені кореневі центри сертифікації» (certmgr.msc).
macOS/iOS: Налаштування → VPN → IKEv2. CA-сертифікат встановіть через профіль (Apple Configurator або вручну).
Android: Нативний IKEv2 (Android 11+) або додаток StrongSwan.
Які типові помилки виникають при налаштуванні IKEv2?
Найчастіша — Windows не з'єднується. Детальний лог переговорів допомагає швидко знайти причину:
swanctl --log journalctl -u strongswan -f Майже завжди причина: сертифікат сервера не містить iKEIntermediate в Extended Key Usage, або кореневий CA не додано в довірені на клієнті. Перевірте ланцюжок і повторіть імпорт ca.crt. Друга за частотою — неспівпадіння ідентифікатора сервера (CN або SAN) з адресою, яку вводить клієнт. Третя — блокування портів UDP 500 і 4500 фаєрволом. Час діагностики — не більше 30 хвилин.
Що входить у роботу?
- Налаштований сервер StrongSwan з сертифікатами та пулом користувачів
- Правила фаєрвола та скрипти автоматизації
- Інструкції для підключення нативних клієнтів (Windows, macOS, iOS, Android)
- Інтеграція з LDAP/RADIUS (опціонально)
- Тестування та передача документації
Моніторинг активних підключень
Для контролю кількості одночасних сесій можна використовувати метрики Prometheus через StrongSwan IPsec pki. Експортер збирає дані про стан тунелів та завантаження CPU. Ми гарантуємо, що після налаштування ви будете бачити прозору картину з'єднань.
Строки та вартість
| Етап | Строк |
|---|---|
| Розгортання сервера + PKI + тест з нативними клієнтами | від 1 дня |
| Інтеграція LDAP/RADIUS | +0.5–1 день |
| MDM-профілі для корпоративних пристроїв | +0.5 дня |
Вартість розраховується індивідуально після аудиту інфраструктури. Замовте налаштування VPN — отримайте готове рішення за 1-2 дні. Отримайте консультацію інженера з налаштування StrongSwan. Зв'яжіться з нами: оцінимо проєкт за один день. Впровадження окупається за рахунок зниження витрат на підтримку клієнтських додатків та спрощення підключення нових співробітників.







