Internet funguje iba s aplikáciou VPN? Skontrolujte štyri vrstvy
V systéme Windows aplikácia VPN zanechá proxy, virtuálny adaptér, trasy a DNS. Prejdite štyri vrstvy s príkazmi pre Linux a macOS.
Vyskúšate bezplatného klienta VPN alebo rozšírenie prehliadača týždeň, vypnete ho a internet prestane. Ikona Wi-Fi stále ukazuje pripojenie, ostatné zariadenia na tom istom routeri fungujú a jediné, čo vráti prehliadanie, je opätovné zapnutie aplikácie alebo jej odinštalovanie. Tento vzor nie je šifrovanie, ktoré vytvára závislosť. Je to konfigurácia, ktorú aplikácia zapísala niekam, kde ju tunel nevlastní.
Klient mení nastavenia, ktoré tunel nevlastní
Klient súkromia v systéme Windows alebo macOS zvyčajne zasahuje na tri miesta naraz. Nastaví systémové HTTP proxy, to isté pole, ktoré zobrazujú Možnosti internetu. Nainštaluje virtuálny adaptér, často ovládač TAP, aby mohol zachytávať pakety. A prepíše zoznam resolverov, pričom po stlačení odpojenia zmizne iba tunel.
Rozšírenie prehliadača je užšia vec. Zvyčajne mení vlastný profil alebo proxy, ktoré nasleduje jeden prehliadač. Preto jeden prehliadač môže prestať fungovať, kým nástroje príkazového riadka fungujú, alebo naopak: rozšírenie nikdy nemalo právomoc zasiahnuť do ostatných vrstiev. Ktorú vrstvu upravilo, rozhoduje o tom, ktoré nástroje sa pokazia.
V každom prípade zastarané rozhodnutie urobil softvér, ktorý nemal dôvod ho zrušiť. Tunel bol viditeľná časť a jediná časť s čistým spôsobom ukončenia. Všetko ostatné je nastavenie v úložisku, ktoré prežije proces, takže odstránenie aplikácie je jediný krok, ktorý zruší všetky tri naraz. Čítanie týchto úložísk pred akoukoľvek preinštaláciou je to, čo mení príznak na diagnózu.
Tri zvyšky, tri rôzne poruchy
Prvý zvyšok je proxy, ktoré nikam nevedie: políčko proxy siete LAN je stále zaškrtnuté alebo URL konfiguračného skriptu mieri na port localhost, kde už žiadny proces nepočúva. Prehliadač posiela každú požiadavku na ten mŕtvy port a zasekne sa, kým časový limit nevyzerá ako mŕtva sieť. Druhý je adaptér, ktorý stále vlastní predvolenú trasu, pretože zariadenie TAP-Windows alebo ovládač smerovania od výrobcu zostáva skutočným rozhraním aj po odinštalovaní. Ponechá si pridelenú trasu a prevádzka zmizne v tuneli, ktorý neexistuje. Žiadny zvyšok sa neohlási; oba vyzerajú presne ako výpadok.
Tretí je DNS a zlyháva skôr ako ostatné dva. Ak zoznam resolverov obsahuje iba servery dostupné cez tunel, každé vyhľadanie vyprší predtým, než sa požiada čo i len jedna stránka, takže prehliadač hlási nedostupnú lokalitu, nie mŕtve proxy. Nech máte ktorýkoľvek, žiadny nie je výpadok v sieťovom zmysle. Každý je zvyšok, ktorý nikto neodvolal, a každý sa opravuje na inom mieste.
Prejdite štyri vrstvy
Začnite najbližšie k aplikácii a postupujte nadol, pretože vrstvy zlyhávajú v tomto poradí viditeľnosti. Meňte jednu vrstvu na test a po každej znova otestujte. Resetovanie všetkého naraz zvyčajne obnoví prehliadanie a nechá vás bez odpovede, ktorý zvyšok to spôsobil, takže ďalšia inštalácia vytvorí tú istú hádanku. Poradie je proxy, adaptéry, trasy, resolvery.
V systéme Windows je každá kontrola jediný príkaz, ktorý je súčasťou systému, takže netreba nič inštalovať. Spustite ich v poradí a uchovajte výstup spolu, pretože štyri odpovede majú zmysel len vedľa seba. Hlásia proxy, adaptéry, trasy IPv4 a zoznam resolverov presne v tomto poradí:
netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddressLinux a macOS potrebujú vlastné príkazy a nie sú zameniteľné. V Linuxe trasy pochádzajú z ip route a resolver z resolvectl status tam, kde ho vlastní systemd-resolved, s návratom k cat /etc/resolv.conf. V macOS trasy pochádzajú z netstat -rn, resolvery zo scutil --dns a systémové proxy zo scutil --proxy. Čitateľ na macOS, ktorý spustí ip route, dostane command not found a /etc/resolv.conf je tam generovaný stub, nie autoritatívna konfigurácia. Skontrolujte platformu pred vrstvou, inak sa prvý príkaz stane zistením.
Pre každú vrstvu položte jednu otázku: ukazuje táto hodnota ešte na niečo, čo existuje, keď je aplikácia zatvorená? Proxy na mŕtvom porte, adaptér bez tunela, predvolená trasa cez vypnuté rozhranie a resolver vnútri tunela všetky odpovedajú nie. Akékoľvek jedno nie stačí na vysvetlenie príznaku, preto je dôležitá jedna zmena na test.
Proxy nie je tunel
Proxy prijme požiadavku, vyzdvihne ju inde a vráti odpoveď, čo znamená, že pozná cieľ a vidí všetko, čo lokalita sama nezašifrovala. Neprenáša iné protokoly. Neochraňuje cestu, ak cieľ už nepoužíva TLS. A môže ho zmeniť čokoľvek, čo ho nainštalovalo, bez vášho pričinenia.
Tento rozdiel mení otázku, ktorú sa oplatí položiť. Keď proxy zostane, zistite, ktorý program ešte riadi váš prehliadač, a nie či je tunel zapnutý. Tunel môže byť úplne zdravý a úplne nepodstatný pre poruchu.
Ak chcete vedieť, čo taký klient skutočne urobil, pozorujte ho, namiesto čítania jeho panelu. Process Monitor zaznamenáva, ktoré kľúče registra a súbory sa dotýka, a zachytávanie paketov ukazuje, kam išla jeho prevádzka. Oba sú bežné nástroje a oba odpovedajú na otázku o zvyšku lepšie ako akákoľvek stavová kontrolka. Ani jeden nevyžaduje, aby aplikácia ešte bežala.
Odstráňte komponent, nie dôkaz
Trvalá oprava je odstrániť vec, ktorá nastavenie zapísala. Odinštalujte aplikáciu, vymažte virtuálny adaptér, ktorý pridala, vyčistite proxy a zoznam resolverov, potom reštartujte a testujte, kým je aplikácia stále odinštalovaná. Ak prehliadanie v tom bode funguje, našli ste príčinu, nie obchádzku. Poznamenajte si, ktorá vrstva bola zastaraná, pretože ten istý dodávateľ zvyčajne dodá tú istú chybu dvakrát.
Ak sa príznak vráti po inštalácii ďalšieho klienta, prejdite štyri vrstvy znova, než sa rozhodnete, že služba niečo pokazila. Dôkaz je zvyčajne stále tam, na jednom zo štyroch miest. Druhá aplikácia nevytvára piatu vrstvu; upravuje jednu zo štyroch.
Preinštalovanie resetuje proxy, ale nie zastaraný adaptér, a môže nechať dva resolvery v zozname. Táto asymetria je dôvod, prečo odinštaluj-a-testuj prekonáva tlačidlo úplného resetu. Dáva vám aj základ pre porovnanie nabudúce, keď spojenie vypadne.