هل يعطّل عميل VPN على خادم الويب ردوده؟
قد تعيد قاعدة توجيه قائمة على المصدر موقعًا منشورًا واحدًا إلى العمل مع إعفاء حركة لم تقصدها قط. اقرأ المحدِّد قبل أن توسّع الاستثناء.
يُحمَّل الموقع من حاسوب محمول على الشبكة نفسها، بينما ينتهي بالانقطاع من كل مكان آخر، كما يشغّل المضيف عميل VPN لحركته الصادرة. ينتج عن هذا المزيج عطل محدد: يصل الاتصال الوارد، ويغادر الرد عبر المسار الخطأ، فلا يرى العميل في الخارج أي إجابة. يظهر النصفان في نفس التقاط الحزم، لذا فإن ترتيب الأحداث هو الجزء الجدير بالقراءة.
غالبًا ما تعالج قاعدة توجيه قائمة على المصدر العَرَض. وهي أيضًا تعفي عادةً حركة أكثر من الموقع الذي دفع إلى إنشائها، وهذا هو الجزء الجدير بالفهم قبل حفظ القاعدة.
العَرَض: يستجيب محليًا ولا يستجيب من الخارج
داخل الشبكة لا يحتاج الرد إلى عبور النفق، فتُحمَّل الصفحة وتبدو الخدمة سليمة. من الخارج يصل الطلب إلى المضيف ويُوجَّه الرد إلى داخل VPN، حيث لا يوجد لدى الطرف البعيد سبب لقبوله. يرى المتصفح مهلة انتهاء بدلًا من رفض، وهذه هي بصمة مسار أحادي الاتجاه وليست بصمة منفذ مغلق.
أكّد الشكل قبل تغيير التوجيه: المستمع يعمل، والطلب المحلي ينجح، والطلب الخارجي لا ينتج أي رد على الإطلاق. تشير هذه الملاحظات الثلاث معًا إلى مسار العودة لا إلى إعدادات خادم الويب. هذا التباين النظيف أنفع من أي سطر سجل، لأنه يستبعد المستمع قبل أن تقرأ رسالة خطأ واحدة.
أبقِ مسار إدارة مستقلًا مفتوحًا أثناء عملك. القاعدة التي تكسر جلسة SSH الخاصة بك تحوّل إصلاحًا يستغرق عشر دقائق إلى زيارة مادية.
ما يطابقه محدِّد المصدر فعليًا
في توجيه السياسات على Linux، تطابق قاعدة مثل from 192.168.50.2 الحزم التي يكون مصدرها ذلك العنوان. وهي لا ترمز إلى حقيقة أن الحزمة تواصل محادثة دخلت عبر الراوتر المنزلي، ولا تعرف أي عملية أنشأتها. العنوان في ذلك المثال توضيحي؛ استبدله بالعنوان الذي يستخدمه مضيفك فعليًا. تعامل مع السطر كبيان عن العناوين ولا شيء أكثر.
إذا وفّر الجدول المختار مسارًا افتراضيًا عاديًا، فيمكن لكل حزمة تحمل ذلك المصدر أن تأخذ الاستثناء نفسه. أي خدمة أخرى مرتبطة بالعنوان نفسه ترثه، والتطبيق الذي يرتبط عمدًا بذلك العنوان يرثه أيضًا. يسرد مرجع قواعد السياسات المصدر والوجهة والبروتوكول والمنفذ والعلامة والأولوية كمحدِّدات منفصلة، وهذا تذكير بأن المصدر وحده هو الأكثر فظاظة بينها.
الأولوية تحسم النتيجة. تجري عمليات البحث بالترتيب، ويمكن أن ينهي أول جدول يعطي نتيجة البحث كله، لذا فإن قاعدة موضوعة مبكرًا جدًا قد تحجب مسارًا أكثر تحديدًا كان جدول لاحق سيوفرّه. اقرأ القائمة المرتّبة كاملة بدلًا من السطر الواحد الذي أضفته. القاعدة التي لا تطابق أبدًا لا تكلف شيئًا، أما التي تطابق مبكرًا جدًا فتغيّر كل ما خلفها بصمت.
تحقق من مسار الرد ومن الحركة التي لم تقصدها
اقرأ القواعد والجداول، ثم اسأل النواة أي مسار سيسلكه زوج محدد من المصدر والوجهة. الاختبار من المضيف نفسه ليس كالاختبار من الخارج، لذا نفّذ الاثنين.
ip rule show
ip route show table 100
ip route get 203.0.113.44 from 192.168.50.2
ss -ltnp '( sport = :443 )'
ثم اقبل اتصالًا خارجيًا جديدًا، وبشكل منفصل، طلبًا يجب أن يخرج مع ذلك عبر VPN. إذا خرج الثاني الآن مباشرة، فالاستثناء أوسع من المشكلة التي كنت تحلها، والاختبار المهم هو الذي لم تكن تنوي تغييره.
فحص العنوان العام في المتصفح يبلّغ فقط عن الطلبات التي أجراها ذلك المتصفح. ولا يقول شيئًا عن ردود خادم الويب، ولا عن اختيار المصدر في تطبيق محلي آخر، ولا عما يحدث لحركة الإدارة بعد إعادة الاتصال التالية بـ VPN.
حدّد مدى ضيق الاستثناء الممكن
هناك تصميمان مقبولان وينبغي اختيارهما عن قصد. إذا كان المضيف موجودًا لنشر هذه الخدمة وكانت حركته الصادرة غير مهمة، فإن عنوانًا محليًا مخصصًا مع سياسة WAN فقط ترتيب معقول بشرط أن تقبل النطاق كله. أما إذا كان ينبغي أن تنطبق شروط على اتصالات واردة معينة فقط، فإن اختيار العنوان خشن جدًا ويجب أن يسبقه تصميم يراعي الاتصالات.
سجّل العقد الذي تعتمد عليه: التعيين العام، وعنوان المضيف الذي يُسلَّم إليه الطلب، والمسار الذي يُتوقع أن يسلكه الرد. الخدمة الواردة المنشورة عبر مزوّد VPN عقد مختلف عن خدمة منشورة عبر راوتر منزلي، والاستثناء المنسوخ من مثال واحد غالبًا ما يكون خاطئًا للآخر.
احفظ السياسة في المكوّن الذي يملك التوجيه بدلًا من لصق أمر في ملف بدء التشغيل. يجب أن يصمد ترتيب القواعد والتنظيف بعد تغيير الشبكة وإعادة التشغيل بعد إعادة الإقلاع، وملف بدء التشغيل غير المختبَر يفشل عادةً في اللحظة التي لا تنظر فيها. اختم بنتيجة قبول يمكنك الدفاع عنها: موقع منشور واحد استُعيد وتدفّق غير ذي صلة واحد بقي دون تغيير.