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

Пройдіть п'ять пунктів нижче по порядку й тримайте результати приймання окремо.

Два види політики за схожими назвами

Windows розділяє політику, що захищає обмін ключами, і політику, що захищає трафік. Бік IKE налаштовується методом шифрування й методом цілісності. Бік даних налаштовується константами шифру й перетворення автентифікації, і ці константи використовують власні назви. Одна мітка AES, скопійована не в те поле, дає підключення, яке встановлюється за політикою, яку ніхто не затвердив.

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

Будуйте повну політику, а не дві назви алгоритмів

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

$policy = @{
    ConnectionName = 'Corp IKEv2'
    AllUserConnection = $true
    EncryptionMethod = 'AES256'
    IntegrityCheckMethod = 'SHA384'
    CipherTransformConstants = 'AES256'
    AuthenticationTransformConstants = 'SHA384128'
    DHGroup = 'Group19'
    PfsGroup = 'PFS2048'
    Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy

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

Спочатку створіть, потім застосуйте — в одному обсязі

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

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

Документовані поля Configuration Designer описують одне налаштування VPN і не розкривають кожне вбудоване керування IPsec. Якщо вимога — керована доставка, у постачальника служби конфігурації VPNv2 є розділ криптографічного набору саме для цього.

Призначте одного власника політики

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

Два власники — те саме, що жодного, коли вони не згодні. Запишіть ім'я власника в журнал змін профілю. Наступне оновлення піде за тим, що каже цей журнал.

Перевіряйте узгоджений результат, а не пакет

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

Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime

Три результати приймання — не одна подія: пакет установлено, профіль існує з передбаченою політикою, і сторони її узгодили. Тримайте їх окремо, щоб відсутнє поле ніколи не виправлялося ослабленням автентифікації чи ввімкненням запасного варіанта, якого ніхто не вибрав.

Схожі статті