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

ما يفعله العميل بين خادمين

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

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

نقطة النهاية الجديدة تحتاج ثقبًا في الحجب

لبناء النفق، على العميل أن يرسل حزمًا إلى عنوان الخادم الجديد ومنفذه على الواجهة الفعلية، مثل UDP 51820 في ملف WireGuard نمطي أو 1194 و443 في OpenVPN، حسب ما يحدده ملفك أنت. تلك الحركة ليست داخل النفق الذي هو على وشك إنشائه، لذا يبتلعها حجب يشمل الجهاز كله ما لم توجد قاعدة سماح مطابقة.

ملفات التعريف المعتمدة على اسم المضيف تضيف شرطًا ثانيًا: البحث نفسه. إذا حلّ العميل نقطة النهاية قبل صعود الحجب، أمكنه استخدام عنوان مخزّن مؤقتًا، لكن عندما يبدّل الملف العناوين أو تصبح المدخلة المخزنة قديمة، تتجه المصافحة إلى عنوان لا تغطيه قاعدة السماح. ويجعل IPv6 ذلك مرئيًا، لأن نقطة نهاية ثنائية الحزمة يمكن أن تنشر سجل A وسجل AAAA معًا، وقاعدة سماح تغطي عنوان v4 وحده تترك العميل يعيد المحاولة على عنوان v6 محجوب.

تختلف أسماء الخيارات وقيمها الافتراضية بحسب العميل والإصدار، فاقرأ القائمة الموثقة الخاصة بك بدل التخمين من لقطات الشاشة. مرجع إعدادات OpenVPN Connect على openvpn.net/connect-docs/app-settings-windows مثال على كيفية وصف عميل لخيارات الحجب والنفق المنقسم.

الإغلاق عند الفشل آلة حالات لا مفتاح

يعبّر معظم العملاء عن الحجب كسياسة جدار ناري في ثلاث حالات: النفق قائم، مع مرور الحركة عبره ودون حجب؛ النفق متوقف، مع حجب نشط؛ والانتقال، مع حجب نشط واستثناءات مؤقتة لنقطة النهاية. والحالة الثالثة هي موطن الأخطاء، لأنها يجب أن تتغير مرتين خلال ثوانٍ قليلة، والفشل في مغادرتها يبدو تمامًا كحجب دائم.

تختلف الآلية بحسب المنصة، ويختلف الفشل كذلك. تحمل مرشحات Windows Filtering Platform أوزانًا، فمرشح حجب يتجاوز قاعدة السماح يظل يُسقط الحزم رغم وجود السماح، و المرشحات التي يتركها عملية عميل مقتولة يمكن أن تُبقي الجهاز دون اتصال بعد اختفاء التطبيق. عادةً ما تكتب عملاء macOS قواعد pf في مرساة، حيث يحدد ترتيب القواعد والقرارات السريعة أي قاعدة تُطبّق. وتدير عملاء Linux عادةً سلسلة nftables أو iptables بسياسة إسقاط وسماحات صريحة لنقطة النهاية وواجهة النفق والاسترجاع المحلي. ويُعدّ خيار VPN الدائم في Android مع حجب الاتصالات دون VPN الأكثر صرامة في المجموعة، لأن النظام يطبّق الحجب على مستوى الجهاز لا على مستوى التطبيق.

يحتاج WireGuard إلى ملاحظة خاصة، لأن AllowedIPs محدّد توجيه لا حاجب. فهو يقرر أي الوجهات تدخل النفق؛ ولا يفعل شيئًا لمنع حزمة لا نفق لها بعد من الخروج عبر Wi-Fi. في إعداد WireGuard وحده دون قاعدة جدار ناري، يكون مفتاح الإيقاف في الحقيقة غياب مسار، وقد تتبع مصافحة مُسقطة حزمة حقيقية تخرج عبر الواجهة الفعلية.

قِس الفجوة بدل مراقبة الأيقونة

راقب الحزم لا ضوء الحالة. على Linux، ابدأ بينغًا بطيئًا نحو عنوان عام في طرفية، والتقط منفذ نقل النفق على الواجهة الفعلية في طرفية أخرى:

ping -i 0.2 -c 100 1.1.1.1 | tail -5

sudo tcpdump -ni eth0 'udp port 51820'

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

على Windows، يكتب netsh wfp show state لقطة يمكنك البحث فيها عن مرشحات حجب لا تزال موجودة بينما يدّعي العميل أنه غير متصل. وعلى macOS، يسرد sudo pfctl -sr القواعد المحمّلة وترتيبها. اقرن أي لقطة بسجل العميل نفسه؛ فالمخطط الزمني من البينغ يخبرك هل انتهى الحجب متأخرًا أم لم ينتهِ أبدًا.

انقطاع طبيعي مقابل حجب عالق

بعض الانقطاع هو جوهر الميزة، فافرز الحالة قبل أن تغيّر أي إعداد:

What you seeUsually meansNext check
Two or three seconds of timeouts, then normal browsingExpected fail-closed gapNothing to fix
State says connected, traffic stays deadBlock filter or route left behindFirewall snapshot, client log
One app dead while others workTCP session bound to the old exit addressRestart the app
LAN devices unreachable after the switchLAN exception not reappliedAllow-LAN or split-tunnel setting
New server hangs, the old one reconnectsPermit covers only the old addressResolved address of the new host, including AAAA

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

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

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