2

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

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

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

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

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

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

3 ответа3

1

По всей видимости, пакет 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/ .

1

Поддержка 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
0

13 августа 17:28:16 vpn ipsec [2733]: 14 [IKE] Запрос IAP-удостоверения 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .