General failure pri pingovaní adresy LAN so zapnutým klientom VPN
Windows hlási, že sa vôbec nedostane k žiadnemu adaptéru, hoci smerovacia tabuľka vyzerá správne. Určte, či blokovanie spôsobuje smerovanie, filtrovanie alebo klient.
Jedna hostiteľská trasa, jedna adresa a ping hneď zlyhá s General failure namiesto toho, aby požiadavka vypršala. Práve tento rozdiel je celá diagnóza. Vypršanie znamená, že paket odišiel a niečo ho ignorovalo. General failure znamená, že Windows nedokázal paket vôbec odovzdať žiadnemu rozhraniu.
Keď teda smerovacia tabuľka vyzerá dokonale a chyba je stále General failure, blokovanie prebieha pod rozhodnutím o smerovaní a klient poskytovateľa je to, čo tam pôsobí.
Prečítajte chybu skôr než smerovaciu tabuľku
Windows túto chybu vracia, keď nenájde rozhranie na odoslanie, a nehovorí nič o tom, čo by s paketom urobil cieľ. Dostupnosť, firewally na vzdialenej strane a dostupnosť služby sú všetko neskoršie otázky, ku ktorým ste sa ešte nedostali.
Klasickou konfiguráciou pre tento prípad je hostiteľská trasa, ktorá smeruje jednu adresu LAN na fyzickú bránu, aby obišla tunel. route add ju prijme, route print ju zobrazí a ping napriek tomu zlyhá, pretože filter ovládača už rozhodol, že paket nesmie von.
Skôr než toto vysvetlenie prijmete, overte, že sa trasa skutočne vyberá: skontrolujte index rozhrania a metriku a uistite sa, že záznam nie je po opätovnom pripojení zastaraný. Trasa, ktorá ukazuje na rozhranie, ktoré už neexistuje, dáva podobnú chybu z oveľa menej zaujímavého dôvodu.
Tri vrstvy, traja rôzni vlastníci
Vyhráva vrstva, ktorá beží posledná, a tieto tri nie sú v poradí, aké väčšina predpokladá.
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
Stredná vrstva je dôvod, prečo môže byť trasa súčasne správna aj zbytočná. Klienti poskytovateľov inštalujú filter a pravidlá firewallu, aby sa prevádzka mimo tunela zahadzovala, a je to ten istý mechanizmus, ktorý realizuje ich kill switch. Na tomto rozhodnutí sa nič zo smerovacej tabuľky nepodieľa.
Tretia vrstva vysvetľuje zvláštne hlásenie, ktoré prichádza pravidelne: miestna podsprevodová sieť je nedostupná aj po odpojení klienta. Služba stále beží a filter je stále nainštalovaný, takže nebyť pripojený nie je to isté ako nefiltrovať. Pred akýmkoľvek záverom z klienta úplne vystúpte, namiesto toho, aby ste ho len odpojili.
Čo vyskúšať, v poradí
Začnite odstránením funkcií, ktoré sa lacno odstránia a ľahko obnovia. Zisťovanie v LAN, niekedy nazývané neviditeľnosť v LAN, blokuje prevádzku do rozsahov privátnych adries, aby stroj zostal pred susedmi skrytý. Tlačiarne, miestne súborové servery aj samotný router za týmto prepínačom miznú. Funkcie ochrany pred hrozbami, ktoré filtrujú DNS, inštalujú vlastné háčiky a podľa správ narúšajú miestnu dostupnosť veľmi podobným spôsobom.
Vypnite obe, úplne ukončite klienta a potom adresu otestujte. Táto postupnosť oddelí funkciu, ktorá prevádzku blokuje, od tunela, ktorý ju smeruje zle, a zaberie dve minúty namiesto popoludnia so statickými trasami.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Ak adresa po vypnutí funkcií odpovie, máte rozhodnutie o politike, nie poruchu: vyberte si medzi ponechaním funkcie vypnutej, pridaním výnimky alebo prijatím toho, že stroj zostane v miestnej sieti neviditeľný.
Použite výnimku klienta, úzko
Keď funkcia musí zostať zapnutá, podporovaným východiskom je vlastné rozdelené tunelovanie klienta. Držte výnimku takú malú, ako požiadavka dovolí, čo zvyčajne znamená jednu adresu hostiteľa pre jeden server alebo jeden prefix pre jediný segment. Pravidlo pokrývajúce celý privátny rozsah je trvalá diera, o ktorej si nikto nespomenie, že ju pridal, a ktorú sa nikto neodváži odstrániť.
Potom overujte najprv podľa adresy a až potom podľa mena. Ak adresa odpovie s prvým skokom na fyzickej bráne, výnimka funguje. Ak meno stále zlyháva, presunuli ste sa k DNS, pretože resolver tunela miestnu zónu nepozná a žiadna zmena smerovania ho to nenaučí.
Ponechajte trasu alebo výnimku, nie oboje, plus poznámku o tom, ktorá robí prácu. Dva prekrývajúce sa mechanizmy sa navzájom skrývajú a nasledujúci človek, ktorý bude tento stroj ladiť, jeden z nich odstráni a neuvidí žiadnu zmenu.
Keď je prekážkou klient
Niektoré zostavenia filtrujú prevádzku tak, že ju neprekoná statická trasa ani výnimka klienta. Keď je toto zistenie, poctivé možnosti sú počkať na funkciu obchádzania alebo sa pripojiť obyčajným klientom OpenVPN s profilom samotného poskytovateľa, čo odporúčala aj odpoveď podpory výrobcu v pôvodnej správe.
Pochopte kompromis, kým túto náhradu vykonáte. Obyčajný profil sa správa ako každý bežný tunel: nainštaluje svoje trasy a neprestavuje zvyšok zásobníka, takže úzka hostiteľská trasa sa stále správa podľa očakávania. O to prídete: všetko, čo značkový klient okolo tunela implementoval, vrátane kill switch a filtrovania DNS, a to treba zámerne reprodukovať alebo prijať ako chýbajúce.
Čokoľvek si vyberiete, poznamenajte si, ktorá vrstva blokovanie vlastnila. Paket, ktorý stroj nikdy neopustil, je výsledkom filtra a žiadna zmena smerovania filter neopraví.