Обидві сторони підтримують AES, обидві приймають SHA-256, і тунель усе одно не піднімається. Пропозиція не пройшла на компоненті, який ніхто не порівняв, зазвичай на групі обміну ключами. Цей посібник читає фактичний обмін до будь-яких змін, застосовує одну обмежену політику і залишає відкат, що повертає попередні параметри.

Прочитайте відмову, перш ніж змінювати групу

«Помилка узгодження політики» — це підсумок, а не діагноз. Вона означає, що взаємно прийнятної пропозиції не знайдено, і нічого не каже про те, який компонент було відхилено. Ставтеся до неї як до початку розслідування, а не як до доказу про конкретну групу.

Відповідь зазвичай на боці сервера. Журнал strongSwan на належному рівні перелічує пропозицію, отриману від клієнта, і пропозицію, яку він налаштований приймати, а різниця між двома списками називає компонент, що не пройшов.

Не вважайте, що клієнт пропонує те, що сказано в старому дописі на форумі. Активний профіль і встановлена в ньому політика визначають запропонований список, а оновлена збірка Windows може запропонувати інший набір, ніж той на знімку екрана, з якого ви копіюєте.

Запишіть обидва списки. Чотири позиції трансформ і одна група — короткий список, і рядкове порівняння займає менше часу, ніж будь-який експеримент. Чотири позиції легко втримати в полі зору. Файл журналу — ні.

Порівнюйте кожну трансформу, а не одне знайоме ім'я

Пропозиція IKE — це набір виборів, які всі мають збігтися. Шифрування захищає переговори, цілісність або PRF їх засвідчує, а група Diffie-Hellman створює свіжий ключовий матеріал. Пропозиція, що збігається за першими двома і різниться за третьою, усе ще неприйнятна для обох сторін.

Два поля Windows, які тут плутають, належать до різних фаз. DHGroup стосується обміну ключами IKE, а PfsGroup — дочірньої асоціації, що захищає трафік. Зміна другого не виправить відмову в першому.

Назви груп різняться між реалізаціями, і це окреме джерело плутанини. strongSwan пише modp2048 і ecp256, а Windows використовує назви переліку, такі як Group14 і ECP256, тож порівняння має спершу перекласти. Тримайте нотатку в два стовпці з обома назвами. Тоді наступна розбіжність класифікується за секунди.

TransformWindows parameterstrongSwan nameFailure it causes
EncryptionCipherTransformConstantsaes, aes256gcm and similarNo common proposal at all
Integrity or PRFAuthenticationTransformConstantssha256, sha512 and similarProposal rejected after encryption matches
Key-exchange groupDHGroupmodp2048, ecp256Exchange fails during key establishment
Child SA protectionPfsGroupesp proposal groupsTunnel negotiates, data association does not

Застосуйте одну повну й обмежену політику

Підтримуваний інструмент для рідного профілю IKEv2 — це політика IPsec для кожного підключення, задана як один об'єкт, а не поле за полем. Спершу перегляньте її, потім застосуйте, а попередні параметри збережіть у записі про зміну.

Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf

Перемикач -WhatIf показує локальну зміну в попередньому перегляді й нічого не застосовує. Це корисно і водночас є поширеною пасткою, бо попередній перегляд доводить лише те, що параметри синтаксично прийнятні для локального командлета. Чи прийме шлюз отриману пропозицію, він не каже.

Заодно узгодьте й область дії. Підключенню в сховищі всіх користувачів потрібен відповідний параметр для всіх користувачів, а редагування профілю окремого користувача з тим самим відображуваним ім'ям змінює інший об'єкт, який тунель не використовує.

Потім перед тестом приведіть бік strongSwan до того самого набору. Узгоджена зміна на обох кінцях — єдиний варіант, який сходиться; зміна однієї сторони й повторні спроби дають журнал, повний однакових відмов.

Перевірте обмін і перегенерацію ключів окремо

Успішне підключення — це одне спостереження, а перегенерація ключів — інше. Початкові переговори IKE використовують один набір параметрів, а дочірня асоціація, що несе трафік, може згодом бути переузгоджена зі своєю політикою. Налаштування, яке підключається і потім через час відвалюється, зазвичай належить до другого випадку.

ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *

Перша команда показує погляд сервера на встановлені асоціації, включно з дочірньою SA та її залишком часу життя. Друга показує, що тепер містить профіль клієнта, і це єдиний спосіб переконатися, що задана політика і є чинною.

Спостерігайте за повною перегенерацією ключів, перш ніж оголосити успіх. Це означає залишити підключення піднятим достатньо довго, щоб дочірня асоціація замінилася, і потім підтвердити, що трафік триває. Більшість розбіжностей політики ховається саме на цьому кроці, бо початкові переговори можуть пройти з набором, який перегенерація не приймає.

Відкат — це попередній набір параметрів, а не поблажливий запасний варіант. Якщо клієнт пропонував лише слабку стару групу, відповідь — поліпшити спільну політику клієнта й сервера, а не додавати цю групу на шлюз, де кожна майбутня сторона зможе дійти знизу до неї.

Запишіть чотири параметри, групу, область підключення й результат перегенерації. Це коротка нотатка, і вона — різниця між інструкцією та історією про те, як одного разу піднявся тунель.

Схожі статті