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

Блокування й перепідключення — різні рішення

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

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

Той самий профіль поводиться по-різному в двох клієнтах

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

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

Схожі настройки платформи не рівноцінні

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

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

Виконуйте одну подію за раз і записуйте код

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

ip link set tun0 down
curl -s -o /dev/null -w "%{http_code}\n" --max-time 5 https://example.com
ip -brief address show tun0

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

What I doWhat I watchEvidence to keep
Bring the tunnel down by handWhether a fresh request fails at onceThe HTTP code and the client state at that second
Choose Disconnect in the clientWhether ordinary access returns on purposeThe same request succeeding with no tunnel up
Quit the app, then rebootWhether the block outlives the clientA request made from a clean boot
Move from Wi-Fi to cellularWhether DNS and IPv6 follow the policyThe resolver answer, the route table and the code again

Винятки, гостьові портали й те, чого блокування не може

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

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

resolvectl query example.com
ss -tunp | grep -v tun0

Схожі статті