Клиент Windows не может подключиться к StrongSwan: "запрос EAP-Identity настроен, но не поддерживается"

Я следовал этому руководству, чтобы настроить VPN-сервер StrongSwan, за исключением того, что я использовал Debian 9 и использовал сертификаты, которые у меня уже были в Let's Encrypt, вместо того, чтобы устанавливать CA. Однако я все еще не могу подключиться к серверу VPN. Когда я пытаюсь использовать встроенный VPN-клиент Windows 10, выдает ошибку,

Не удалось установить сетевое соединение между вашим компьютером, поскольку удаленный сервер не отвечает. Это может быть связано с тем, что одно из сетевых устройств (например, межсетевые экраны, NAT, маршрутизаторы и т. Д.) Между вашим компьютером и удаленным сервером не настроено для разрешения VPN-подключений. Обратитесь к администратору или поставщику услуг, чтобы определить, какие устройства могут вызывать проблему.

Я попытался подключить свой компьютер напрямую к серверу без какого-либо вмешательства устройства, и мог успешно пропинговать его, но все еще не мог подключиться к VPN. Более того, ufw установлен, чтобы разрешить необходимые порты, 500 и 4500, и nmap -sU -p 500 [VPN server IP] подтвердил, что порты были открыты для пакетов UDP.

Установив максимальный уровень ведения журнала, я не распознал никаких ошибок или предупреждений, кроме пары строк, в которых говорилось

13 августа 17:28:16 vpn ipsec[2733]: 14[IKE] Запрос EAP-удостоверения настроен, но не поддерживается 13 августа 17:28:16 vpn ipsec[2733]: 14[IKE] не удалось загрузить метод EAP_MSCHAPV2

Я не могу понять, в чем еще может быть проблема, поэтому я думаю, что это должно быть связано с этими строками. Что я могу сделать, чтобы это исправить?

3 ответа

Поддержка EAP-Identity предоставляется eap-identity плагин; для EAP-MSCHAPv2 вам нужен eap-mschapv2 плагин.

На Debian они оба предоставляются libcharon-extra-plugins пакет.

$ apt-file search eap-identity
libcharon-extra-plugins: /usr/lib/ipsec/plugins/libstrongswan-eap-identity.so

По всей видимости, пакет Debian не содержит необходимых плагинов для клиента Windows 10. Мне пришлось удалить пакет, затем загрузить и скомпилировать StrongSwan самостоятельно. Удаление пакета оставило некоторые файлы позади. Я должен был удалить /usr/lib/ipsec/ и перекомпилировать, потому что при новой установке произошел сбой при доступе к файлам из старой установки, которые там находились. Тем не менее, другие файлы, которые остались (особенно в /etc), похоже, работают или, по крайней мере, не вызывают никаких проблем.

При компиляции StrongSwan я использовал команду ./configure --prefix=/usr --sysconfdir=/etc --enable-eap-identity --enable-eap-mschapv2 --enable-md4

Кроме того, в соответствии с этим Windows пытается использовать 1024-битную группу Диффи-Хеллмана по умолчанию, и вы можете либо заставить StrongSwan предложить 1024-битную группу DH, либо вы можете установить ключ реестра в Windows, чтобы она принимала 2048 DH группа. Я не мог найти документацию для первого, поэтому я пошел с последним вместо этого.

Наконец, сертификат Let's Encrypt сработал. Чтобы использовать его, поместите ваш активный cert.pem в /etc/ipsec.d/certs/ и ваш активный chain.pem в /etc/ipsec.d/cacerts/,

13 августа 17:28:16 vpn ipsec[2733]: 14[IKE] Запрос EAP-удостоверения настроен, но не поддерживается 13 августа 17:28:16 vpn ipsec[2733]: 14[IKE] не удалось загрузить метод EAP_MSCHAPV2

Первая строка из-за отсутствия eap-identity Плагин, как ответ на гравитацию. Вторая строка связана с отсутствующим плагином "eap-mschapv2". Этот плагин требует gcrypt плагин для работы. Последний может быть найден в libstrongswan-extra-plugins,

Так что вам нужно:

apt install libcharon-extra-plugins libstrongswan-extra-plugins
Другие вопросы по тегам