Windows-VPN-foutkodes: watter fase het misluk, en wat om te log
829, 703, 720, 691, 649: elke nommer noem 'n fase, en elke fase het sy eie bewyse. Teken een poging op, vergelyk die poortlog, verander een laag.
Maak die Windows-VPN-dialoogvenster ná 'n fout oop en dit gee jou 'n nommer en 'n sin, waarvan die sin gewoonlik die minder nuttige helfte is. Die nommer dui aan watter fase van die verbinding misluk het, en die fase bepaal na watter log, watter instelling en watter span jy volgende moet kyk. Om die fases in volgorde deur te werk neem ongeveer tien minute en voorkom die bekende reeks van herinstalleer van adapters, wissel van protokolle en herstel van die stapel om 'n rekening reg te maak wat nooit toegelaat is om in te skakel nie.
Lees die nommer as 'n fase
'n Inheemse verbinding gaan deur vier mylpale. Dit bereik die bediener en vestig 'n skakel, dit onderhandel sekuriteit, dit verifieer die gebruiker, en dit pas adressering en roetering toe. 'n Fout by elkeen van dié laat verskillende bewyse, en 'n kode wat aan een fase behoort, sê niks nuttigs oor die ander nie.
Die fout om te vermy is om die kode as 'n ernsgraad te behandel. 'n Skakelfout en 'n magtigingsfout lees albei as "kon nie koppel nie", en hulle het niks anders gemeen nie. Ernsgraad sê hoe dringend iets is; die fase sê wat om oop te maak.
| 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 |
Fase een: die skakel en die ingeskakel-poging
829 beteken die onderliggende skakel het weggeval. Dit sê nie of die afgeleë eweknie opgehou antwoord het, 'n middelkassie die sessie beëindig het, of 'n beleid op die kliënt dit toegemaak het nie. 'n Inskakel-voltooiingkode soos 703 is selfs vroeër: die poging het nooit ver genoeg gekom om 'n skakel te hê nie, wat gewoonlik op die profiel, die dienstoestand of 'n plaaslike beleid dui.
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
Die gebeurtenisnavraag is die deel wat mense oorslaan. 'n Kliëntkant-rekord met 'n tydstempel en 'n koppelvlaknaam is meer werd as die dialoogvenster, want dit sê of die poging die masjien ooit verlaat het. Geen rekord plus geen antwoord van die luisteraar is 'n bereikbaarheidsprobleem, en geen mate van kliëntredigering verander dit nie.
As dieselfde profiel op 'n ander netwerk werk, stop hier. Die kode beskryf 'n padtoestand eerder as 'n konfigurasiefout, en die volgende nuttige vergelyking is die twee opnames eerder as nog 'n herinstallasie.
Fase twee: PPP en die minipoort-binding
720 lê tussen die skakel en die gebruiker. Die tonnel het opgekom en toe kon die PPP-laag nie 'n adres of 'n beheerprotokol onderhandel nie, wat dikwels 'n bindingprobleem op die kliënt is eerder as 'n verwerpte geloofsbrief. Daardie onderskeid is die hele waarde van die kode: dit sê die geloofsbrief is nooit bereik nie, so die rekening is nie die verdagte nie.
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
Om daardie twee uitsette te lees is meer insiggewend as om enigiets terug te stel. 'n Minipoort wat teenwoordig is maar nie begin het nie, of 'n protokolbinding wat deur ander sagteware gedeaktiveer is, lewer presies hierdie fase se fout. Albei is regstelbaar sonder om die res van die stapel aan te raak. 'n Volledige herstel, daarenteen, verwyder adressering- en filtertoestand wat niks met die fout te doen gehad het nie.
Fase drie: identiteit en magtiging
691 beteken die geloofsbriewe is verwerp. 649 beteken die rekening mag nie inskakel nie, en 812 beteken 'n afgeleë toegangsbeleid het die verbinding geweier. Dit is besluite, nie vervoerfoute nie, en die kliënt kan dit net rapporteer.
Die bewyse is aan die ander kant. Vra die poortoperateur vir die poging op daardie tydstempel en die beleid wat gepas het; vra die gids-eienaar of die rekening inskakeltoestemming het en of dit in die groep is wat die beleid vereis. Om die tonneltipe te verander of die kliënt te herinstalleer kan nie 'n besluit verander wat oor 'n identiteit geneem is nie.
'n Nuttige gewoonte in hierdie fase is om die presiese rekeningstring in die kaartjie te skryf, insluitend enige domeinvoorvoegsel. 'n Verrassende aantal 691-gevalle is 'n gestoorde geloofsbrief vir die verkeerde domein, en dit is sigbaar in die rekeningstring eerder as in die protokolinstellings.
Fase vier: gekoppel, en niks werk nie
'n Verbinding kan voltooi en steeds nutteloos wees. Dit hou 'n adres, die kliënt rapporteer sukses, en elke versoek wat die toepassing maak, verstryk. Niks in die dialoogvenster weerspieël dit nie, en daar is geen kode om na te slaan nie. Op daardie punt is die dialoogvenster klaar en die nuttige bewyse is elders.
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
As die roete ontbreek, het die bediener dit nie gestoot nie of die kliënt het dit laat val. As die roete bestaan en die naam misluk, is resolusie die probleem. As albei werk en die toepassing steeds misluk, is jy verby die tonnel en in die toepassing se eie konfigurasie.
Hou die veranderinge tot een laag per toets. Elke wysiging wat jy voor die volgende poging maak, word deel van die volgende kode se konteks, en 'n kode wat jou laaste wysiging beskryf, is slegter as geen kode nie.
Een poging, een verandering, een rekord
Maak nie saak watter fase nie, die rekord moet die kode, die boodskap, die profielnaam, die tydstempel en die netwerk waarop jy was, bevat. Vyf velde, en elkeen daarvan is reeds voor jou in die dialoogvenster of die kliëntlog. Dié stel is klein genoeg om in 'n kaartjie te plak en spesifiek genoeg vir iemand anders om te herproduseer.
Plaas dan daardie tydstempel langs die rekord aan die ander kant. Die tabel naby die bokant van hierdie bladsy sê watter fase elke verskil besit. Sonder die tweede rekord vernou die kode net die soektog; daarmee is die fase besluit. Die vergelyking is wat 'n nommer in 'n diagnose verander eerder as 'n raaiskoot.
Daardie gewoonte dek byna elke inheemse Windows-VPN-fout, en geen van die takke vereis herinstallasie van enigiets nie. Die dialoogvenster het altyd gesê watter een jy gehad het; die werk is om te weier om almal as dieselfde probleem te behandel.