VPN-fejl 10051: din rute, ikke din adgangskode
WSAENETUNREACH beskriver en socket-handling, der ikke fandt nogen netværksvej. Kontroller endepunktet, adressefamilien og den valgte rute, før du rører ved tilliden.
En Windows-tunnel fejler, og loggen tilbyder nummeret 10051. Det er WSAENETUNREACH, som rapporteres, når en socket-handling ikke finder nogen brugbar vej til destinationen. Det er ikke en afvist adgangskode, et udløbet certifikat eller bevis for, at serveren har set en tunnelpakke og afvist den.
To forskellige handlinger kan frembringe det i samme session. De betyder forskellige ting og tilhører forskellige ejere.
Hvad koden rapporterer, og hvad den ikke gør
Fejlen beskriver en lokal beslutning: stakken kunne ikke finde en rute til den ønskede destination, så handlingen forlod aldrig maskinen. Det er en udtalelse om vejen, ikke om modpartens mening om dine legitimationsoplysninger. At læse det som en godkendelsesfejl sender dig i certifikatlagre og kontogendannelser for et problem, de ikke kan forårsage. Koden siger heller intet om, hvorvidt en firewall længere nede ville have tilladt pakken, fordi ingen pakke blev sendt.
Behold de omkringliggende loglinjer, når du registrerer det. Nummeret alene mister destinationen, transporten og øjeblikket, og de tre fakta er det, der gør posten fortolkelig en uge senere.
Hvilken handling fejlede, og hvornår
En fejl, mens klienten rækker efter VPN'ens ydre endepunkt, er et andet tilfælde end en applikationsfejl, efter tunnelen er etableret. I det første mangler transportvejen til serveren eller er blevet fjernet. I det andet findes tunnelen, og noget inde i den kan ikke opløse eller ruteføre den destination, du bad om. Samme kode, andet lag, anden ejer. Tidsstemplet i forhold til forbindelsesforsøget afgør normalt, hvilken du har.
Citér den fejlende handling i stedet for kun fejlen: forbindelse til hvilken adresse, over hvilken transport og på hvilket punkt i sekvensen. Netop den formulering gør det muligt for en anden person at genskabe beslutningen.
Sammenlign endepunktet og adressefamilien
Registrér den opløste destination, transporten og porten. Hvis navnet returnerer både en IPv4- og en IPv6-adresse, forklarer en fungerende IPv4-kontrol intet om et mislykket IPv6-forsøg. Klienten forsøger måske den familie, du aldrig har testet, og at tvinge den anden familie ændrer eksperimentet i stedet for at rette det.
Resolve-DnsName vpn.example.net -Type A,AAAA
Find-NetRoute -RemoteIPAddress 198.51.100.62
Get-NetConnectionProfile
Ruteanmodningen returnerer den bedste lokale adresse og rute for den destination i den aktuelle tilstand, så kør den, mens fejlen er til stede. En afbrudt adapter, et ændret netværk eller en uventet rute ser alle anderledes ud, efter alt er nulstillet. En anden aktiv tunnel kan også opsnappe endepunktsvejen, hvilket giver denne kode for én klient og ikke for den anden.
Husk, hvad et rutesvar er: én lokal beslutning, ikke tilladelse til at sende. Det kan ikke fortælle dig, om en firewall ville acceptere datagrammet, eller om noget lytter i den fjerne ende.
Andre socket-fejl og overdragelsen
Fejl 10054 er en anden rapport, og ved en UDP-modtagelse kan den vise en ICMP-port-uopnåelig, der hører til en tidligere afsendelse. Det er en meddelelse om en bestemt destinationsport, ikke en udtalelse om, at der ikke findes nogen rute, og de to fører til forskellige undersøgelser. At behandle hvert socketnummer som en variation af forbindelse mislykkedes er måden, hvorpå en manglende rute 'repareres' ved at geninstallere en klient.
Den nyttige overdragelse indeholder den præcise kode, den fejlende handling, endepunktet og adressefamilien, den valgte rute og tidspunktet for enhver netværksændring. Ret det påviste vejproblem gennem den, der ejer den konfiguration. Udskiftning af certifikater eller deaktivering af modpartskontrol kan ikke skaffe en rute, der ikke findes, og begge gør den endelige diagnose sværere.