Mga code ng error ng VPN sa Windows: aling yugto ang nabigo, at ano ang itatala
829, 703, 720, 691, 649: pinangalanan ng bawat numero ang isang yugto, at may sariling ebidensya ang bawat yugto. Itala ang isang pagtatangka, ihambing ang log ng gateway, palitan ang isang layer.
Buksan ang dialog ng VPN sa Windows pagkatapos ng pagkabigo at bibigyan ka nito ng numero at isang pangungusap, at ang pangungusap ang karaniwang hindi gaanong kapaki-pakinabang na kalahati. Tinutukoy ng numero kung aling yugto ng koneksyon ang nabigo, at ang yugto ang nagtatakda kung aling log, aling setting at aling team ang titingnan sa susunod. Ang pagdaan sa mga yugto nang sunod-sunod ay tumatagal ng mga sampung minuto at pumipigil sa pamilyar na pagkakasunod-sunod ng muling pag-install ng adapter, pagpapalit ng protocol at pag-reset ng stack para ayusin ang isang account na hindi kailanman binigyan ng pahintulot na tumawag.
Basahin ang numero bilang isang yugto
Ang native na koneksyon ay dumadaan sa apat na milyahe. Naabot nito ang server at nagtatag ng link, nakikipag-ayos tungkol sa seguridad, nagpapatunay ng user, at naglalapat ng addressing at routing. Ang pagkabigo sa bawat isa ay nag-iiwan ng ibang ebidensya, at ang code na kabilang sa isang yugto ay walang sinasabing kapaki-pakinabang tungkol sa iba.
Ang pagkakamaling dapat iwasan ay ituring ang code bilang antas ng kalubhaan. Ang pagkabigo ng link at pagkabigo ng authorization ay parehong binabasa bilang "hindi makakonekta", at wala silang ibang pagkakapareho. Sinasabi ng kalubhaan kung gaano ito kaapurahan; sinasabi ng yugto kung ano ang bubuksan.
| 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 |
Yugto isa: ang link at ang pagtatangkang tumawag
829 ay nangangahulugang bumagsak ang pinagbabatayan na link. Hindi nito sinasabi kung tumigil sa pagsagot ang malayong panig, pinatay ng isang intermediate na aparato ang session, o isinara ito ng isang patakaran sa client. Ang code ng pagtatapos ng tawag tulad ng 703 ay mas maaga pa: hindi man lang umabot ang pagtatangka na magkaroon ng link, na karaniwang tumuturo sa profile, estado ng serbisyo o lokal na patakaran.
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
Ang query ng mga event ang bahaging nilalaktawan ng mga tao. Ang talaan sa panig ng client na may timestamp at pangalan ng interface ay mas mahalaga kaysa sa dialog, dahil sinasabi nito kung umalis man lang ang pagtatangka sa makina. Walang talaan at walang sagot mula sa nakikinig ay problema sa maabot, at walang pag-edit sa client ang makapagbabago niyon.
Kung gumagana ang parehong profile sa ibang network, huminto dito. Inilalarawan ng code ang isang kalagayan ng landas at hindi isang error sa configuration, at ang susunod na kapaki-pakinabang na paghahambing ay ang dalawang capture at hindi isa pang muling pag-install.
Yugto dalawa: PPP at ang binding ng miniport
720 ay nasa pagitan ng link at ng user. Umatras ang tunnel at pagkatapos ay hindi nakipag-ayos ang layer ng PPP sa isang address o control protocol, na kadalasan ay problema sa binding sa client at hindi tinanggihang kredensyal. Ang pagkakaibang iyon ang buong halaga ng code: sinasabi nitong hindi kailanman naabot ang kredensyal, kaya ang account ay hindi ang suspek.
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
Ang pagbasa sa dalawang output na iyon ay mas nagbibigay-alam kaysa sa pag-reset ng kahit ano. Ang miniport na naroroon pero hindi nasimulan, o binding ng protocol na hindi pinagana ng ibang software, ay gumagawa ng eksaktong pagkabigo ng yugtong ito. Pareho silang maaayos nang hindi hinahawakan ang natitirang stack. Sa kabilang banda, tinatanggal ng buong reset ang addressing at estado ng filter na walang kinalaman sa sira.
Yugto tatlo: pagkakakilanlan at authorization
691 ay nangangahulugang tinanggihan ang mga kredensyal. 649 ay nangangahulugang walang pahintulot ang account na tumawag, at 812 ay nangangahulugang tinanggihan ng patakaran ng malayong pag-access ang koneksyon. Ito ay mga desisyon, hindi mga sira ng transportasyon, at ang client ay makapag-uulat lamang.
Ang ebidensya ay nasa kabilang panig. Hilingin sa operator ng gateway ang pagtatangka sa timestamp na iyon at ang patakarang tumugma; itanong sa may-ari ng direktoryo kung may pahintulot ang account na tumawag at kung nasa grupo itong hinihingi ng patakaran. Ang pagpapalit ng uri ng tunnel o muling pag-install ng client ay hindi makapagbabago ng desisyong ginawa tungkol sa pagkakakilanlan.
Ang kapaki-pakinabang na ugali sa yugtong ito ay isulat sa ticket ang eksaktong string ng account, kasama ang anumang prefix ng domain. Nakakagulat na maraming kaso ng 691 ay naka-save na kredensyal para sa maling domain, at nakikita iyon sa string ng account at hindi sa mga setting ng protocol.
Yugto apat: konektado, at walang gumagana
Maaaring matapos ang koneksyon at wala pa ring gamit. May address ito, nag-uulat ng tagumpay ang client, at bawat kahilingan ng aplikasyon ay lumalampas sa oras. Walang sumasalamin niyon sa dialog, at walang code na hahanapin. Sa puntong iyon tapos na ang dialog at ang kapaki-pakinabang na ebidensya ay nasa ibang lugar.
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
Kung wala ang ruta, hindi ito itinulak ng server o itinapon ito ng client. Kung may ruta at nabigo ang pangalan, ang problema ay ang resolution. Kung parehong gumagana at nabigo pa rin ang aplikasyon, nalampasan mo na ang tunnel at nasa configuration na ng aplikasyon mismo.
Panatilihin ang mga pagbabago sa isang layer kada pagsubok. Bawat pag-edit bago ang susunod na pagtatangka ay nagiging bahagi ng konteksto ng susunod na code, at ang code na naglalarawan ng huling pag-edit mo ay mas masama kaysa sa walang code.
Isang pagtatangka, isang pagbabago, isang talaan
Anuman ang yugto, dapat taglayin ng talaan ang code, mensahe, pangalan ng profile, timestamp at network kung saan ka naroon. Limang field, at bawat isa sa kanila ay nasa harap mo na sa dialog o sa log ng client. Ang set na iyon ay sapat na maliit para i-paste sa ticket at sapat na tiyak para muling gawin ng iba.
Pagkatapos ilagay ang timestamp na iyon sa tabi ng talaan sa kabilang panig. Sinasabi ng talahanayan malapit sa itaas ng pahinang ito kung aling yugto ang nagmamay-ari ng bawat pagkakaiba. Kung walang ikalawang talaan, pinapaliit lamang ng code ang paghahanap; kung mayroon, napagpasyahan ang yugto. Ang paghahambing ang nagbabago ng numero tungo sa diagnosis at hindi sa haka-haka.
Sinasaklaw ng ugaling iyon ang halos lahat ng native na sira ng VPN sa Windows, at wala sa mga sanga ang nangangailangan ng muling pag-install ng kahit ano. Sinasabi sa iyo ng dialog kung alin ang mayroon ka; ang trabaho ay ang tumangging ituring silang lahat bilang isang problema.