أحد التطبيقات على الجهاز يخرج عبر VPN والآخر لا، وكلاهما يقسم أنه لم يغيّر شيئًا. الفرق غالبًا قرار ربط يتخذه التطبيق نفسه: مقبس مرتبط بجهاز، أو عنوان مصدر يُختار قبل الاتصال، أو فضاء أسماء له جدول توجيه خاص. كل واحد منها يغيّر المسار المطبق، ولا يظهر أي منها في فحص عام لعنوان IP في المتصفح.

ثلاثة أنواع مختلفة من الربط، ثلاثة آثار مختلفة

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

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

حدّد ما يضبطه التطبيق فعلاً

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

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

التوجيه بالسياسات يقرأ المصدر

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

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

الأنفاق المنقسمة والعمليات المساعدة

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

تحقق مما إذا كانت قاعدة النفق المنقسم تشمل العملية التي تتصل فعلاً. إذا ربط التطبيق نفسه بواجهة معينة وطابق عميل VPN حسب الحزمة، فقد يختلف القراران دون أن يكون أي منهما خاطئًا.

اختبر مسار التطبيق نفسه

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

يوثّق مرجع مقابس Linux الخيار SO_BINDTODEVICE ومتطلباته. اقرأ إعدادات التطبيق نفسه أولاً، وأعد إنتاج البحث في السياق نفسه، وعندها فقط قرر ما إذا كان المسار أو الربط يحتاج إلى تغيير.

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