Internet radi samo s VPN aplikacijom? Provjerite četiri sloja
Na Windowsu VPN aplikacija ostavlja proxy, virtualni adapter, rute i DNS. Prođite četiri sloja, s Linux i macOS naredbama za svaki.
Isprobate besplatni VPN klijent ili proširenje preglednika tjedan dana, isključite ga, i internet stane. Ikona Wi-Fi i dalje pokazuje vezu, drugi uređaji na istom routeru rade, a jedino što vraća pregledavanje je ponovno uključivanje aplikacije ili njeno uklanjanje. Taj obrazac nije enkripcija koja stvara ovisnost. To je konfiguracija koju je aplikacija zapisala negdje gdje tunel njome ne upravlja.
Klijent mijenja postavke kojima tunel ne upravlja
Klijent za privatnost na Windowsu ili macOS-u obično dira tri mjesta odjednom. Postavlja sistemski HTTP proxy, isto polje koje izlaže Internet Options. Instalira virtualni adapter, često TAP driver, kako bi mogao hvatati pakete. I prepisuje popis resolvera, dok pri pritisku na odspajanje nestaje samo tunel.
Proširenje preglednika je uža stvar. Obično mijenja vlastiti profil ili proxy koji slijedi jedan preglednik. Zato jedan preglednik može prestati raditi dok alatke naredbenog retka rade, ili obrnuto: proširenje nikada nije imalo ovlast dirati ostale slojeve. Koji je sloj uredilo, odlučuje koje će se alatke pokvariti.
U svakom slučaju, zastarjelu odluku donio je softver koji nije imao razloga poništiti je. Tunel je bio vidljivi dio i jedini dio s čistim putem zaustavljanja. Sve ostalo je postavka u spremištu koje nadživi proces, pa je uklanjanje aplikacije jedini korak koji poništava sva tri odjednom. Čitanje tih spremišta prije bilo kakve reinstalacije pretvara simptom u dijagnozu.
Tri ostatka, tri različita kvara
Prvi ostatak je proxy koji ne vodi nikamo: kvadratić LAN proxyja još je označen, ili URL skripte konfiguracije pokazuje na localhost port na kojem više nijedan proces ne sluša. Preglednik prosljeđuje svaki zahtjev tom mrtvom portu i čeka dok istek vremena ne izgleda kao mrtva mreža. Drugi je adapter koji još drži zadanu rutu, jer TAP-Windows uređaj ili proizvođačev driver usmjeravanja ostaje stvarno sučelje nakon uklanjanja. Zadržava rutu koju je dobio, a promet nestaje u tunelu kojeg nema. Nijedan ostatak se ne najavljuje; oba izgledaju točno kao ispad.
Treći je DNS, i otkazuje ranije od ostalih dvaju. Ako popis resolvera sadrži samo poslužitelje dostupne kroz tunel, svako traženje istekne prije nego što je zatražena ijedna stranica, pa preglednik prijavljuje nedostupno site, a ne mrtav proxy. Koji god da imate, nijedan nije ispad u mrežnom smislu. Svaki je ostatak koji nitko nije opozvao, i svaki se popravlja na drugom mjestu.
Prođite četiri sloja
Počnite najbliže aplikaciji i idite prema dolje, jer slojevi otkazuju tim redom vidljivosti. Mijenjajte jedan sloj po testu i provjerite nakon svakog. Resetiranje svega odjednom obično vrati pregledavanje i ostavi vas bez odgovora koji je ostatak bio uzrok, pa sljedeća instalacija stvara istu zagonetku. Redoslijed je proxy, adapteri, rute, resolveri.
Na Windowsu je svaka provjera jedna naredba koja dolazi sa sustavom, pa ništa ne treba instalirati. Pokrenite ih redom i držite izlaz zajedno, jer četiri odgovora imaju smisla samo jedan uz drugi. Prijavljuju proxy, adaptere, IPv4 rute i popis resolvera, tim redom:
netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddressLinux i macOS trebaju vlastite naredbe i nisu zamjenjive. Na Linuxu rute dolaze iz ip route, a resolver iz resolvectl status gdje njime upravlja systemd-resolved, uz povratak na cat /etc/resolv.conf. Na macOS-u rute dolaze iz netstat -rn, resolveri iz scutil --dns, a sistemski proxy iz scutil --proxy. Čitatelj na macOS-u koji pokrene ip route dobit će command not found, a /etc/resolv.conf tamo je generirani stub, a ne autoritativna konfiguracija. Provjerite platformu prije sloja, inače prva naredba postaje nalaz.
Za svaki sloj postavite jedno pitanje: pokazuje li ta vrijednost još na nešto što postoji dok je aplikacija zatvorena? Proxy na mrtvom portu, adapter bez tunela, zadana ruta kroz isključeno sučelje i resolver unutar tunela svi odgovaraju ne. Bilo koje jedno ne dovoljno je da objasni simptom, zato je važna jedna promjena po testu.
Proxy nije tunel
Proxy prihvaća zahtjev, dohvaća ga drugdje i vraća odgovor, što znači da zna odredište i vidi sve što site nije sam šifrirao. Ne prenosi druge protokole. Ne štiti put osim ako odredište već koristi TLS. I može ga promijeniti sve što ga je instaliralo, bez vašeg sudjelovanja.
Ta razlika mijenja pitanje koje vrijedi postaviti. Kad proxy ostane, otkrijte koja programska oprema još usmjerava vaš preglednik, a ne je li tunel podignut. Tunel može biti posve zdrav i posve nevažan za kvar.
Ako želite znati što je takav klijent stvarno učinio, promatrajte ga umjesto da čitate njegovu nadzornu ploču. Process Monitor bilježi koje ključeve registra i datoteke dira, a hvatanje paketa otkriva kamo je otišao njegov promet. Oboje su obične alatke, i oboje bolje odgovaraju na pitanje o ostatku od bilo kojeg indikatora stanja. Nijedno ne zahtijeva da aplikacija još radi.
Uklonite komponentu, ne dokaz
Trajno rješenje je ukloniti stvar koja je zapisala postavku. Deinstalirajte aplikaciju, izbrišite virtualni adapter koji je dodala, očistite proxy i popis resolvera, zatim ponovno pokrenite i testirajte dok je aplikacija još deinstalirana. Ako pregledavanje tada radi, pronašli ste uzrok, a ne zaobilazno rješenje. Zabilježite koji je sloj bio zastario, jer isti proizvođač obično dvaput isporuči istu grešku.
Ako se simptom vrati nakon instalacije sljedećeg klijenta, prođite četiri sloja ponovno prije nego zaključite da je usluga nešto pokvarila. Dokaz je obično još tamo, na jednom od četiri mjesta. Druga aplikacija ne stvara peti sloj; ona mijenja jedan od četiri.
Reinstalacija resetira proxy, ali ne zastarjeli adapter, i može ostaviti dva resolvera na popisu. Ta asimetrija je razlog zašto deinstaliraj-pa-testiraj pobjeđuje gumb za potpuni reset. Daje vam i osnovicu za usporedbu sljedeći put kad veza padne.