Публічний список VPN каже «онлайн»; ваш клієнт каже «ні»
Каталог показує перевірку кількох хвилин тому, а не обіцянку для вашої наступної спроби. Пройдіть етапи з'єднання по черзі й побачте, де вузол справді збоїть.
Ви відкриваєте каталог, сортуєте за швидкістю, обираєте вузол, позначений як онлайн, і клієнт здається, не завершивши з'єднання. Список не брехав, строго кажучи. Він повідомляв результат чужої перевірки, з іншої мережі, у раніший момент, проти сервісу, який волонтер може вимкнути будь-коли. Розуміння цієї прогалини перетворює виснажливе полювання на коротку послідовність перевірок, які можна виконати на будь-якому кандидаті.
Що список насправді виміряв
Публічний каталог зберігає поля на кшталт часу останньої перевірки, спостереженого значення часу відгуку, кількості сесій і іноді списку протоколів. Кожне з них описує останнє успішне спостереження з погляду самого проєкту, а не стан вузла, коли прибуває ваш пакет.
Свіжість важливіша за число. Вузол, перевірений чотири хвилини тому, і вузол, перевірений чотири години тому, можуть показувати ту саму зелену позначку, і лише один із них ще скидається на записаний стан. Шукайте позначку часу, а не колір.
Волонтерська робота додає друге джерело змін, яке не виправить жоден монітор. Оператор може перезавантажувати ноутбук, вичерпувати канал, змінювати провайдера або просто закривати кришку. Запис у списку — це кандидат, і ставитися до нього як до угоди про рівень обслуговування означає категоріальну помилку.
Стежте за етапами клієнта, а не за вертушкою
Кожен клієнт VPN проходить ту саму широку послідовність: розв'язати ім'я, відкрити транспортне з'єднання, узгодити безпеку, автентифікуватися, потім налаштувати тунель і передати дані. Збій на кожному етапі залишає різні докази, і вертушка не показує жодного з них.
Почніть із розв'язання імені. Якщо ім'я хоста не розв'язується, нічого про доступність вузла не перевірено, бо з'єднання так і не покинуло вашу машину. Далі транспорт: відхилений або прострочений обмін TCP чи UDP каже, що кінцева точка не відповідає на цьому порту, і це справжня знахідка про вузол. Потім узгодження й автентифікація, де хибний сертифікат, прострочений профіль або невідповідний шифр зазнають збою, поки вузол цілком здоровий. Лише після налаштування тунелю збій маршрутизації або DNS може пояснити останній крок.
Читайте журнал клієнта з найвищою докладністю, яка ще вміщується на екрані, і позначте останній успішний рядок. Саме з цього рядка починається діагностика, і зазвичай він інформативніший за все, що показує каталог.
Одна змінна на спробу
Порівнюйте кандидатів з тим самим клієнтом, тією самою мережею доступу й тим самим форматом профілю, змінюючи лише кінцеву точку. Інакше збій може бути вашим, і ви припишете його вузлу.
Двох спроб достатньо, щоб установити закономірність, а третя її підтверджує. Якщо вузол A збоїть на етапі транспорту, а вузол B на автентифікації, у вас дві незв'язані проблеми, а не один застарілий список.
Коли кожен вузол збоїть однаково
Загальний збій на першому етапі вказує на ваш бік: розв'язувач, який не може відповісти, локальний брандмауер, що блокує протокол, або мережа, яка дозволяє лише вебтрафік. Каталог не може повідомити про це, бо його перевірки не запускаються з вашого місця.
Свідомо перевірте випадок сформованої мережі. Деякі мережі доступу дозволяють HTTPS до вебу й відкидають інші протоколи, через що кожен кандидат виглядає мертвим, хоча список точний. Порівняння завантаження сторінки в браузері з сирою спробою з'єднання розділяє ці дві ситуації менш ніж за хвилину.
Читайте збій на тому етапі, де він стався
Відтворіть спробу з термінала, щоб етапи було видно. Три команди нижче розв'язують ім'я, перевіряють, чи відповідає порт, і друкують рядки узгодження з профілю OpenVPN:
dig +short node.example.net
curl -s --max-time 5 telnet://node.example.net:443
openvpn --config node.ovpn --verb 4 2>&1 | grep -iE "TLS|AUTH|PUSH"Якщо порт відповідає і рядок узгодження повідомляє про проблему сертифіката, вузол працює, а ваш профіль застарів. Якщо порт зовсім не відповідає, запис — це кандидат, що збійнув, і перехід до наступного є правильною відповіддю замість зневаджування клієнта. Позначте етап у короткому рядку, і наступна спроба почнеться зі знання, а не з надії.