Рейтинг:1

Проблема с подключением нескольких удаленных клиентов Windows 10 к Strongswan с сертификатами lets-encrypt (IKEv2-EAP)

флаг de

Я настроил сервер Strongswan для доступа VPN-клиентов к внутренней сети (EAP-IKEv2). Я успешно настроил его с использованием сертификатов сервера Letsencrypt, и он работает для клиентов, использующих Mac OS X, IOS, Winodws 7 и Windows 10.

Все работало нормально год

Но несколько недель назад несколько удаленных клиентов, использующих Windows 10, начали получать ошибку при подключении.

Сервер: Strongswan версии 5.8.2 на FreeBSD 11.2-RELEASE-p15 Клиент: Mac OS X (несколько версий) / IOS (несколько версий) / Windows 7 (несколько версий) / Windows 10 (несколько версий)

Ошибка Windows 10 VPN: 13801: учетные данные аутентификации IKE недопустимы.

При этом другие удаленные клиенты, в том числе использующие Windows 10 с тем же номером сборки, работают нормально.

Самое печальное, что ошибка никак не соотносится с номером сборки Windows 10

Конечно сертификат продлен и действителен

Вы можете найти все детали ниже.

Спасибо за уделенное время. буду благодарен за любую помощь

ipsec.conf

  настройка конфигурации
  строгая политика = нет
  charondebug="ike 1, knl 1, cfg 0"
  уникальные идентификаторы = нет

подключение ikev2-vpn
  авто=добавить
  сжать=нет
  тип = транспорт
  обмен ключами=ikev2
  фрагментация=да
  форсэнкапс=да

  ike = aes128-sha256-ecp256, aes256-sha384-ecp384, aes128-sha256-modp2048, aes128-sha1-modp2048, aes256-sha384-modp4096, aes256-sha256-modp4096, aes256-sha1-modp4096, 2538-sha1538-modp4096, aes1 aes128-sha1-modp1536, aes256-sha384-modp2048, aes256-sha2
  esp=aes128gcm16-ecp256,aes256gcm16-ecp384,aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1- modp4096, aes128-sha256-modp1536, aes128-sha1-modp1

  dpdaction=очистить
  dpddelay=300 с
  ключ = нет

  слева=% любой
  [email protected]
  левыйсерт=полная цепочка.pem
  leftsendcert=всегда
  левая подсеть=0.0.0.0/0

  справа=%любой
  правый ID=%любой
  правая авторизация = eap-mschapv2
  исходный код=192.168.20.2-192.168.20.50
  правый DNS=192.168.70.253,192.168.70.254

  eap_identity=%идентификация

заключительная часть charon.log

23 июня, 09:12:17 11[MGR] <ikev2-vpn|10> регистрация IKE_SA ikev2-vpn[10]
23 июня 09:12:17 03[NET] отправка пакета: с *serverip*[4500] на *clientip*[4500]
23 июня 09:12:17 11[MGR] <ikev2-vpn|10> регистрация IKE_SA прошла успешно
23 июня 09:12:17 03[NET] отправка пакета: с *serverip*[4500] на *clientip*[4500]
23 июня 09:12:46 06[NET] ожидание данных на сокетах
23 июня 09:12:46 01[JOB] получил событие, задание в очереди на выполнение
23 июня 09:12:46 01[JOB] следующее событие через 628 мс, ожидание
23 июня, 09:12:46 11[MGR] проверка IKEv2 SA с SPI 688d0386698d3362_i b3e60629dc447607_r
23 июня 09:12:46 11[MGR] Проверка IKE_SA не удалась
23 июня 09:12:47 01[JOB] получил событие, задание в очереди на выполнение
23 июня 09:12:47 01[JOB] следующее событие через 98s 38ms, ожидание
23 июня, 09:12:47 11[MGR] проверка IKEv2 SA с SPI ef71603dd0f2ce38_i 6e86dbaeb491d377_r
23 июня 09:12:47 11[MGR] IKE_SA ikev2-vpn[10] успешно проверен
23 июня 09:12:47 11[ЗАДАНИЕ] <ikev2-vpn|10> удаление полуоткрытого IKE_SA с помощью *clientip* после тайм-аута
23 июня 09:12:47 11[MGR] <ikev2-vpn|10> зарегистрируйтесь и уничтожьте IKE_SA ikev2-vpn[10]
23 июня 09:12:47 11[IKE] <ikev2-vpn|10> IKE_SA ikev2-vpn[10] изменение состояния: ПОДКЛЮЧЕНИЕ => УНИЧТОЖЕНИЕ
23 июня 09:12:47 11[MGR] проверка и уничтожение IKE_SA успешно
флаг cn
Кросс-пост [здесь] (https://github.com/strongswan/strongswan/discussions/473).
Рейтинг:1
флаг cn

У меня была та же проблема, решенная путем добавления последнего корневого сертификата ЦС Let's Encrypt в Локальная машина магазин сертификатов.

Не могу гарантировать, что это была та же проблема, что и у вас, но это решило ее для меня. Я также добавил версию PEM того же сертификата в /etc/ipsec/cacerts dir на VPN-сервере, что само по себе не решило проблему.

Вот сценарий PowerShell для установки корневого сертификата в локальное хранилище сертификатов Windows:

    Write-Host «Извлечение сертификата корневого центра сертификации Lets Encrypt…» — ForegroundColor Cyan
    $output = "isrgrootx1.der"
    $configUrl = "https://letsencrypt.org/certs/isrgrootx1.der"
    Invoke-WebRequest -Uri $configUrl -OutFile $output
    Import-Certificate -FilePath "$ output" -CertStoreLocation 'Cert:\LocalMachine\Root'-Подробный
Alexey Rusanovsky avatar
флаг de
Привет! Помогла установка корневого сертификата. Перед этим я установил сам сертификат в личное хранилище.
Рейтинг:0
флаг me

У меня была та же проблема, скрипт powershell, предоставленный @StampyCode, работает, но пользователь просто посещает https://valid-isrgrootx1.letsencrypt.org/ активирует сертификат ISRG Root X1 на машине и также решает проблему.

Сценарий идеален, если вы можете развернуть его на многих машинах, которыми вы управляете, но в отдельных случаях гораздо проще просто попросить пользователя посетить этот веб-сайт, и в этом случае Windows автоматически активирует корневой сертификат.

Я бы хотел, чтобы Microsoft просто активировала ISRG Root X1 по умолчанию.

Ответить или комментировать

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