Назад | Перейти на главную страницу

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

На моем сервере ubuntu установлена ​​последняя версия Strongswan vpn. Я последовал за этот учебник вот и заработал на моем андроиде и айфоне.

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

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

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

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

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

  1. Настройте Windows на использование более сильной группы DH. Это можно сделать либо
    • через Set-VpnConnectionIPsecConfiguration Командлет PowerShell, который позволяет включить более сильные группы 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 =
        }
    }
}

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