مهلة اتصال VPN: DNS أو النقل أو التفاوض أو تسجيل الدخول
انتهاء المهلة يعني فقط أن أجلاً مضى. قارن أربع مراحل، تحليل الاسم والنقل والتفاوض وتسجيل الدخول، لتعرف أيها اكتمل أخيرًا.
«انتهت مهلة الاتصال» هو أقل رسالة خطأ تحديدًا يمكن لعميل VPN أن يطبعها. معناها أن عملية واحدة أضاعت أجلها، ولكل مرحلة من تحليل الاسم إلى رد تسجيل الدخول أجل. العملاء الذين يعرضون الرسالة الأخيرة فقط يجعلون المراحل تبدو متطابقة، فيرفع الناس المهلة ويغيّرون المنفذ ويعيدون تثبيت الملف الشخصي، بهذا الترتيب، دون أن يتعلموا شيئًا. مقارنة المراحل أسرع: كل مرحلة تفشل في موضع مختلف، وكل فشل يترك نوعًا مختلفًا من الأدلة.
أربع مراحل، أربعة أعطال مختلفة
التسلسل ثابت حتى عندما يخفيه العميل: يجب أن يُحلّ الاسم، ويجب إنشاء نقل إلى العنوان الناتج، ويجب أن يتفاوض البروتوكول على معاملاته ومفاتيحه، ويجب مصادقة الحساب. دليل استكشاف أخطاء الاتصال وإصلاحها في OpenVPN يتبع الترتيب نفسه لعميله، والبقية تتبعه عن قرب. انتهاء المهلة في المرحلة الثانية وانتهاء المهلة في المرحلة الرابعة لا شيء بينهما سوى الكلمة على الشاشة.
| Stage | Looks like | What it does not prove |
|---|---|---|
| Name resolution | fails in under a second, before any contact | nothing about the server being up |
| Transport | waits the full timeout, then gives up | nothing about the VPN service behind the port |
| Negotiation | connects, then stalls at handshake | nothing about credentials |
| Login | a reply arrives and is rejected or hangs on a prompt | nothing about reachability |
اقرأ السجل بحثًا عن آخر سطر يدل على تقدم، لا آخر سطر قبل الخطأ. معظم العملاء يطبعون شيئًا مثل عنوان مُحلَّل أو مقبس مُنشأ أو مصافحة بدأت أو طلب مصادقة، والمرحلة التي تلي ذلك السطر هي التي انتهت مهلتها.
تحليل الاسم يفشل قبل الاتصال بأي شيء
إذا لم يُحلّ العنوان الطرفي أبدًا، فليس لدى العميل ما يتصل به ولم يحدث أي عمل نقل. هذا الفشل عادة فوري لا مهلة كاملة، وهو أرخص طريقة لتمييزه عن البقية. اختبر الاسم بمحلل النظام وبمحلل ثانٍ، وقارن الإجابتين قبل أن تستنتج أن الخادم معطل.
العنوان القديم المنسوخ من منشور منتدى سبب شائع لمهلة تشبه مشكلة خادم، لأن العنوان صار الآن ملكًا لشيء آخر أو لشيء لا وجود له. استخدم ملف المشغّل الحالي بدل استبداله بعنوان كان يعمل سابقًا. غياب رد ping ليس دليلًا في أي اتجاه: كثير من النقاط الطرفية تُسقط ICMP وهي تخدم جيدًا تمامًا.
إعداد النقل ينتظر حزمة لن تأتي
عندما يكون DNS سليمًا ويستهلك العميل المهلة كلها، فطبقة النقل هي المشتبه به. على TCP يمكنك اختبار المنفذ مباشرة؛ Test-NetConnection على Windows أو nc -vz على Linux يخبرك هل يقبل شيء ما الاتصال، وذلك أنفع من ping. على UDP لا يمكنك الاختبار بالطريقة نفسها، لأنه لا توجد مصافحة تكتمل في تلك الطبقة، وهذا التفاوت يسبب كثيرًا من الاستنتاجات الخاطئة.
ما يثبته اختبار TCP محدود: خدمة تقبل المنفذ 443 ليست بالضرورة مستمع VPN، والنقطة الطرفية التي تعمل بـ UDP فقط ليس لديها منفذ TCP لقبول أي شيء. إعادة كتابة ملف شخصي من UDP إلى TCP لا تُنشئ مستمعًا على الجانب الآخر؛ إنها فقط تغيّر ما ينتظره عميلك. وإذا كانت الشبكة ترشح البروتوكول، فالتغيير ينتج مهلة مختلفة في المرحلة نفسها.
البوابات الأسيرة تستحق فحصًا خاصًا في هذه المرحلة. إلى أن تصرّح البوابة للجهاز، يذهب المرور الخارجي إلى البوابة وتعلق محاولة النفق ببساطة. أكمل البوابة في متصفح أولًا ثم أعد المحاولة، ولا تغيّر الملف الشخصي ما دامت البوابة معلقة.
التفاوض وتسجيل الدخول يعنيان أن الخادم أجاب
بمجرد أن يصل النفق إلى الخادم، يبدأ العميل مصافحة ويتغير طابع الخطأ. التوقف هنا يتعلق بالتوافق لا بالوصول: إصدارات بروتوكول غير متطابقة، أو إعداد تشفير أو قناة بيانات لا يقبله الجانب الآخر، أو ملف شخصي يتوقع ميزة لا يقدمها الخادم. OpenVPN غيّر إعداداته الافتراضية للتفاوض بين الإصدارات الرئيسية مرات كثيرة حتى إن ملفًا شخصيًا مكتوبًا لجيل واحد يمكن أن يصل إلى الخادم ويظل يفشل في الإقلاع.
المصادقة هي المرحلة الأخيرة وأسهل ما يُقرأ خطأً. الرفض الصريح هو رد، ما يعني أن المسار يعمل والمشكلة في الهوية أو الشهادة أو حالة الحساب. تدفق الدخول الموحد عبر المتصفح حالة ثالثة: العميل ينتظر إجراءً لم تتخذه، أو متصفحًا لا يستطيع إطلاقه، ولن يصل شيء حتى تُكمل تلك الخطوة.
قارن الأدلة قبل تغيير إعادة المحاولة
أبقِ الجهاز والملف الشخصي ثابتين وغيّر شيئًا واحدًا في كل مرة، بدءًا بالشبكة. إذا كان الملف نفسه يتصل عبر نقطة اتصال الهاتف وتنتهي مهلته على Wi-Fi الفندق، فالمسار هو المتغير لا الخادم. وإذا فشل في كل مكان، فالملف الشخصي أو النقطة الطرفية هو المتغير. وإذا فشل في وقت واحد فقط من اليوم، فالتقط الطابع الزمني وقارنه بأحداث جانب الخادم قبل أن تفترض أي شيء عن الحمل.
بالنسبة لخدمة تديرها، المقارنة الحاسمة هي هل تصل المحاولة أصلًا. الاتصال الذي يبلغ المستمع ثم يتوقف ينتمي إلى مرحلة التفاوض؛ أما الذي لا يظهر أبدًا في رؤية المستمع فمشكلة نقل أو تحليل، ولن يحركه أي قدر من ضبط إعادة المحاولة. سجلات الخادم تفصل أيضًا بين تسجيل دخول مرفوض وإسقاط صامت، وهو الفرق بين إصلاح هوية وإصلاح جدار حماية.
سجّل إصدار العميل واسم الملف الشخصي ووقت المحاولة مع منطقته الزمنية وأول خطأ مفيد بدلًا من سطر الانقطاع الأخير. انزع المفاتيح والمواد الحاملة لبيانات الاعتماد قبل مشاركة المقتطف. ثم اصنع تصحيحًا واحدًا ذا معنى وأعد المحاولة، لأن الأجل الأطول لا يساعد إلا العملية البطيئة الموثقة، ولا يفعل شيئًا لعنوان خاطئ أو منفذ محظور.