Strongswan IKEv2 vpn на клиенте Windows 10 "ошибка соответствия политики"
На моем сервере Ubuntu работает самая новая версия Strongswan vpn. Я последовал этому уроку здесь и заставил его работать на моем Android и Iphone.
Теперь я хочу, чтобы он работал на моем ноутбуке с Windows 10, но когда я пытаюсь подключиться с помощью настроек vpn в Windows, я получаю только "ошибку соответствия политики", и при просмотре событий отображается код ошибки "13868".
После долгих поисков я все еще не могу найти какое-либо рабочее решение.
Что я могу сделать?
2 ответа
Проблема, скорее всего, в том, что клиент Windows предлагает слабую группу Диффи-Хеллмана (DH) (1024-битный MODP). Эта группа больше не используется strongSwan, если пользователь не настроил ее явно.
У вас есть два варианта:
- Настройте Windows для использования более сильной группы DH. Это может быть сделано либо
- с помощью командлета PowerShell Set-VpnConnectionIPsecConfiguration, который позволяет активировать более сильные группы DH (например, групповой 14/2048-битный MODP или 384-битный ECP) и даже другие алгоритмы (например, шифрование / целостность комбинированного режима AES-GCM, что более эффективно, но на сервере тоже нужно явно включить)
- или через реестр, добавив ключ DWORD
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256
, Установите это1
включить (другие алгоритмы все еще предлагаются), или2
для обеспечения использования 256-битного AES-CBC и 2048-битного MODP DH (будут предложены только они).
- Добавьте предложенную слабую группу DH (1024-битный MODP) к предложению IKE на сервере (например, настройте что-то вроде
ike=aes256-aes128-sha256-sha1-modp3072-modp2048-modp1024
, который добавляет его в конце, чтобы другие клиенты могли использовать более сильные группы DH).
Вариант 1 определенно предпочтителен.
Чтобы выяснить, в чем заключается проблема, вы должны, в качестве первого шага, включить ведение журнала и посмотреть, что происходит во время процесса подключения. Вот пример конфигурации, который я использую на своем сервере.
/etc/strongswan.d/charon-logging.conf
charon {
# Section to define file loggers, see LOGGER CONFIGURATION in
# strongswan.conf(5).
filelog {
# <filename> is the full path to the log file.
/var/log/strongswan.log {
# Loglevel for a specific subsystem.
# <subsystem> = <default>
# If this option is enabled log entries are appended to the existing
# file.
append = yes
# Default loglevel.
default = 2
# Enabling this option disables block buffering and enables line
# buffering.
# flush_line = no
# Prefix each log entry with the connection name and a unique
# numerical identifier for each IKE_SA.
ike_name = yes
# Adds the milliseconds within the current second after the
# timestamp (separated by a dot, so time_format should end with %S
# or %T).
# time_add_ms = no
# Prefix each log entry with a timestamp. The option accepts a
# format string as passed to strftime(3).
# time_format =
}
}
}
Вы можете использовать его и проанализировать файл журнала, чтобы обнаружить проблему. Если вы не сможете разобраться, опубликуйте журнал подключений здесь, я постараюсь вам помочь.