لا تحتاج إلى حساب حقيقي لتعرف ما إذا كان مفتاح الإيقاف يصمد؛ فهذا بالضبط ما يعرّضه الاختبار للخطر۔ ينشئ الفحص نافذة قصيرة قد تخرج فيها حركة المرور خارج النفق أو لا تخرج، لذا يجب أن تكون الحمولة شيئًا يمكنك خسارته۔ أنا أجري هذا الآن بصفحة طُعم وملف تعريف متصفح احتياطي، وهو يعطي إجابة أوضح من روتين المتصفح والبريد الإلكتروني الذي استخدمته سابقًا۔ وما يلي يسير بالترتيب نفسه الذي يعرضه العميل: الإعداد، والوجهة، والانتقال، ثم الأدلة۔

يجيب الاختبار عن سؤال ضيق واحد: أثناء هذا الانتقال، هل يستطيع هذا التطبيق الوصول إلى الشبكة خارج النفق؟ لا يقول شيئًا عن مدى معقولية بقية السياسة۔ أبقِ النطاق بهذا الضيق وستكون النتيجة جديرة بالتدوين۔

اعثر على المفتاح ونطاقه في العميل

افتح العميل وحدّد إعداد الحجب قبل أن تغيّر أي حالة شبكة۔ تسمّيه البائعون بأسماء مختلفة: مفتاح الإيقاف، ووضع الإغلاق، وقفل الشبكة، وحجب الحركة خارج النفق۔ لا يخبرك الاسم بأكثر مما تخبره الخيارات بداخله۔ المهم هو ما إذا كان الحجب يُطبَّق دائمًا، أم فقط عندما يقرّر التطبيق أن نفقًا فشل للتو، وما إذا كان يغطي كل تطبيق أم قائمة مختارة۔

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

سجّل ملف التعريف أيضًا: البروتوكول وعائلات العناوين وما إذا كان النفق المنقسم مفعّلًا۔ ادعاء تغطية الجهاز كله لا معنى له إذا كان ملف التعريف يستثني بغرض واضح تطبيقات قليلة، والاستثناء الذي أعددته ليس تسريبًا۔ مرجع إعدادات OpenVPN Connect هو نوع الصفحة التي تسمّي أي مفتاح يغيّر أي سلوك، وإن اختلفت التسميات من عميل لآخر۔

اختر وجهة طُعم تعمل أيضًا دون النفق

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

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

أنشئ خط الأساس قبل لمس المفتاح۔ مع تشغيل النفق، يجب أن يجيب الطُعم عبر النفق، وهذا يثبت أن مسار السياسة يعمل۔ ومع تعطيل النفق ورفع الحجب، يجب أن يجيب مباشرة، وهذا يثبت أن الوجهة حيّة۔ عندها فقط يخبرك فشل في حالة الحجب بشيء۔

نفّذ الانتقالات بترتيب ثابت

خُذ الانتقالات واحدًا واحدًا وامنح كلًا منها بضع ثوانٍ ليستقر، لأن العملاء غالبًا ما يهدمون القواعد ويعيدون بنائها في تلك الفجوة۔ وتشغيل الفحص القصير نفسه كل مرة يبقي الملاحظات قابلة للمقارنة:

curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_exit=$?"
dig +short decoy.example
curl -6 -sS -o /dev/null -w 'v6_http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_v6_exit=$?"
TransitionExpected with the block onFailure signature
Manual disconnectDecoy stops answering within secondsDecoy still returns 200
Server or path failureBlocked, with no exemption for the old endpointDirect access during the gap
Quit the appClient-dependent; record what happensBlock disappears with the process
Wi-Fi to EthernetBlock holds until the tunnel returnsTraffic flows mid-change

يستحق صف «إغلاق التطبيق» تشغيلًا خاصًا به حتى لو لم تغلق العميل أبدًا في الاستخدام العادي۔ إذا رُفع الحجب عند الخروج، فإن انهيارًا أو تحديثًا قسريًا يمنحك التعرض نفسه، وهذه حقيقة عن النشر لا عن صبرك۔ على Windows تكون الفحوص المكافئة Resolve-DnsName decoy.example وcurl.exe -s -o NUL -w "%{http_code}" http://decoy.example/۔

افصل الحجب عن مُحلِّل معطوب

الصفحة التي تفشل في التحميل لها أسباب عدة، وواحد فقط منها هو أن المفتاح يعمل۔ إذا لم يُحلّ الاسم، فقد عرفت أن DNS محجوب أو معطوب، لا أن مسار البيانات محجوب۔ افحص عنوانًا حرفيًا أيضًا، حتى لا تعتمد الإجابة على التحليل إطلاقًا۔

تُبقي رموز خروج curl هذه الحالات منفصلة: 6 فشل في تحليل الاسم، و7 يعني أن الاتصال رُفض، و28 مهلة انتهاء۔ المسار المحجوب يظهر عادةً كمهلة أو رفض تجاه عنوان حرفي۔ حجب DNS فقط يترك 6 ويخفي كل شيء آخر۔ الصفحة المخزّنة مؤقتًا أو بوابة الالتقاط تخدع العين، ولهذا فإن رمز الخروج، لا الشاشة، هو الدليل۔

أعد الفحص عبر IPv6 بعنوان حرفي۔ الحجب الذي يغطي IPv4 ويتجاهل IPv6 شائع بما يكفي ليستحق سطرًا خاصًا في ملاحظاتك، والعميل الذي يعطّل IPv6 خارج النفق يجب أن يفشل بنظافة على العائلتين۔

دوّن النطاق الذي تغطيه النتيجة

عندما يعود النفق، أكّد التعافي: يجيب الطُعم عبر النفق، ويعيد المحلّل إجابات، وتبقى السياسة حيث تركتها۔ ثم تراجع عن التجارب۔ قاعدة جدار حماية مؤقتة أو مسار تصحيح أو ملف تعريف اختبار تُرك في مكانه سيربك التشغيل التالي وقد يعيش أطول من التطبيق۔

الجولة الواحدة تغطي إصدار عميل واحدًا وملف تعريف واحدًا وانتقالًا واحدًا وعائلة عناوين واحدة۔ دوّن هذه الأربعة مع النتيجة:

  • إصدار العميل والمنصة، وما إذا كان الإعداد لكل ملف تعريف أم عامًا۔
  • ملف التعريف والبروتوكول وأي استثناءات للنفق المنقسم۔
  • الانتقال الذي اختُبر، وكيف أطلقتَه۔
  • عائلات العناوين وDNS، مع رموز خروج curl لحالتي الحجب ورفعه۔

إذا كان أي سطر فارغًا، فالاختبار لم ينتهِ۔ التجوال يعني إعادة صف تغيير الشبكة۔ إعادة التشغيل غير المراقبة تعني التحقق من عودة القواعد، وهذا سؤال عن ترتيب الاستعادة لا عن المفتاح۔ أعد تشغيل التسلسل بعد تحديث العميل، لأن المفاتيح نادرًا ما تتغير بينما يتغير السلوك خلفها۔ أبقِ الطُعم قريبًا: لا شيء لتدويره، والفحص التالي يستغرق خمس دقائق۔

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