Toimiiko internet vain VPN-sovelluksen kanssa? Tarkista neljä kerrosta
Välityspalvelin, sovitin, reitit ja DNS pettävät kukin erikseen. Muuta yhtä kerrosta kerrallaan, jotta tiedät mikä jäänne katkaisi selailun.
Kokeilet ilmaista VPN-asiakasohjelmaa tai selainlaajennusta viikon, kytket sen pois päältä, ja internet lakkaa toimimasta. Wi-Fi-kuvake näyttää yhä yhteyttä, saman reitittimen muut laitteet toimivat, ja ainoa mikä palauttaa selailun, on sovelluksen ottaminen uudelleen käyttöön tai sen poistaminen. Tämä kuvio ei ole salauksen luoma riippuvuus. Se on asetuksia, jotka sovellus kirjoitti jonnekin, mitä tunneli ei omista.
Asiakasohjelma muokkaa asetuksia, joita tunneli ei omista
Yksityisyysasiakasohjelma Windowsissa tai macOS:ssä koskettaa yleensä kolmea paikkaa kerralla. Se asettaa järjestelmän HTTP-välityspalvelimen, saman kentän, jonka Internet Options näyttää. Se asentaa virtuaalisen sovittimen, usein TAP-ajurin, jotta voi kaapata paketteja. Ja se kirjoittaa uudelleen nimipalvelinluettelon, vaikka irtikytkentää painettaessa katoaa vain tunneli.
Selainlaajennus on suppeampi asia. Se muuttaa tavallisesti omaa profiiliaan tai välityspalvelinta, jota yksi selain noudattaa. Siksi yksi selain voi epäonnistua, kun komentorivityökalut toimivat, tai päinvastoin: laajennuksella ei koskaan ollut valtaa koskea muihin kerroksiin. Se, mitä kerrosta se muokkasi, ratkaisee, mitkä työkalut hajoavat.
Kummassakin tapauksessa vanhentuneen päätöksen teki ohjelmisto, jolla ei ollut syytä peruuttaa sitä. Tunneli oli näkyvä osa, ja se oli myös ainoa osa, jolla oli siisti sammutuspolku. Kaikki muu on asetus tallenteessa, joka elää prosessia pidempään, joten sovelluksen poistaminen on ainoa askel, joka kumoaa kaikki kolme kerralla. Noiden tallenteiden lukeminen ennen uudelleenasennusta on se, mikä muuttaa oireen diagnoosiksi.
Kolme jäännettä, kolme eri vikaa
Ensimmäinen jäänne on välityspalvelin, joka osoittaa tyhjään: LAN-välityspalvelin on yhä valittuna, tai asetusskriptin osoite osoittaa localhost-porttiin, jossa mikään prosessi ei enää kuuntele. Selain lähettää jokaisen pyynnön sille kuolleelle portille ja jumittuu, kunnes aikakatkaisu näyttää kuolleelta verkolta. Toinen on sovitin, joka omistaa yhä oletusreitin, koska TAP-Windows-laite tai toimittajan reititysajuri pysyy todellisena rajapintana asennuksen poistamisen jälkeen. Se pitää sille annetun reitin, ja liikenne katoaa tunneliin, jota ei ole. Kumpikaan jäänne ei ilmoita itsestään; molemmat näyttävät täsmälleen katkokselta.
Kolmas on DNS, ja se epäonnistuu aikaisemmin kuin kaksi muuta. Jos nimipalvelinluettelossa on vain tunnelin kautta tavoitettavia palvelimia, jokainen kysely aikakatkaistaan ennen kuin yhtäkään sivua pyydetään, joten selain ilmoittaa saavuttamattomasta sivustosta eikä kuolleesta välityspalvelimesta. Mikä niistä sinulla onkaan, mikään ei ole verkon mielessä katkos. Jokainen on jäänne, jota kukaan ei peruuttanut, ja jokainen korjataan eri paikassa.
Käy neljä kerrosta läpi
Aloita sovellusta lähimpänä olevasta ja etene alaspäin, koska kerrokset epäonnistuvat siinä näkyvyysjärjestyksessä. Muuta yhtä kerrosta kerrallaan ja testaa uudelleen jokaisen jälkeen. Kaiken kerralla nollaaminen palauttaa yleensä selailun ja jättää sinut kykenemättömäksi sanomaan, mikä jäänne sen aiheutti, joten seuraava asennus luo saman pulman uudelleen. Järjestys on välityspalvelin, sovittimet, reitit, nimipalvelimet.
Windowsissa jokainen tarkistus on yksi komento, joka tulee käyttöjärjestelmän mukana, joten mitään ei tarvitse asentaa. Aja ne järjestyksessä ja pidä tuloste yhdessä, koska neljä vastausta ovat järkeviä vain rinnakkain. Ne raportoivat välityspalvelimen, sovittimet, IPv4-reitit ja nimipalvelinluettelon tässä järjestyksessä:
netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress
Linux ja macOS tarvitsevat omat komentonsa, eivätkä ne ole keskenään vaihdettavissa. Linuxissa reitit tulevat komennosta ip route ja nimipalvelimet komennosta resolvectl status silloin, kun systemd-resolved omistaa ne, ja varalla cat /etc/resolv.conf. macOS:ssä reitit tulevat komennosta netstat -rn, nimipalvelimet komennosta scutil --dns ja järjestelmän välityspalvelin komennosta scutil --proxy. macOS-lukija, joka ajaa ip route, saa vastauksen command not found, ja siellä /etc/resolv.conf on luotu tynkä eikä arvovaltainen asetus. Tarkista alusta ennen kerrosta, tai ensimmäisestä komennosta tulee löydös.
Kysy jokaiselta kerrokselta yksi kysymys: osoittaako tämä arvo yhä johonkin, joka on olemassa sovelluksen ollessa suljettu? Välityspalvelin kuolleessa portissa, sovitin ilman tunnelia, oletusreitti alas olevan rajapinnan kautta ja nimipalvelin tunnelin sisällä vastaavat kaikki ei. Mikä tahansa yksittäinen ei riittää selittämään oireen, minkä vuoksi yksi muutos per testi on tärkeä.
Välityspalvelin ei ole tunneli
Välityspalvelin ottaa pyynnön vastaan, hakee sen muualla ja palauttaa vastauksen, eli se tuntee kohteen ja näkee kaiken, mitä sivusto ei itse salannut. Se ei kuljeta muita protokollia. Se ei suojaa polkua, ellei kohde jo käytä TLS:ää. Ja mikä tahansa sen asentanut voi muuttaa sitä ilman sinun osallisuuttasi.
Tämä ero muuttaa kysymystä, jota kannattaa kysyä. Kun välityspalvelin on jäänyt jäljelle, selvitä mikä ohjelma yhä ohjaa selaintasi sen sijaan, että kysyisit onko tunneli ylhäällä. Tunneli voi olla täysin kunnossa ja täysin merkityksetön vian kannalta.
Jos haluat tietää, mitä tällainen asiakasohjelma todella teki, tarkkaile sitä sen kojelaudan lukemisen sijaan. Process Monitor tallentaa, mitä rekisteriavaimia ja tiedostoja se koskettaa, kun taas pakettikaappaus paljastaa, minne sen liikenne meni. Molemmat ovat tavallisia työkaluja ja molemmat vastaavat jäännekysymykseen paremmin kuin mikään tilavaloo. Kumpikaan ei vaadi sovelluksen olevan yhä käynnissä.
Poista osa, älä todisteita
Kestävä korjaus on poistaa se, mikä asetuksen kirjoitti. Poista sovellus, poista sen lisäämä virtuaalisovitin, tyhjennä välityspalvelin ja nimipalvelinluettelo, käynnistä sitten uudelleen ja testaa sovelluksen ollessa yhä asentamatta. Jos selailu toimii siinä vaiheessa, olet löytänyt syyn etkä kiertotietä. Kirjaa muistiin, mikä kerros oli vanhentunut, koska sama toimittaja tapaa toimittaa saman virheen kahdesti.
Jos oire palaa seuraavan asiakasohjelman asennuksen jälkeen, käy neljä kerrosta uudelleen läpi ennen kuin päättelet palvelun rikkoneen jotain. Todisteet ovat yleensä yhä jossakin niistä neljästä paikasta. Toinen sovellus ei luo viidettä kerrosta; se muokkaa yhtä niistä neljästä.
Uudelleenasennus nollaa välityspalvelimen mutta ei vanhentunutta sovitinta, ja se voi jättää luetteloon kaksi nimipalvelinta. Tämä epäsymmetria on syy siihen, miksi poista ja testaa -tapa voittaa nollaa kaikki -painikkeen. Se antaa myös perustason, johon verrata seuraavan kerran yhteyden katketessa.