Strongswan IKEv2 vpn на клиенте Windows 10 "ошибка соответствия политики"

На моем сервере Ubuntu работает самая новая версия Strongswan vpn. Я последовал этому уроку здесь и заставил его работать на моем Android и Iphone.

Теперь я хочу, чтобы он работал на моем ноутбуке с Windows 10, но когда я пытаюсь подключиться с помощью настроек vpn в Windows, я получаю только "ошибку соответствия политики", и при просмотре событий отображается код ошибки "13868".

После долгих поисков я все еще не могу найти какое-либо рабочее решение.

Что я могу сделать?

2 ответа

Решение

Проблема, скорее всего, в том, что клиент Windows предлагает слабую группу Диффи-Хеллмана (DH) (1024-битный MODP). Эта группа больше не используется strongSwan, если пользователь не настроил ее явно.

У вас есть два варианта:

  1. Настройте 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 (будут предложены только они).
  2. Добавьте предложенную слабую группу 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 =
        }
    }
}

Вы можете использовать его и проанализировать файл журнала, чтобы обнаружить проблему. Если вы не сможете разобраться, опубликуйте журнал подключений здесь, я постараюсь вам помочь.

Другие вопросы по тегам