Мы не раз сталкивались с ситуацией, когда корпоративные пользователи не могли подключиться к 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 не добавлен в доверенные на клиенте. Проверьте chain и повторите импорт 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. Свяжитесь с нами: оценим проект за один день. Внедрение окупается за счёт снижения затрат на поддержку клиентских приложений и упрощения подключения новых сотрудников.







