Opne Windows VPN-dialogen etter ein feil, og han gjev deg eit tal og ei setning, der setninga vanlegvis er den minst nyttige halvdelen. Talet angir kva trinn i tilkoplinga som feila, og trinnet avgjer kva logg, kva innstilling og kven team du skal sjå på neste gong. Å gå gjennom trinna i rekkjefølgje tek om lag ti minutt og hindrar den kjende sekvensen med å installere adapterar på nytt, byte protokollar og nullstille stakken for å fikse ein konto som aldri fekk løyve til å ringje opp.

Les talet som eit trinn

Ei opphavleg tilkopling går gjennom fire milepælar. Ho når serveren og etablerer ei lenkje, forhandlar om tryggleik, autentiserer brukaren og brukar adressering og ruting. Ein feil i kvar av dei etterlèt ulike prov, og ein kode som høyrer til eitt trinn seier ingenting nyttig om dei andre.

Feilen du må unngå, er å handsame koden som ein alvorsgrad. Ein lenkjefeil og ein autorisasjonsfeil blir begge lesne som "kunne ikkje kopie til", og dei har ikkje noko anna til felles. Alvor seier kor akutt noko er; trinnet seier kva du skal opne.

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 éin: lenkja og oppringingsforsøket

829 tyder at den underliggjande lenkja fall. Det seier ikkje om motparten slutta å svare, om ein mellomboks drap sesjonen, eller om ein policy på klienten lukka han. Ein oppringingsfullføringskode som 703 er endå tidlegare: forsøket kom aldri så langt at det fekk ei lenkje, noko som vanlegvis peikar på profilen, tenestestatusen eller ein 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

Hendingsoppslaget er den delen folk hoppar over. Ei klient-side føring med tidsstempel og grensesnittnamn er meir verdt enn dialogen, fordi ho seier om forsøket i det heile forlet maskinen. Inga føring og ingen respons frå lyttaren er eit tilgjengeproblem, og inga klientredigering endrar det.

Viss same profilen fungerer på eit anna nettverk, stopp her. Koden skildrar ein vegtilstand og ikkje ein konfigurasjonsfeil, og den neste nyttige samanlikninga er dei to opptaka og ikkje nok ein reinstallasjon.

Trinn to: PPP og miniport-bindinga

720 ligg mellom lenkja og brukaren. Tunnelen kom opp, og deretter kunne ikkje PPP-laget forhandle ein adresse eller ein kontrollprotokoll, noko som ofte er eit bindingsproblem på klienten og ikkje ein avvist legitimasjon. Den skilnaden er heile verdien av koden: han seier at legitimasjonen aldri vart nådd, så kontoen er ikkje 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 dei to utskriftene er meir informativt enn å nullstille noko som helst. Ein miniport som finst men ikkje er starta, eller ei protokollbinding som er deaktivert av annan programvare, gjev nøyaktig denne trinnfeilen. Begge kan reparerast utan å røre resten av stakken. Ei full nullstilling fjernar derimot adressering og filtertilstand som ikkje hadde noko med feilen å gjere.

Trinn tre: identitet og autorisasjon

691 tyder at legitimasjonen vart avvist. 649 tyder at kontoen ikkje har løyve til å ringje opp, og 812 tyder at ein policy for fjernåtkomst avviste tilkoplinga. Dette er avgjerder, ikkje transportfeil, og klienten kan berre rapportere dei.

Prova er på den andre sida. Spør gateway-operatøren om forsøket på det tidsstempelet og policyen som passa; spør katalogeigaren om kontoen har oppringingsløyve og om han er i gruppa policyen krev. Å byte tunneltype eller installere klienten på nytt kan ikkje endre ei avgjerd som vart teken om ein identitet.

Ein nyttig vane på dette trinnet er å skrive den nøyaktige kontostrengen i saka, inkludert eventuelt domene prefiks. Eit overraskande tal 691-saker er lagra legitimasjon for feil domene, og det synest i kontostrengen og ikkje i protokollinnstillingane.

Trinn fire: tilkopla, og ingenting verkar

Ei tilkopling kan fullførast og likevel vere ubrukeleg. Ho har ei adresse, klienten rapporterer suksess, og kvar førespurnad applikasjonen gjer, går ut på tid. Ingenting i dialogen speglar det, og det finst ingen kode å slå opp. På det punktet er dialogen ferdig, og dei nyttige prova er ein annan stad.

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

Viss ruta manglar, har serveren ikkje dytta ho, eller klienten har mista ho. Viss ruta finst og namnet feilar, er oppslaget problemet. Viss begge verkar og applikasjonen framleis feilar, er du forbi tunnelen og inne i konfigurasjonen til applikasjonen sjølv.

Hald endringane til eitt lag per test. Kvar redigering du gjer før neste forsøk, blir ein del av konteksten til den neste koden, og ein kode som skildrar den siste endringa di er verre enn ingen kode i det heile.

Eitt forsøk, éi endring, éi føring

Uansett trinn bør føringa innehalde koden, meldinga, profilnamnet, tidsstempelet og nettverket du var på. Fem felt, og kvart av dei ligg allereie framfor deg i dialogen eller klientloggen. Det settet er lite nok til å lime inn i ei sak og spesifikt nok til at nokon andre kan gjenskape det.

Set deretter det tidsstempelet ved sida av føringa på den andre sida. Tabellen nær toppen av denne sida seier kva trinn som eig kvar uoverenskomst. Utan den andre føringa snevrar koden berre inn søket; med ho er trinnet avgjort. Samanlikninga er det som gjer eit tal til ein diagnose og ikkje til ei gjetting.

Den vanen dekkjer nesten kvar opphavleg Windows VPN-feil, og ingen av greinene krev reinstallering av noko. Dialogen fortalte deg heile tida kva du hadde; arbeidet ligg i å nekte å handsame dei alle som det same problemet.

Relaterte artiklar