Windows-ის VPN შეცდომის კოდები: რომელი ეტაპი ჩავარდა და რა უნდა ჩაიწეროს
829, 703, 720, 691, 649: თითოეული რიცხვი ასახელებს ეტაპს და თითოეულ ეტაპს თავისი მტკიცებულება აქვს. ჩაწერეთ ერთი ცდა, შეადარეთ კარიბჭის ჟურნალი, შეცვალეთ ერთი ფენა.
გახსენით Windows-ის VPN დიალოგი წარუმატებლობის შემდეგ და ის მოგცემთ რიცხვსა და წინადადებას, სადაც წინადადება ჩვეულებრივ ნაკლებად სასარგებლო ნახევარია. რიცხვი გვიჩვენებს, თუ კავშირის რომელი ეტაპი ჩავარდა, ხოლო ეტაპი განსაზღვრავს, რომელი ჟურნალი, რომელი პარამეტრი და რომელი გუნდი უნდა ნახოთ შემდეგ. ეტაპების რიგით გავლას დაახლოებით ათი წუთი სჭირდება და ხელს უშლის ნაცნობ თანმიმდევრობას: ადაპტერების ხელახლა დაყენებას, პროტოკოლების შეცვლას და სტეკის გადატვირთვას იმ ანგარიშის გამოსასწორებლად, რომელსაც დარეკვის უფლება არასოდეს მიუღია.
წაიკითხეთ რიცხვი ეტაპად
მშობლიური კავშირი გადის ოთხ ეტაპს. ის აღწევს სერვერს და ამყარებს კავშირს, აწარმოებს მოლაპარაკებას უსაფრთხოებაზე, ადასტურებს მომხმარებელს და იყენებს მისამართებსა და მარშრუტიზაციას. ყოველ მათგანში მარცხი სხვადასხვა მტკიცებულებას ტოვებს და ერთ ეტაპს კუთვნილი კოდი სხვების შესახებ არაფერს ამბობს.
შეცდომა, რომელსაც უნდა მოერიდოთ, კოდის სიმძიმის ხარისხად მიჩნევაა. კავშირის მარცხი და ავტორიზაციის მარცხი ორივე იკითხება როგორც "დაკავშირება ვერ მოხერხდა" და ამის გარდა საერთო არაფერი აქვთ. სიმძიმე გვეუბნება, რამდენად გადაუდებელია რამე, ეტაპი კი — რა უნდა გავხსნათ.
| 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
თუ მარშრუტი არ არის, სერვერმა არ უბიძგა მას ან კლიენტმა ჩამოაგდო. თუ მარშრუტი არსებობს და სახელი ვერ წყდება, პრობლემა გადაწყვეტაშია. თუ ორივე მუშაობს და აპლიკაცია მაინც ვარდება, გვირაბს გასცდით და აპლიკაციის საკუთარ კონფიგურაციაში ხართ.
ცვლილებები შეინარჩუნეთ ერთ ფენაში ერთ ტესტზე. ყოველი რედაქტირება მომდევნო ცდამდე ხდება შემდეგი კოდის კონტექსტის ნაწილი, და კოდი, რომელიც თქვენს ბოლო რედაქტირებას აღწერს, უარესია, ვიდრე კოდის არარსებობა.
ერთი ცდა, ერთი ცვლილება, ერთი ჩანაწერი
რომელი ეტაპიც არ უნდა იყოს, ჩანაწერი უნდა შეიცავდეს კოდს, შეტყობინებას, პროფილის სახელს, დროის ნიშანს და იმ ქსელს, რომელზეც იმყოფებოდით. ხუთი ველი, და თითოეული მათგანი უკვე თქვენს წინაშეა დიალოგში ან კლიენტის ჟურნალში. ეს ნაკრები საკმარისად მცირეა ბილეთში ჩასასმელად და საკმარისად კონკრეტული, რომ სხვამ გაიმეოროს.
შემდეგ ეს დროის ნიშანი მოათავსეთ მეორე მხარის ჩანაწერის გვერდით. ამ გვერდის ზედა ნაწილთან ახლოს ცხრილი ამბობს, რომელ ეტაპს ეკუთვნის ყოველი შეუთანხმებლობა. მეორე ჩანაწერის გარეშე კოდი მხოლოდ ძიებას ვიწროებს, მასთან ერთად კი ეტაპი უკვე გადაწყვეტილია. სწორედ შედარება აქცევს რიცხვს დიაგნოზად და არა ვარაუდად.
ეს ჩვევა მოიცავს Windows-ის თითქმის ყველა მშობლიურ VPN ხარვეზს და არცერთი ტოტი არ მოითხოვს რაიმეს ხელახლა დაყენებას. დიალოგი ყოველთვის გეუბნებოდათ, რომელი გქონდათ; საქმე იმაშია, რომ უარი თქვათ ყველა მათგანის ერთ პრობლემად მიჩნევაზე.