Вы спрабуеце бясплатны VPN-кліент або пашырэнне браўзера на працягу тыдня, выключаеце яго, і інтэрнэт спыняецца. Значок Wi-Fi па-ранейшаму паказвае злучэнне, іншыя прылады на тым жа роўтары працуюць, і адзінае, што вяртае агляданне, — гэта зноў уключыць дадатак або выдаліць яго. Гэтая карціна не ёсць шыфраваннем, якое стварае залежнасць. Гэта канфігурацыя, якую дадатак запісаў там, дзе тунель не гаспадар.

Кліент змяняе налады, якія не належаць тунелю

Кліент прыватнасці ў Windows або macOS звычайна закранае тры месцы адначасова. Ён выстаўляе сістэмны HTTP-проксі — тое ж поле, якое паказвае Internet Options. Ён устанаўлівае віртуальны адаптар, часта драйвер TAP, каб перахопліваць пакеты. І ён перапісвае спіс распазнавальнікаў, пры гэтым пры націску «адключыць» знікае толькі тунель.

Пашырэнне браўзера — рэч вузейшая. Яно звычайна змяняе свой уласны профіль або проксі, якому ідзе адзін браўзер. Таму адзін браўзер можа не працаваць, пакуль інструменты каманднага радка працуюць, або наадварот: пашырэнне ніколі не мела паўнамоцтваў закранаць іншыя ўзроўні. Які ўзровень яно змяніла, тое і вырашае, якія інструменты зламаюцца.

У любым выпадку састарэлае рашэнне прыняла праграма, якая не мела прычын яго адмяняць. Тунель быў бачнай часткай, і ён жа быў адзінай часткай з чыстым шляхам закрыцця. Усё астатняе — налада ў сховішчы, якое жыве даўжэй за працэс, таму выдаленне дадатка — адзіны крок, які адмяняе ўсе тры адразу. Чытанне гэтых сховішчаў перад любой пераўстаноўкай — вось што ператварае сімптом у дыягназ.

Тры рэшткі, тры розныя збоі

Першая рэштка — проксі, які паказвае ў нікуды: скрынка проксі лакальнай сеткі ўсё яшчэ адзначана, альбо URL скрыпта канфігурацыі накіраваны на порт localhost, дзе ўжо ніхто не слухае. Браўзер перасылае кожны запыт на гэты мёртвы порт і чакае, пакуль тайм-аўт не стане падобным на мёртвую сетку. Другая — адаптар, які ўсё яшчэ валодае маршрутам па змаўчанні, бо прылада TAP-Windows або драйвер маршрутызацыі ад пастаўшчыка застаецца рэальным інтэрфейсам пасля выдалення. Ён трымае маршрут, які яму далі, і трафік знікае ў тунелі, якога няма. Ні адна рэштка не абвяшчае пра сябе; абедзве выглядаюць дакладна як аварыя.

Трэцяя — DNS, і яна здае раней за дзве іншыя. Калі спіс распазнавальнікаў змяшчае толькі серверы, дасяжныя праз тунель, кожны запыт сканчваецца тайм-аўтам перш чым запытаюць хоць адну старонку, таму браўзер паведамляе пра недасяжны сайт, а не пра мёртвы проксі. Якая б у вас ні была, ні адна не з'яўляецца аварыяй у сэнсе сеткі. Кожная — рэштка, якую ніхто не адклікаў, і кожная выпраўляецца ў іншым месцы.

Прайдзіце чатыры ўзроўні па парадку

Пачніце найбліжэй да праграмы і рухайцеся ўніз, бо ўзроўні здаюць менавіта ў гэтым парадку бачнасці. Змяняйце адзін узровень за тэст і паўтарайце тэст пасля кожнага. Скід усё адразу звычайна вяртае агляданне і пакідае вас без магчымасці сказаць, якая рэштка прычыніла праблему, таму наступная ўстаноўка стварае тую ж галаваломку. Парадак такі: проксі, адаптары, маршруты, распазнавальнікі.

У Windows кожная праверка — адна каманда, якая ідзе з аперацыйнай сістэмай, таму нічога не трэба ўсталёўваць. Запусціце іх па парадку і трымайце вывад разам, бо чатыры адказы маюць сэнс толькі побач. Яны паведамляюць пра проксі, адаптары, маршруты IPv4 і спіс распазнавальнікаў, менавіта ў гэтым парадку:

netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress

Linux і macOS патрабуюць уласных каманд, і яны не ўзаемазаменныя. У Linux маршруты бяруцца з ip route, а распазнавальнік — з resolvectl status там, дзе ім валодае systemd-resolved, з адказам на cat /etc/resolv.conf. У macOS маршруты бяруцца з netstat -rn, распазнавальнікі з scutil --dns, а сістэмны проксі з scutil --proxy. Чытач macOS, які запусціць ip route, атрымае command not found, а /etc/resolv.conf там — згенераваная заглушка, а не аўтарытэтная канфігурацыя. Праверце платформу раней за ўзровень, інакш першая каманда стане высновай.

Для кожнага ўзроўню задайце адно пытанне: ці гэта значэнне ўсё яшчэ паказвае на нешта існае, пакуль дадатак закрыты? Проксі на мёртвым порце, адаптар без тунеля, маршрут па змаўчанні праз непрацуючы інтэрфейс і распазнавальнік унутры тунеля — усе адказваюць «не». Любое адно «не» дастаткова, каб растлумачыць сімптом, таму адна змена за тэст і мае значэнне.

Проксі — гэта не тунель

Проксі прымае запыт, дастае яго ў іншым месцы і вяртае адказ, гэта значыць ведае прызначэнне і бачыць усё, што сайт сам не зашыфраваў. Ён не нясе іншыя пратаколы. Ён не абараняе шлях, калі прызначэнне ўжо не выкарыстоўвае TLS. І яго можа змяніць кожны, хто яго ўсталяваў, без вашага ўдзелу.

Гэтае адрозненне змяняе пытанне, якое варта задаць. Калі проксі застаўся, высветліце, якая праграма ўсё яшчэ кіруе вашым браўзерам, а не ці ўзняты тунель. Тунель можа быць цалкам здаровым і цалкам не датычыцца збою.

Калі вы хочаце ведаць, што такі кліент насамрэч зрабіў, назірайце за ім, а не чытайце яго панэль. Process Monitor запісвае, якія ключы рэестра і файлы ён закранае, а перахоп пакетаў паказвае, куды пайшоў яго трафік. Абодва — звычайныя інструменты, і абодва адказваюць на пытанне пра рэшткі лепш за любы індыкатар стану. Ні адзін не патрабуе, каб дадатак яшчэ працаваў.

Выдаліце кампанент, а не доказы

Трывалае рашэнне — выдаліць тое, што запісала наладу. Выдаліце дадатак, выдаліце віртуальны адаптар, які ён дадаў, ачысціце проксі і спіс распазнавальнікаў, затым перазагрузіцеся і праверце, пакуль дадатак усё яшчэ не ўсталяваны. Калі ў гэты момант агляданне працуе, вы знайшлі прычыну, а не абыходны шлях. Запішыце, які ўзровень быў састарэлым, бо той жа пастаўшчык схільны паўтарыць тую ж памылку двойчы.

Калі сімптом вернецца пасля ўстаноўкі наступнага кліента, прайдзіце чатыры ўзроўні зноў, перш чым вырашыць, што сэрвіс нешта зламаў. Доказы звычайна ўсё яшчэ там, у адным з чатырох месцаў. Другая праграма не стварае пяты ўзровень; яна змяняе адзін з чатырох.

Пераўстаноўка скідвае проксі, але не стары адаптар, і можа пакінуць два распазнавальнікі ў спісе. Гэтая асіметрыя — прычына, чаму «спачатку выдалі, потым правер» лепш за кнопку «скінуць усё». Яна таксама дае базавую лінію для параўнання наступным разам, калі злучэнне ўпадзе.

Падобныя артыкулы