Интернет работи само со VPN апликацијата? Проверете четири слоја
На Windows, VPN апликацијата остава прокси, виртуелен адаптер, рути и DNS. Поминете низ четирите слоеви, со Linux и macOS командите за секој.
Инсталирате бесплатен VPN клиент или продолжување за прелистувач за една недела, го исклучувате и интернетот престанува. Иконата за Wi-Fi сѐ уште покажува врска, другите уреди на истиот рутер работат, а единственото што го враќа прелистувањето е повторното овозможување на апликацијата или нејзиното деинсталирање. Оваа шема не е шифрирање што создало зависност. Тоа е конфигурација што апликацијата ја запишала некаде каде што тунелот не го контролира.
Клиентот менува поставки што тунелот не ги контролира
Клиент за приватност на Windows или macOS обично допира три места истовремено. Тој го поставува системскиот HTTP прокси, што е истото поле што го прикажуваат Интернет опциите. Инсталира виртуелен адаптер, често TAP-возач, за да може да фаќа пакети. И ја препишува листата на резолвери, додека при притискање на исклучување исчезнува само тунелот.
Продолжувањето за прелистувач е потесна работа. Тоа обично го менува сопствениот профил или проксито што го следи еден прелистувач. Затоа еден прелистувач може да откаже, додека алатките од командната линија продолжуваат да работат, или обратно: продолжувањето никогаш немало овластување да ги допре другите слоеви. Тоа кој слој го уредило одредува кои алатки ќе се расипат.
Како и да е, застарената одлука ја донел софтвер што немал причина да ја врати. Тунелот беше видливиот дел, и тој беше и единствениот дел со чист пат за исклучување. Сѐ друго е поставка во складиште што го надживува процесот, па отстранувањето на апликацијата е единствениот чекор што ги враќа сите три одеднаш. Читањето на тие складишта пред повторно инсталирање е она што го претвора симптомот во дијагноза.
Три остатоци, три различни дефекти
Првиот остаток е прокси што не покажува кон ништо: полето за LAN прокси е сѐ уште штиклирано, или 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 запишува кои клучеви од регистарот и датотеки ги допира, додека фаќањето пакети открива каде отишол неговиот сообраќај. Двете се обични алатки, и двете одговараат на прашањето за остатокот подобро од секоја статусна светилка. Ниту една не бара апликацијата сѐ уште да работи.
Отстранете ја компонентата, не доказот
Трајното решение е да се отстрани она што ја запишало поставката. Деинсталирајте ја апликацијата, избришете го виртуелниот адаптер што го додала, исчистете го проксито и листата на резолвери, потоа рестартирајте и тестирајте додека апликацијата е сѐ уште деинсталирана. Ако прелистувањето работи во тој момент, сте го нашле причината, а не заобиколно решение. Запишете кој слој бил застарен, бидејќи истиот производител има навика двапати да ја испорача истата грешка.
Ако симптомот се врати откако ќе го инсталирате следниот клиент, поминете низ четирите слоеви повторно пред да заклучите дека услугата расипала нешто. Доказот обично е сѐ уште таму, на едно од четирите места. Втора апликација не создава петти слој; таа уредува еден од четирите.
Повторното инсталирање го ресетира проксито, но не и застарен адаптер, и може да остави два резолвери во листата. Таа асиметрија е причината зошто деинсталирање-па-тест е подобро од копче за ресетирање на сѐ. Тоа ви дава и основна линија за споредба следниот пат кога врската ќе падне.