General failure ved ping mot ei LAN-adresse med VPN-klienten på
Windows seier at det ikkje når ein adapter i det heile, medan rutetabellen ser rett ut. Avgjer om blokkeringa er ruting, filtrering eller klienten.
Éi vertsrute, éi adresse, og ping mislukkast med ein gong med General failure i staden for at førespurnaden går ut på tid. Den skilnaden er heile diagnosen. Ein tidsavbrot betyr at pakken forlét maskina og at noko ignorerte han. General failure betyr at Windows ikkje kunne levere pakken til noko grensesnitt i det heile.
Så når rutetabellen ser perfekt ut og feilen framleis er General failure, skjer blokkeringa under rutingsavgjerda, og klienten til leverandøren er det som verkar der.
Les feilen før rutetabellen
Windows returnerer den feilen når det ikkje finn eit grensesnitt å sende på, og det seier ingenting om kva destinasjonen ville ha gjort med pakken. Tilgjenge, brannmurar i den andre enden og tilgjenge på tenesta er alle seinare spørsmål du enno ikkje har nådd.
Den klassiske konfigurasjonen for dette tilfellet er ei vertsrute som peikar éi einskild LAN-adresse mot den fysiske gatewayen, slik at ho går utanom tunnelen. route add godtek ho, route print viser ho, og ping mislukkast framleis, fordi filterdrivaren alt har avgjort at pakken ikkje får gå ut.
Før du godtek den forklaringa, må du stadfeste at ruta faktisk blir vald: kontroller grensesnittindeksen og metrikken, og sjå til at oppføringa ikkje er utdatert etter ei ny tilkopling. Ei rute som peikar på eit grensesnitt som ikkje finst lenger, gjev ein liknande feil av ein mykje mindre interessant grunn.
Tre lag, tre ulike eigarar
Det laget som vinn er det som køyrer sist, og desse tre står ikkje i den rekkjefølgja folk flest reknar med.
| 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 |
Det midtre laget er grunnen til at ei rute kan vere både rett og ubrukeleg samstundes. Leverandørklientar installerer eit filter og brannmurreglar slik at trafikk utanfor tunnelen blir kasta, og det er den same mekanismen som implementerer kill switch-en deira. Ingenting i rutetabellen tek del i den avgjerda.
Det tredje laget forklarer ein merkeleg rapport som kjem regelmessig: det lokale subnettet er utilgjengeleg sjølv etter at klienten er fråkopla. Tenesta køyrer framleis og filteret er framleis installert, så ikkje tilkopla er ikkje det same som ikkje filtrerande. Avslutt klienten i staden for berre å kople han frå før du konkluderer med noko.
Kva du bør prøve, i rekkjefølgje
Byrja med å fjerne funksjonane som er billege å fjerne og enkle å gjenopprette. LAN-oppdaging, stundom kalla usynlegheit på LAN-et, blokkerer trafikk til private adresseområde slik at maskina held seg skjult for naboane. Skrivarar, lokale filtenarar og sjølve rutaren forsvinn bak den brytaren. Trusselvernfunksjonar som filtrerer DNS installerer sine eigne krok og blir rapporterte å bryte lokal tilgjenge på omtrent same måten.
Slå båe av, avslutt klienten heilt og test deretter adressa. Den rekkjefølgja skil ein funksjon som blokkerer trafikk frå ein tunnel som ruter han feil, og ho tek to minutt i staden for ein heil ettermiddag med statiske ruter.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Viss adressa svarar når funksjonane er slått av, har du ei policyavgjerd og ikkje ein feil: vel mellom å la funksjonen vere av, leggje til eit unntak eller godta at maskina blir verande usynleg på det lokale nettet.
Bruk unntaksstien til klienten, snevert
Når ein funksjon må vere på, er den delte tunneleringa til klienten sjølv den støtta vegen ut. Hald unntaket så lite som kravet tillèt, noko som vanlegvis tyder éi vertsadresse for éin tenar eller eitt prefiks for eitt einskilt segment. Ein regel som dekkjer eit heilt privat område er eit permanent hol som ingen vil hugse å ha lagt til og ingen vil våge å fjerne.
Deretter verifiserer du først etter adresse og så etter namn. Viss adressa svarar med første hopp på den fysiske gatewayen, verkar unntaket. Viss namnet framleis feilar, har du flytta deg til DNS, fordi resolvaren til tunnelen ikkje kjenner den lokale sona og inga rutingsendring vil lære han det.
Hald ruta eller unntaket, ikkje båe, pluss eit notat om kva for ei som gjer jobben. To overlappande mekanismar skjuler kvarandre, og den neste som feilsøkjer denne maskina vil fjerne ein av dei og ikkje sjå noka endring.
Når klienten er hindringa
Nokre bygg filtrerer trafikk på måtar som korkje ei statisk rute eller eit klientunntak kan slå. Når det er funnet, er dei ærlege alternativa å vente på omgåingsfunksjonen eller å kople til med ein vanleg OpenVPN-klient med profilen til leverandøren sjølv, som var det leverandøren sitt støttesvar tilrådde i den opphavlege rapporten.
Forstå bytet før du gjer den erstatninga. Ein vanleg profil oppfører seg som kvar vanleg tunnel: han installerar rutene sine og byggjer ikkje om resten av stakken, så ei smal vertsrute oppfører seg framleis slik du ventar. Det du mistar er alt den merka klienten implementerte rundt tunnelen, inkludert kill switch og DNS-filtrering, og det må medvite gjerast på nytt eller godtakast som fråverande.
Uansett kva du vel, noter kva lag som åtte blokkeringa. Ein pakke som aldri forlét maskina er eit filterresultat, og inga rutingsendring kan reparere eit filter.