Кодови грешака VPN-а у Windows-у: која фаза није успела и шта логирати
829, 703, 720, 691, 649: сваки број именује фазу, и свака фаза има своје доказе. Забележите један покушај, упоредите лог пролаза, промените један слој.
Отворите дијалог VPN-а у Windows-у после неуспеха и он ће вам дати број и реченицу, при чему је реченица обично мање корисна половина. Број показује која фаза везе није успела, а фаза одређује који лог, коју поставку и који тим гледати даље. Пролазак кроз фазе по реду траје око десет минута и спречава познати след: поновну инсталацију адаптера, промену протокола и ресетовање стека да би се поправио налог коме никада није било дозвољено да се јави.
Читајте број као фазу
Изворна веза пролази кроз четири прекретнице. Стиже до сервера и успоставља везу, преговара о безбедности, аутентификује корисника и примењује адресирање и усмеравање. Неуспех у свакој од њих оставља различите доказе, а код који припада једној фази не говори ништа корисно о осталима.
Грешка коју треба избећи је третирање кода као степена озбиљности. Неуспех везе и неуспех ауторизације оба се читају као "није могло да се повеже", и немају ништа друго заједничко. Озбиљност говори колико је нешто хитно; фаза говори шта отворити.
| 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 |
Прва фаза: веза и покушај позива
829 значи да је основна веза прекинута. Не каже да ли је удаљена страна престала да одговара, да ли је посредни уређај убио сесију или ју је политика на клијенту затворила. Код завршетка позива као 703 је још ранији: покушај никада није дошао до везе, што обично указује на профил, стање услуге или локалну политику.
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
Упит догађаја је део који људи прескачу. Запис на страни клијента са временском ознаком и именом интерфејса вреди више од дијалога, јер говори да ли је покушај уопште напустио машину. Нема записа и нема одговора слушаоца значи проблем доступности, и никакво уређивање клијента то не мења.
Ако исти профил ради на другој мрежи, зауставите се овде. Код описује стање путање, а не грешку конфигурације, и следеће корисно поређење су два снимка, а не још једна поновна инсталација.
Друга фаза: PPP и повезивање минипорта
720 стоји између везе и корисника. Тунел се подигао и тада PPP слој није могао да преговара о адреси или контролном протоколу, што је често проблем повезивања на клијенту, а не одбијени акредитив. Та разлика је цела вредност кода: говори да акредитив никада није достигнут, па налог није осумњичени.
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
Читање тих двају излаза је информативније од ресетовања било чега. Минипорт који постоји али није покренут, или повезивање протокола које је онемогућио други софтвер, производе тачно неуспех ове фазе. Оба се могу поправити без дирања остатка стека. Потпуни ресет, насупрот томе, уклања адресирање и стање филтрирања који нису имали везе са кваром.
Трећа фаза: идентитет и ауторизација
691 значи да су акредитиви одбијени. 649 значи да налогу није дозвољено позивање, а 812 значи да је политика удаљеног приступа одбила везу. То су одлуке, а не транспортни кварови, и клијент може само да их пријави.
Докази су на другој страни. Питајте оператера пролаза за покушај у тој временској ознаци и политику која се поклопила; питајте власника директоријума да ли налог има дозволу за позивање и да ли је у групи коју политика захтева. Промена типа тунела или поновна инсталација клијента не могу да промене одлуку донету о идентитету.
Корисна навика у овој фази је да у тикет упишете тачан низ налога, укључујући сваки префикс домена. Изненађујуће много случајева 691 су сачувани акредитиви за погрешан домен, и то се види у низу налога, а не у поставкама протокола.
Четврта фаза: повезано, и ништа не ради
Веза може да се заврши и да ипак буде бескорисна. Држи адресу, клијент пријављује успех, а сваки захтев апликације истиче. Ништа у дијалогу то не одражава и нема кода за проверу. У том тренутку дијалог је завршен, а корисни докази су негде другде.
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
Ако рута недостаје, сервер ју је није послао или ју је клијент испустио. Ако рута постоји и име не успева, проблем је у разрешавању. Ако обоје ради, а апликација и даље не успева, прошли сте тунел и ушли у сопствену конфигурацију апликације.
Држите промене на једном слоју по тесту. Свака измена пре следећег покушаја постаје део контекста следећег кода, а код који описује вашу последњу измену гори је од никаквог кода.
Један покушај, једна измена, један запис
Која год фаза била, запис треба да садржи код, поруку, назив профила, временску ознаку и мрежу на којој сте били. Пет поља, и свако од њих је већ пред вама у дијалогу или логу клијента. Тај скуп је довољно мали да се залепи у тикет и довољно конкретан да га неко други понови.
Затим ставите ту временску ознаку поред записа на другој страни. Табела при врху ове странице говори која фаза поседује свако неслагање. Без другог записа код само сужава претрагу; с њим је фаза одлучена. Управо поређење претвара број у дијагнозу, а не у нагађање.
Та навика покрива готово сваки изворни квар VPN-а у Windows-у, и ниједна грана не захтева поновну инсталацију било чега. Дијалог вам је одувек говорио који имате; посао је у одбијању да их све третирате као исти проблем.