VPN على Windows لا يتصل؟ طابِق الرمز مع سجل الأحداث
مربع حوار VPN في Windows يخفي المرحلة التي فشلت. اقرأ رمز النتيجة، واسحب حدث RasClient لتلك المحاولة، وغيّر فقط الطبقة التي تعطّلت.
لقد عمل يوم الجمعة. وفي الاثنين يردّ العميل نفسه على Windows بمربع حوار يقول إن محاولة الاتصال فشلت، والجملة الموجودة تحته جملة رأيتها من قبل في دزينة من المشكلات غير المرتبطة. ذلك المربع هو نهاية سلسلة، لا بدايتها. يخفي Windows المرحلة التي ماتت فيها المحاولة فعلاً، وقطعتان صغيرتان من الأدلة تسمّيانها: رمز النتيجة الرقمي وحدث RasClient واحد من الدقيقة نفسها. هذا هو الترتيب الذي أستخدمه — ثبّت المحاولة، اقرأ الرمز، اسحب الحدث، ثم غيّر طبقة واحدة بالضبط.
نص مربع الحوار هو الخطوة الأخيرة، لا السبب
الجملة التي تقرأها تُختار بعد أن تكون المحاولة قد انفرجت بالفعل. تظهر عبارة "تم إنهاء الاتصال بواسطة الكمبيوتر البعيد قبل إنشاء الاتصال" عندما يغلق خادم الاتصال في منتصف التفاوض، وعندما يفشل IPsec قبل إرسال اسم المستخدم أصلاً، وعندما ترفض سياسة النفق رفضاً قاطعاً. ثلاثة أصحاب مختلفون، جملة واحدة. تعامل مع الصياغة كفئة أعراض ودعها لا توجّه شيئاً حتى يتفق الرمز معها.
ما يزال بإمكانك تثبيته هو المحاولة نفسها. اكتب اسم الاتصال، ونوع النفق المخزَّن في الملف الشخصي — PPTP أو L2TP/IPsec أو SSTP أو IKEv2 — والوقت بالثانية، والرمز. إن لم تكن متأكداً من البروتوكول الذي عمل فعلاً، فافتح %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk واقرأ المدخل بدلاً من الوثوق بالذاكرة؛ فالملف الشخصي المعاد استخدامه لبروتوكول جديد يحتفظ باسمه المعروض القديم.
اقرأ الرقم قبل أن تقرأ الكلمات
تنقسم الرموز إلى ثلاث مراحل، و المرحلة تهمّ أكثر من الصياغة الدقيقة: تبادل مصادقة تم الوصول إليه ورُفض، أو خادم لم يجب قط، أو تفاوض انهار بعد ارتفاع الوصلة. 691 من النوع الأول — فحص بيانات الاعتماد جرى وفشل، سواء بسبب كلمة مرور خاطئة أو حساب مقفل أو منتهٍ أو بروتوكول مصادقة لا يقبله الخادم. 812 رفض أيضاً، لكن ببيانات اعتماد صحيحة: سياسة على خادم الوصول البعيد قررت ضدك. تحتفظ Microsoft بـ قائمة رموز أخطاء الاتصال الطالبي و VPN، ويستحق الأمر قراءة رقمك هناك قبل البحث في نص الرسالة.
809 من الفئة المعاكسة: لم يعد شيء. هذه مشكلة مسار — TCP 443 مُرشَّح لـSSTP، وGRE محظور لـPPTP، وUDP 500 و4500 أو ESP مُسقَطة لتمرير IPsec. لا تستطيع كلمة مرور جديدة إصلاح ذلك، ولا شهادة جديدة. 720 تعني أن الوصلة ارتفعت ولم يُنهِ PPP التفاوض قط، وهو ما يشير إلى عدم تطابق بروتوكول أو خادم لم يستطع تعيين عنوان. 789، أو 13801 على IKEv2، هو الهوية داخل IPsec: شهادة لا يطابق موضوعها الاسم الذي تتصل به، أو سلسلة غير موثوقة، أو مفتاح مشترك مسبقاً يختلف بين الطرفين.
اسحب حدث RasClient الخاص بالدقيقة نفسها
في عارض الأحداث، Windows Logs > Application مع تصفية على المصدر RasClient هو أول مكان تنظر فيه. يشير مقال Microsoft عن الخطأ 720 إلى الحدث 20227 في ذلك السجل. يصدر المزوّد نفسه معرّفات أخرى لنتائج أخرى، فاقرأ الرسالة ورمز النتيجة المضمّن بدلاً من التعامل مع المعرّف كتشخيص؛ فمربع حوار عام مع 20227 يحمل 720 هو بالفعل قصة أضيق بكثير.
من PowerShell، دون النقر عبر واجهة المستخدم الرسومية:
Get-WinEvent -FilterHashtable @{
LogName = 'Application'
ProviderName = 'RasClient'
StartTime = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message
النتيجة الفارغة مفيدة. تعني عادةً أن الطلب لم يصل أبداً إلى حدٍّ يسجّل فيه RAS شيئاً، أو أن البرنامج الذي فشل ليس العميل الأصلي أصلاً — فالعملاء من طرف ثالث يحتفظون بتشخيصاتهم الخاصة وغالباً لا يكتبون شيئاً في سجل Application. تحقق من سجل البائع قبل أن تستنتج أن تسجيل الأحداث معطوب.
ابنِ خطاً زمنياً واحداً بدلاً من كومة أحداث
حلقات إعادة المحاولة تصنع ضوضاء. خمسة إعادات اتصال تلقائية تترك مجموعة أحداث، والإغراء أن تقرأها كتسلسل واحد بسبب واحد. إنها خمس محاولات منفصلة، ووصل بعضها فقط إلى خادم. خذ نافذة من دقيقتين أو ثلاث، واسم اتصال واحد، وأدرج كل حدث برمزه الخاص قبل تفسير أي شيء منها.
ثم اسأل أين توقفت المحاولة. عندما لا تحتفظ البوابة أو الواجهة الخلفية للمصادقة بأي سجل لذلك الطابع الزمني، فلم يصل إليها العميل قط، وأنت تنظر إلى مشكلة قابلية وصول. وعندما تُظهر الواجهة الخلفية طلباً ورفضاً، فقد اتُّخذ القرار هناك، وينطبق صنف بيانات الاعتماد أو السياسة. قارن الساعات قبل أن تقارن الأوقات: العملاء يبلغون بالتوقيت المحلي، وكثير من البوابات تسجّل UTC، وسيجعل الإزاحة زوجاً مترابطاً تماماً يبدو غير مترابط.
للتقاط قابل للتكرار، اطلب الاتصال من سطر الأوامر ودعه يطبع النتيجة:
rasdial "Office VPN"
rasdial "Office VPN" /disconnect
تُظهر وحدة التحكم الرقم الذي يخفيه مربع الحوار خلف نص ودود، وتشغيله مرتين يخبرك ما إذا كان الرمز مستقراً أو متقطعاً.
ما تخبرك به كل مرحلة لتغييره
تسمية المرحلة مفيدة فقط إذا قلّصت مجموعة التغييرات إلى طبقة واحدة:
691— المصادقة: طريقة EAP التي يقدمها العميل مقابل التي يقبلها الخادم، وحالة الحساب، وانتهاء كلمة المرور، وإذن الاتصال الهاتفي.812— سياسة الخادم: سياسة الوصول البعيد أو قاعدة NPS المطابقة لهذا المستخدم وهذه النافذة الزمنية.809— قابلية الوصول: قواعد الجدار الناري على المسار، وNAT وتمرير البروتوكول، والمنفذ الذي يحتاجه نوع النفق المختار.720— تفاوض PPP: عدم تطابق بروتوكول المصادقة، وتعيين العنوان، وإعداد PPP من جهة الخادم.789/13801— هوية IPsec: موضوع الشهادة مقابل الاسم الذي تتصل به، وسلسلة الثقة، والمفتاح المشترك مسبقاً.
غيّر واحداً من تلك، وأعد اختبار الملف الشخصي نفسه، واكتب الرمز الجديد. رمز مختلف بعد تغيير هو تقدّم لا تناقض: لقد نقلت الفشل إلى مرحلة لاحقة، وهذا ما يبدو عليه إصلاح مصافحة متعددة المراحل. ما لا ينبغي فعله هو تغيير الجدار الناري والشهادة وكلمة المرور في جلسة واحدة ثم منح الفضل لآخرها.
شارك الأدلة، لا البيئة
رسائل الأحداث أغنى مما تبدو. فهي تحمل اسم الاتصال والحساب، وغالباً الاسم الداخلي للبوابة أو عنوانها، وأحياناً بصمة شهادة. احتفظ بالأصل حيث ينتمي، وابنِ نسخة منقّحة منفصلة لأي شخص آخر؛ فإعادة كتابة الخط الزمني من الذاكرة تفقد بالضبط التفاصيل التي تجعله مفيداً.
التسليم الذي يُنجَز يحتاج خمسة حقول: الرمز، والمرحلة التي ينتمي إليها، والعميل ونوع النفق، والطابع الزمني مع منطقته الزمنية، وهل رأت البوابة الطلب أصلاً. كل ما عدا ذلك اختياري. بهذه الخمسة يستطيع الشخص التالي التمييز بين حجة بيانات اعتماد وحجة توجيه دون تكرار التحقيق.
قبل أن تغلق أي شيء، أعد تشغيل المحاولة على الملف الشخصي نفسه وتأكد أين يستقر الرمز الآن. النجاح ينهي الأمر؛ والفشل المختلف يعني أن المرحلة الأصلية أُصلحت ولديك التالية في يدك.