Penktadienį tai veikė. Pirmadienį tas pats Windows klientas atsako dialogo langu, kuriame sakoma, kad prisijungimo bandymas nepavyko, o po juo esantis sakinys yra tas, kurį jau matėte dešimtyse nesusijusių problemų. Tas dialogas yra grandinės pabaiga, o ne pradžia. Windows slepia etapą, kuriame bandymas iš tikrųjų mirė, ir du maži įrodymai jį įvardija: skaitmeninis rezultato kodas ir vienas RasClient įvykis iš tos pačios minutės. Štai tvarka, kurią naudoju — užfiksuokite bandymą, perskaitykite kodą, ištraukite įvykį ir tada pakeiskite lygiai vieną sluoksnį.

Dialogo tekstas yra paskutinis žingsnis, o ne priežastis

Sakinys, kurį skaitote, parenkamas po to, kai bandymas jau išsivyniojo. „Ryšys buvo nutrauktas nuotolinio kompiuterio dar prieš užmezgant ryšį“ pasirodo, kai serveris padeda ragelį derybų viduryje, kai IPsec nepavyko dar neišsiuntus jūsų vartotojo vardo, ir kai politika tiesiog atmetė tunelį. Trys skirtingi šeimininkai, vienas sakinys. Vertinkite formuluotę kaip simptomų klasę ir neleiskite jai nieko nukreipti, kol kodas su ja nesutiks.

Tai, ką dar galite užfiksuoti, yra pats bandymas. Užsirašykite ryšio pavadinimą, profilyje saugomą tunelio tipą — PPTP, L2TP/IPsec, SSTP arba IKEv2 —, laiką iki sekundės ir kodą. Jei nesate tikri, kuris protokolas iš tikrųjų veikė, atidarykite %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk ir perskaitykite įrašą, o ne pasikliaukite atmintimi; profilis, pakartotinai naudojamas naujam protokolui, išsaugo savo seną rodomą pavadinimą.

Perskaitykite skaičių prieš skaitydami žodžius

Kodai skirstomi į tris etapus, ir etapas svarbesnis už tikslią formuluotę: pasiektas ir atmestas autentifikacijos mainas, serveris, kuris niekada neatsakė, arba derybos, kurios žlugo po to, kai ryšys pakilo. 691 yra pirmasis tipas — prisijungimo duomenų patikra įvyko ir nepavyko, nesvarbu, ar dėl neteisingo slaptažodžio, užrakintos ar pasibaigusios paskyros, ar serverio nepriimamo autentifikacijos protokolo. 812 taip pat atmetimas, bet su galiojančiais prisijungimo duomenimis: nuotolinės prieigos serverio politika nusprendė prieš jus. Microsoft palaiko kanoninį rinkimo ir VPN ryšių klaidų kodų sąrašą, ir verta ten perskaityti savo numerį prieš ieškant pranešimo teksto.

809 yra priešinga klasė: nieko negrįžo. Tai kelio problema — TCP 443 filtruojamas SSTP, GRE blokuojamas PPTP, UDP 500 ir 4500 arba ESP numetami IPsec praėjimui. Naujas slaptažodis to nepataisys, o naujas sertifikatas taip pat ne. 720 reiškia, kad ryšys pakilo ir PPP niekada nebaigė derybų, o tai rodo protokolo nesuderinamumą arba serverį, kuris negalėjo priskirti adreso. 789, arba 13801 IKEv2 atveju, yra tapatybė IPsec viduje: sertifikatas, kurio subjektas neatitinka numerio, kurį renkate, nepatikima grandinė arba iš anksto bendrinamas raktas, kuris skiriasi tarp dviejų galų.

Ištraukite tos pačios minutės RasClient įvykį

Įvykių peržiūroje Windows Logs > Application, filtruotas pagal šaltinį RasClient, yra pirmoji vieta, kur reikia žiūrėti. Microsoft aprašymas apie 720 klaidą nurodo to žurnalo 20227 įvykį. Tas pats teikėjas skelbia kitus identifikatorius kitiems rezultatams, todėl skaitykite pranešimą ir jame įterptą rezultato kodą, o ne traktuokite ID kaip diagnozę; bendras dialogas plius 20227, kuris neša 720, jau yra daug siauresnė istorija.

Iš PowerShell, nespustelėjus per GUI:

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'RasClient'
  StartTime    = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message

Tuščias rezultatas yra informatyvus. Paprastai tai reiškia, kad rinkimas niekada nenuėjo pakankamai toli, kad RAS ką nors užregistruotų, arba kad nepavykusi programinė įranga apskritai nėra vietinis klientas — trečiųjų šalių klientai turi savo diagnostiką ir dažnai nieko nerašo į Application žurnalą. Patikrinkite tiekėjo žurnalą prieš darydami išvadą, kad įvykių registravimas sugedęs.

Sukurkite vieną laiko juostą, o ne įvykių krūvą

Pakartotinio bandymo ciklai kuria triukšmą. Penki automatiniai prisijungimai palieka įvykių grupę, o pagunda yra skaityti juos kaip vieną seką su viena priežastimi. Tai penki atskiri bandymai, ir tik kai kurie jų pasiekė serverį. Paimkite dviejų ar trijų minučių langą, vieną ryšio pavadinimą ir išvardinkite kiekvieną įvykį su jo kodu prieš ką nors interpretuodami.

Tada paklauskite, kur bandymas sustojo. Kai šliuzas ar autentifikacijos backend neturi jokio įrašo apie tą laiko žymą, klientas jo niekada nepasiekė, ir jūs žiūrite į pasiekiamumo problemą. Kai backend rodo užklausą ir atmetimą, sprendimas buvo priimtas ten, ir galioja prisijungimo duomenų ar politikos klasė. Palyginkite laikrodžius prieš lygindami laikus: klientai praneša vietinį laiką, daugelis šliuzų registruoja UTC, o poslinkis privers tobulai koreliuotą porą atrodyti nesusijusia.

Kad įrašymas būtų pakartojamas, rinkitės iš komandinės eilutės ir leiskite jai išspausdinti rezultatą:

rasdial "Office VPN"
rasdial "Office VPN" /disconnect

Konsolė rodo numerį, kurį GUI slepia už draugiško teksto, o paleidus du kartus sužinosite, ar kodas stabilus, ar su pertraukomis.

Ką kiekvienas etapas sako keisti

Etapo įvardijimas naudingas tik tada, kai sumažina pakeitimų rinkinį iki vieno sluoksnio:

  • 691 — autentifikacija: EAP metodas, kurį siūlo klientas, prieš tą, kurį priima serveris, paskyros būsena, slaptažodžio galiojimas, rinkimo leidimas.
  • 812 — serverio politika: nuotolinės prieigos politika arba NPS taisyklė, kuri atitinka šį naudotoją ir šį laiko langą.
  • 809 — pasiekiamumas: ugniasienės taisyklės kelyje, NAT ir protokolo praėjimas, prievadas, kurio reikia pasirinktam tunelio tipui.
  • 720 — PPP derybos: autentifikacijos protokolo nesuderinamumas, adreso priskyrimas, serverio pusės PPP nustatymas.
  • 789 / 13801 — IPsec tapatybė: sertifikato subjektas prieš numerį, kurį renkate, pasitikėjimo grandinė, iš anksto bendrinamas raktas.

Pakeiskite vieną iš jų, dar kartą patikrinkite tą patį profilį ir užsirašykite naują kodą. Kitas kodas po pakeitimo yra pažanga, o ne prieštaravimas: perkėlėte gedimą į vėlesnį etapą, ir taip atrodo daugiaetapio rankos paspaudimo taisymas. Ko neturėtumėte daryti — keisti ugniasienės, sertifikato ir slaptažodžio vienu prisėdimu ir paskui priskirti nuopelnus tam, kas atėjo paskutinis.

Dalinkitės įrodymais, o ne aplinka

Įvykių pranešimai turtingesni, nei atrodo. Juose yra ryšio pavadinimas, paskyra, dažnai vidinis šliuzo pavadinimas ar adresas, o kartais sertifikato piršto atspaudas. Laikykite originalą ten, kur jam vieta, ir sukurkite atskirą redaguotą kopiją kam nors kitam; laiko juostos perrašymas iš atminties praranda būtent tas detales, kurios daro ją naudingą.

Perdavimui, kuris bus dirbamas, reikia penkių laukų: kodo, etapo, kuriam jis priklauso, kliento ir tunelio tipo, laiko žymos su jos laiko juosta ir to, ar šliuzas apskritai matė užklausą. Visa kita yra neprivaloma. Su šiais penkiais kitas žmogus gali atskirti prisijungimo duomenų ginčą nuo maršrutizavimo ginčo, nekartodamas tyrimo.

Prieš ką nors uždarydami, pakartokite bandymą tame pačiame profilyje ir patvirtinkite, kur kodas dabar patenka. Sėkmė tai baigia; kitas gedimas reiškia, kad pirminis etapas sutvarkytas, o sekantis yra jūsų rankose.

Susiję straipsniai