VPN ламається після оновлення клієнта? Порівняйте узгодження
Збережіть першу нову помилку й версію, що її спричинила. Змінене узгодження або вимога платформи потребує одного конкретного виправлення, а не відкату.
Оновлення замінюють компонент, який розбирає ваш профіль і узгоджує тунель. Перший збій після оновлення — це свідчення про конкретну зміну, а не вирок випуску. Зберегти цю помилку разом з версією та відміткою часу — найцінніший крок, який можна зробити перед будь-яким перевстановленням.
Два механізми пояснюють більшість таких розривів. Розділити їх і є робота.
Що змінилося в узгодженні під вами
OpenVPN узгоджує шифр каналу даних, а не бере його з однієї директиви, і параметри, що керують цим узгодженням, змінювали значення від випуску до випуску. Профіль, написаний для старішого клієнта, може підключитися, а потім не домовитися про канал даних, що виявляється як розрив з'єднання, а не як зрозуміла помилка конфігурації. Нові випуски також посилюють або скасовують успадковану поведінку і постачають режим сумісності для вузлів, які ще не перейшли. Тому оновлення може зламати робочий профіль, не торкнувшись жодного байта файлу.
Вплив на клієнта асиметричний. Канал керування піднімається, автентифікація проходить, а потім тунель помирає — це ознака розбіжності в узгодженні, а не відхиленого профілю.
Прочитайте встановлену версію, перш ніж будувати теорії про сервер. Цей рядок — локальний факт, який можна перевірити, ні в кого не питаючи доступу.
Профіль може розбиратися й означати інше
Директива, що проходить розбір, не обов'язково все ще робить те, що задумав її автор. Параметри можуть прийматися заради сумісності й ігноруватися, перейменовуватися або застосовуватися у вужчому випадку, ніж раніше. Оскільки ніщо не видає помилку, профіль виглядає правильним, хоча поведінка під ним змінилася. Саме ця тиша робить такі регресії дорогими.
Запитайте, які рядки справді відповідають за узгоджений результат, а потім звірте їх із документацією тієї версії, яку ви запускаєте зараз. Це порівняння коротке, і в ньому різниця між виправленням і відкатом.
openvpn --version | head -n 2
openvpn --show-ciphers | head -n 10
grep -nE '^(cipher|data-ciphers|ncp-|tls-)' office.ovpn
Платформа зрушила водночас
Випуски клієнта рідко приходять самі. Оновлення операційної системи, запит дозволу, який тепер вимагає явної згоди, або керована політика, застосована до пристрою, можуть прийти того ж тижня й дати збій, у якому звинуватять клієнт. Мобільні платформи додають свій шар, бо застосунок просить у системи тунель, а система вирішує, що цьому тунелю можна маршрутизувати.
Записуйте ці зміни окремо на часовій шкалі. Коли автентифікація проходить, але маршрути або розв'язання імен не працюють, цікава стадія — після рукостискання, і ослаблення перевірки сертифіката її не зачепить.
Повторіть випробування події, з якої почався звіт
Відтворіть початкову послідовність, а не її спрощений варіант: початкове підключення, застосунок, що відмовив, і звичайне перепідключення після зміни мережі. Тунель, який піднімається в тестових умовах і все ж падає на шляху перепідключення, не виправлено, і різниця зазвичай указує, де живе справжній дефект. Звіт, що пропускає крок перепідключення, закриває помилку, яка досі відкрита.
Отримайте підтримуваний профіль оператора або виправлення постачальника перевіреним каналом замість повного відкату. Широкий відкат повертає й ті виправлення безпеки, які приніс випуск, і такий обмін рідко вартий одного робочого з'єднання.