Замок VPN на iPhone — це політика, а не протокол
IKEv2 підтримує тунель живим; він не вирішує, що ваш iPhone надсилає, коли тунель падає. Запитайте у провайдера політику та її винятки.
Значок VPN показує підключення, тунель на мить падає під час зміни мережі, і трафік, який мав блокуватися, виходить через мобільну мережу. Ніщо в інтерфейсі не повідомило про розрив. Функція, на яку ви покладалися, — це політика клієнта й платформи, а назва протоколу в налаштуваннях не описує, що відбувається в цю секунду.
Описуйте замок як договір про стани, а не як властивість IKEv2 чи On Demand.
Симптом: значок каже підключено
Значок відображає уявлення клієнта про власний стан, і це уявлення може відставати від реальності на час повторного підключення. Кешована сторінка, швидке повторне підключення або оновлення статусу приховують цей інтервал. Варто питати не про те, чи був значок зеленим, а про те, що пристрій дозволив, поки тунелю не було. Та сама затримка пояснює, чому знімок екрана застосунку — такий слабкий доказ: він фіксує стан, а не перехід.
Це питання має відповідь лише тоді, коли політика його визначає.
Що протокол насправді підтримує
IKEv2 підтримує й оновлює автентифіковані відносини IPsec, а функції мобільності допомагають відновити їх після зміни адреси. Це твердження про життєвий цикл тунелю. Воно нічого не каже про дозвіл iPhone надсилати інший трафік у розриві, бо цей дозвіл належить платформі й клієнту, а не обміну ключами. Пристрій, який перепідключився менш ніж за секунду, усе одно мав вікно, і цікава поведінка живе саме в цьому вікні.
On Demand — так само опис поведінки активації, а не універсальна гарантія блокування.
Що платформа пропонує розробнику
Network Extension від Apple надає керування охопленням трафіку, а його посібник з маршрутизації відрізняє поведінку з включенням усіх мереж від звичайних включених маршрутів і перелічує системні винятки. Існує також керована модель розгортання Always On, окрема від налаштування автоматичного підключення особистого застосунку. Чи використовує конкретний застосунок щось із цього — властивість застосунку, а не протоколу, яким він говорить.
Назва перемикача не доводить, який API викликає застосунок.
Читайте функцію як договір
Попросіть провайдера вказати п’ять станів: початкова активація, неочікувана втрата тунелю, навмисне відключення, вихід із застосунку та перезапуск пристрою. Поруч із цим списком поставте системні винятки й будь-який навмисний доступ до LAN. Потім запитайте, чи є функція необов’язковою, примусово ввімкненою керуванням або залежною від режиму клієнта, бо пауза, яку обирає користувач, і замок, який нав’язує організація, — два різні продукти. Запишіть ці п’ять відповідей у журнал розгортання, бо наступний рецензент поставить саме ці питання.
Функція, що блокує при неочікуваній втраті, але не при навмисному відключенні, — це цілісний дизайн. Просто це не той, що описувала маркетингова сторінка.
Як перевіряти розриви
Перевіряйте по одному переходу за раз із нешкідливим трафіком, у тому застосунку й родині адрес, які вам важливі. Підтвердьте, що було дозволено під час розриву, а не те, що значок показав потім. Запишіть версію клієнта й політику поруч із результатом, бо змінюються обидві, і жодної не видно з екрана налаштувань телефона. Це єдиний спосіб відокремити справжній розрив від повільного значка.
Якщо відповідь важлива для відповідності, попросіть її письмово, а не виводьте з назви продукту.