افتح مربع حوار VPN في Windows بعد فشل ما، فيعطيك رقمًا وجملة، والجملة عادةً هي النصف الأقل فائدة. الرقم يحدد أي مرحلة من الاتصال فشلت، والمرحلة تحدد أي سجل وأي إعداد وأي فريق يجب أن تنظر إليه بعد ذلك. المرور على المراحل بالترتيب يستغرق نحو عشر دقائق ويمنع التسلسل المألوف من إعادة تثبيت المحولات وتبديل البروتوكولات وإعادة ضبط الحزمة لإصلاح حساب لم يُسمح له قط بالاتصال.

اقرأ الرقم كمرحلة

يمر الاتصال الأصلي بأربع محطات. يصل إلى الخادم ويقيم رابطًا، ويتفاوض على الأمان، ويتحقق من هوية المستخدم، ويطبّق العنونة والتوجيه. الفشل في كل واحدة منها يترك أدلة مختلفة، والرمز الذي ينتمي إلى مرحلة لا يخبرك بشيء مفيد عن غيرها.

الخطأ الذي يجب تجنبه هو معاملة الرمز كدرجة خطورة. فشل الرابط وفشل التفويض كلاهما يُقرأ كـ "تعذر الاتصال"، ولا شيء يجمعهما غير ذلك. درجة الخطورة تخبرك بمدى إلحاح الأمر؛ أما المرحلة فتخبرك بما يجب فتحه.

Code familyStageWhere the evidence lives
829, 703Link or dial completionClient event log, remote listener reachability
720PPP negotiation and miniport bindingAdapter state, bindings, client log detail
691, 649, 812Identity and authorizationGateway or authentication server decision
Connected, no trafficAddressing, routing and resolutionRoute 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، ولا يتطلب أي فرع إعادة تثبيت أي شيء. كان مربع الحوار يخبرك دائمًا أيها لديك؛ والعمل هو رفض معاملة جميعها كمشكلة واحدة.

مقالات ذات صلة