IPsec Error EAP_FAILED: сбой расширенной аутентификации через RADIUS сервер
При попытке подключения пользователей к VPN-шлюзу авторизация отклоняется:
- Ошибки в логах:
IPsec Error: EAP_FAILED: Extended Authentication Protocol failed with RADIUS,received EAP_FAILURE notifyилиRADIUS server not responding. - Пользователи получают ошибку «Неверное имя пользователя или пароль» при гарантированно корректных учетных данных.
- Таймаут авторизации при обращении к внешнему каталогу Active Directory (NPS) / FreeRADIUS.
1. Архитектура аутентификации EAP в IKEv2 (RFC 7296)
Протокол IKEv2 использует фреймворк EAP (Extensible Authentication Protocol) для проверки учетных данных пользователей (EAP-MSCHAPv2, EAP-TLS, EAP-GTC). VPN-сервер выступает в роли EAP Authenticator, передавая запросы (Access-Request) на бэкенд RADIUS/NPS. Если RADIUS возвращает Access-Reject или не отвечает вовремя, шлюз отправляет клиенту сообщение EAP_FAILURE и разрывает соединение.
2. Проверка сетевой связности с RADIUS-сервером
# Проверка доступности портов RADIUS (1812/UDP authentication)
nc -u -v -z 192.168.1.100 1812
# Тестовая проверка учетных данных утилитой radclient
echo "User-Name = testuser, User-Password = testpass" | radclient 192.168.1.100:1812 auth testing1233. Настройка плагина EAP-RADIUS в strongSwan
Отредактируйте /etc/strongswan.d/charon/eap-radius.conf:
eap-radius {
load = yes
accounting = yes
servers {
nps-primary {
address = 192.168.1.100
secret = StrongSharedSecretKey123
auth_port = 1812
acct_port = 1813
sockets = 8
}
}
}4. Конфигурация пула и соединения в swanctl.conf
connections {
rw-eap {
local {
auth = pubkey
certs = serverCert.pem
id = @vpn.example.com
}
remote {
# Использование EAP-RADIUS аутентификации
auth = eap-radius
eap_id = %any
}
children {
rw-child {
local_ts = 0.0.0.0/0
}
}
}
}5. Проверка журналов Windows Network Policy Server (NPS)
Если RADIUS работает на Windows Server NPS:
- Откройте
Event Viewer -> Custom Views -> Server Roles -> Network Policy and Access Services; - Проверьте причину отклонения (часто: «The user account is locked out» или «The authentication method is not allowed by the policy»);
- Убедитесь, что в политике сети включен метод
Microsoft: Protected EAP (PEAP)илиUnencrypted password (PAP)в зависимости от настроек клиента.
Частые вопросы (FAQ)
Почему клиенты Windows требуют валидации сертификата сервера при EAP-MSCHAPv2?
В IKEv2 клиент всегда сначала проверяет сертификат сервера на подлинность. Только после успешного создания защищенного туннеля клиент передает логин и пароль через протокол EAP.
Что означает ошибка 'EAP method not supported'?
Клиент запросил метод аутентификации (например, EAP-TLS), который не настроен на сервере RADIUS или в конфигурации VPN-шлюза.
Нужно ли настраивать секрет (Shared Secret) для каждого RADIUS клиента?
Да, секрет в eap-radius.conf на шлюзе strongSwan должен строго совпадать с Pre-Shared Key, прописанным для этого шлюза в оснастке RADIUS Clients на сервере NPS/FreeRADIUS.
Как включить передачу виртуального IP через RADIUS (Framed-IP-Address)?
В eap-radius.conf установите опцию 'accounting = yes' и настройте чтение атрибутов RADIUS, после чего сервер сможет назначать статические IP клиентам прямо из Active Directory.