Windows VPN-feilkoder: hvilket trinn feilet, og hva du skal logge
829, 703, 720, 691, 649: hvert tall navngir et trinn, og hvert trinn har sine egne bevis. Registrer ett forsøk, sammenlign gateway-loggen, endre ett lag.
Åpne Windows VPN-dialogen etter en feil, og den gir deg et tall og en setning, der setningen vanligvis er den minst nyttige halvdelen. Tallet angir hvilket trinn i tilkoblingen som feilet, og trinnet avgjør hvilken logg, hvilken innstilling og hvilket team du skal se på neste gang. Å gå gjennom trinnene i rekkefølge tar omtrent ti minutter og forhindrer den kjente sekvensen med å reinstallere adaptere, bytte protokoller og tilbakestille stakken for å fikse en konto som aldri fikk lov til å ringe opp.
Les tallet som et trinn
En opprinnelig tilkobling går gjennom fire milepæler. Den når serveren og etablerer en lenke, forhandler om sikkerhet, autentiserer brukeren og anvender adressering og ruting. En feil i hver av dem etterlater ulike bevis, og en kode som hører til ett trinn sier ingenting nyttig om de andre.
Feilen du må unngå, er å behandle koden som en alvorlighetsgrad. En lenkefeil og en autorisasjonsfeil leses begge som "kunne ikke koble til", og de har ikke noe annet til felles. Alvorlighet sier hvor akutt noe er; trinnet sier hva du skal åpne.
| Code family | Stage | Where the evidence lives |
|---|---|---|
| 829, 703 | Link or dial completion | Client event log, remote listener reachability |
| 720 | PPP negotiation and miniport binding | Adapter state, bindings, client log detail |
| 691, 649, 812 | Identity and authorization | Gateway or authentication server decision |
| Connected, no traffic | Addressing, routing and resolution | Route table and resolver configuration |
Trinn én: lenken og oppringingsforsøket
829 betyr at den underliggende lenken falt. Den sier ikke om motparten sluttet å svare, om en mellomkasse drepte sesjonen, eller om en policy på klienten lukket den. En oppringingsfullføringskode som 703 er enda tidligere: forsøket kom aldri så langt at det fikk en lenke, noe som vanligvis peker på profilen, tjenestestatusen eller en lokal policy.
Get-VpnConnection -Name 'Corp' | Select-Object Name,ServerAddress,TunnelType,AuthenticationMethod,ConnectionStatus
Test-NetConnection -ComputerName vpn.example.net -Port 443
Get-WinEvent -LogName Application -MaxEvents 200 | Where-Object ProviderName -match 'RasClient' | Select-Object -First 15 TimeCreated,Id,Message
Hendelsesspørringen er den delen folk hopper over. En klient-side oppføring med tidsstempel og grensesnittnavn er mer verdt enn dialogen, fordi den sier om forsøket i det hele tatt forlot maskinen. Ingen oppføring og ingen respons fra lytteren er et tilgjengelighetsproblem, og ingen klientredigering endrer det.
Hvis samme profil fungerer på et annet nettverk, stopp her. Koden beskriver en veilstand og ikke en konfigurasjonsfeil, og den neste nyttige sammenligningen er de to opptakene og ikke nok en reinstallering.
Trinn to: PPP og miniport-bindingen
720 ligger mellom lenken og brukeren. Tunnelen kom opp, og deretter kunne ikke PPP-laget forhandle en adresse eller en kontrollprotokoll, noe som ofte er et bindingsproblem på klienten og ikke en avvist legitimasjon. Den forskjellen er hele verdien av koden: den sier at legitimasjonen aldri ble nådd, så kontoen er ikke den mistenkte.
Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'WAN Miniport' | Select-Object Name,Status,ifIndex
Get-NetAdapterBinding | Where-Object ComponentID -match 'ms_pptp|ms_l2tp|ms_sstp|ms_agile' | Select-Object Name,ComponentID,Enabled
Å lese de to utskriftene er mer informativt enn å tilbakestille noe som helst. En miniport som finnes men ikke er startet, eller en protokollbinding som er deaktivert av annen programvare, gir nøyaktig denne trinnfeilen. Begge kan repareres uten å røre resten av stakken. En full tilbakestilling fjerner derimot adressering og filtertilstand som ikke hadde noe med feilen å gjøre.
Trinn tre: identitet og autorisasjon
691 betyr at legitimasjonen ble avvist. 649 betyr at kontoen ikke har tillatelse til å ringe opp, og 812 betyr at en ekstern tilgangspolicy avviste tilkoblingen. Dette er beslutninger, ikke transportfeil, og klienten kan bare rapportere dem.
Bevisene er på den andre siden. Spør gateway-operatøren om forsøket på det tidsstempelet og policyen som passet; spør katalogeiere om kontoen har oppringingstillatelse og om den er i gruppen policyen krever. Å bytte tunneltype eller reinstallere klienten kan ikke endre en beslutning som ble tatt om en identitet.
En nyttig vane på dette trinnet er å skrive den nøyaktige kontostrengen i saken, inkludert eventuelt domene prefiks. Et overraskende antall 691-saker er lagret legitimasjon for feil domene, og det vises i kontostrengen og ikke i protokollinnstillingene.
Trinn fire: tilkoblet, og ingenting virker
En tilkobling kan fullføres og likevel være ubrukelig. Den har en adresse, klienten rapporterer suksess, og hver forespørsel applikasjonen gjør, går ut på tid. Ingenting i dialogen gjenspeiler det, og det finnes ingen kode å slå opp. På det punktet er dialogen ferdig, og de nyttige bevisene er et annet sted.
Get-NetRoute -DestinationPrefix 10.24.0.0/16 | Select-Object DestinationPrefix,NextHop,InterfaceAlias
Resolve-DnsName files.corp.example.internal
Test-NetConnection -ComputerName 10.24.6.15 -Port 445
Hvis ruten mangler, har serveren ikke dyttet den, eller klienten har mistet den. Hvis ruten finnes og navnet feiler, er oppslaget problemet. Hvis begge virker og applikasjonen fortsatt feiler, er du forbi tunnelen og inne i applikasjonens egen konfigurasjon.
Hold endringene til ett lag per test. Hver redigering du gjør før neste forsøk, blir en del av konteksten til den neste koden, og en kode som beskriver din siste endring er verre enn ingen kode i det hele tatt.
Ett forsøk, én endring, én oppføring
Uansett trinn bør oppføringen inneholde koden, meldingen, profilnavnet, tidsstempelet og nettverket du var på. Fem felt, og hvert av dem ligger allerede foran deg i dialogen eller klientloggen. Det settet er lite nok til å lime inn i en sak og spesifikt nok til at noen andre kan gjenskape det.
Sett deretter det tidsstempelet ved siden av oppføringen på den andre siden. Tabellen nær toppen av denne siden sier hvilket trinn som eier hver uoverensstemmelse. Uten den andre oppføringen snevrer koden bare inn søket; med den er trinnet avgjort. Sammenligningen er det som gjør et tall til en diagnose og ikke til en gjetning.
Den vanen dekker nesten enhver opprinnelig Windows VPN-feil, og ingen av grenene krever reinstallering av noe. Dialogen fortalte deg hele tiden hvilken du hadde; arbeidet ligger i å nekte å behandle dem alle som det samme problemet.