Å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 familyStageWhere the evidence lives
829, 703Link or dial completionClient event log, remote listener reachability
720PPP negotiation and miniport bindingAdapter state, bindings, client log detail
691, 649, 812Identity and authorizationGateway or authentication server decision
Connected, no trafficAddressing, routing and resolutionRoute 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.

Relaterte artikler