VPN завісае на Connecting у рэжыме палёту: знайдзіце канал уверх
Кліент, які ў рэжыме палёту застаецца на Connecting, можа проста не мець канала ўверх. Аддзяліце стан радыё, асацыяцыю, уваход праз партал і палітыку блакавання.
Тэлефон паказвае значок самалёта, VPN-кліент ужо дзве хвіліны на Connecting, а профіль правільны. Гадзіну таму ён працаваў у тым жа будынку. Нічога не зламана: VPN — гэта злучэнне, якое перавозіць іншая сетка, а рэжым палёту проста прыбраў сетку, якая яго перавозіла. Кліент працягвае паўтараць спробы, бо менавіта гэта ён робіць без канала ўверх.
Заблытвае тое, што значок самалёта не паведамляе, ці даступны Wi-Fi, а Connecting не паведамляе, ці кліент аўтэнтыфікуецца, ці проста чакае. Раздзяліце гэтыя два чытанні — і дыягностыка зойме хвіліну.
Значок самалёта — не справаздача аб радыё
На падтрыманых прыладах Android Wi-Fi і Bluetooth могуць заставацца ўключанымі ў рэжыме палёту, і прылада памятае выбар, зроблены ў мінулы раз. Кіраўніцтва Google па рэжыме палёту на Pixel апісвае менавіта такія паводзіны. Такім чынам, значок можа азначаць, што сотавая сувязь выключана, і больш нічога.
Правярайце фактычны стан, а не гліф. adb shell settings get global airplane_mode_on вяртае 0 або 1 для самога рэжыму, а adb shell dumpsys connectivity пералічвае сеткі, якія зараз ёсць у прылады, разам з іх статусам праверкі. Гэтыя два вынікі разам адказваюць на пытанне, на якое значок адказаць не можа.
Калі Wi-Fi выключаны або ўключаны, але ні з чым не злучаны, шляху да канчатковай кропкі VPN няма, і ніякая колькасць перападлучэнняў яго не створыць. Менавіта гэты выпадак варта выключыць першым, бо гэта адзіны выпадак, дзе правільнае рашэнне знаходзіцца па-за VPN-праграмай.
Што насамрэч азначае Connecting
Кліент можа трымаць захаваны профіль, паказваць яго імя і круціць індыкатар, ні з чым не звязаўшыся. Канфігурацыя лакальная. Каб стварыць тунель, патрэбны дасяжны сервер, завершанае рукапоцісканне і інтэрфейс для маршрутызацыі. Толькі апошняя частка патрабуе працоўнай сеткі, таму першыя дзве могуць выглядаць паспяхова пры выключаным радыё.
Такім чынам, індыкатар адпавядае прынамсі тром розным сітуацыям: канала ўверх няма зусім, канал уверх не дасягае канчатковай кропкі, і канал уверх дасягае яе, але аўтэнтыфікацыя не ўдаецца. На экране яны выглядаюць аднолькава, а ў журнале — цалкам па-рознаму. Таму першы карысны артэфакт у любым з гэтых выпадкаў — журнал, а не чарговая спроба.
Уласная дакументацыя Android па VPN праводзіць тую ж мяжу паміж усталяваннем злучэння і асобнымі палітыкамі пастаяннага ўключэння і блакавання. Менавіта гэтае раздзяленне тлумачыць, чаму тэлефон можа выглядаць абароненым у афлайне і пры гэтым не мець тунеля.
Чатыры станы, якія варта адрозніваць
Чатыры станы ніжэй варта назваць, бо экран паказвае іх аднолькава.
| State | What you will see | What to do |
|---|---|---|
| Airplane mode, Wi-Fi off | No networks in dumpsys, VPN retries forever | Turn Wi-Fi on, or accept that the tunnel cannot exist |
| Wi-Fi on, not associated | Interface exists, no default network | Join the access point |
| Associated, not validated | Network listed, captive-portal flag set | Complete the portal sign-in, then reconnect |
| Validated, tunnel down | Internet works, VPN fails or blocks | Debug the tunnel, not the radio |
Трэці радок ловіць большасць людзей у гатэлях і аэрапортах. Асацыяцыя — яшчэ не допуск: партал, які не прапусціў тэлефон, з задавальненнем прыме пароль Wi-Fi, а затым адмовіцца прапускаць трафік да канчатковай кропкі VPN. Увайсці спачатку праз браўзер, пакуль тунель выключаны, звычайна адзіны шлях.
Чаму блакаванне робіць выгляд горшым
Калі адначасова ўключаны пастаянны VPN і блакаванне злучэнняў без VPN, кожная ахопленая праграма блакуецца, калі тунель не ўзняты. Гэта праца функцыі, а не другая паломка. Сімптом мяняецца з адмовы адной праграмы на адмову ўсяго, што чытаецца як куды большая праблема.
Гэта таксама тлумачыць паслядоўнасць, якую людзі чытаюць няправільна: рэжым палёту ўключаны, канала ўверх няма, праграмы заблакаваныя, VPN кажа connecting. Блакаванне было выкананнем палітыкі. Выключэнне палітыкі, каб праверыць канал уверх, здымае абарону, якую вы, верагодна, хацелі, і нічога вам не дае.
Замест гэтага праверце ахоп. Якія праграмы ахоплены, якія выключаны, і ці профіль на карыстальніка, ці на ўсю прыладу. Задача, якая запускае VPN-праграму, як толькі з'яўляецца Wi-Fi, — гэта трыгер, а не гарантыя, што ніводны пакет не выйшаў да яе запуску.
Парадак дыягностыкі, які спыняе здагадкі
Ідзіце знізу ўверх. Пацвердзіце рэжым, пацвердзіце наяўнасць сеткі, пацвердзіце яе праверку, пацвердзіце, што яна дасягае чагосьці па-за лакальнай падсеткай, і толькі потым глядзіце на кліент. adb shell ping -c 3 1.1.1.1 — грубы тэст, але ён аддзяляе адсутны шлях ад шляху, які існуе, пакуль тунель незадаволены.
Калі ping не ўдаецца, а сетка пералічаная, праблема знаходзіцца вышэй за VPN, і ніводзін параметр кліента яе не выправіць. Калі ping удаецца, а тунель усё яшчэ не ўсталёўваецца, захапіце журнал кліента ў гэты момант: памылка адрозніць тайм-аўт ад адмовы ў аўтэнтыфікацыі, а гэтыя дзве рэчы не маюць нічога агульнага.
Завяршыце аднаўленнем патрэбнага стану: Wi-Fi дазволены ў рэжыме палёту, калі гэта ваша звычайная налада, партал пройдзены, палітыка блакавання зноў уключана. Затым адзін раз перападлучыцеся і пацвердзіце, што тунель узнімаецца сам, бо канфігурацыя, якая працуе толькі пасля ручных паўтораў, зноў адмовіць пры наступнай загрузцы.