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

حدّد المدير والواجهة الخلفية

ابدأ بما هو محمّل فعليًا لا بما هو مثبَّت. قد تأتي التوزيعة بـ firewalld وufw وخدمة nftables عادية، وواحد فقط منها يملك مجموعة القواعد العاملة. تتعايش الحزم بسلام، والقاعدة التي تُدخل عبر الواجهة الأمامية الخاطئة لا تصل إلى النواة أبدًا. اقرأ الخدمة النشطة، ثم اقرأ مجموعة القواعد التي أنتجتها.

الواجهة الخلفية تهم بقدر ما تهم الواجهة الأمامية. يمكن لتثبيت firewalld أن يقود nftables أو واجهة iptables القديمة بحسب الإصدار والإعداد، والاثنان ينتجان مخرجات فحص مختلفة. اكتب التوزيعة والإصدار والواجهة الخلفية في التذكرة قبل مقارنة نظامك بأي دليل.

طابِق الاتجاه والواجهة

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

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

أبقِ مالكي القواعد على اتفاق

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

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

تحقّق من الإصلاح دون فقدان الإغلاق

افحص الحالة المطبَّقة بالمدير الذي يملكها، باستخدام أوامر تطابق الواجهة الخلفية التي سجّلتها. تفترض القائمة أدناه أن firewalld هو المسؤول؛ استبدل بالأمر المكافئ لـ nftables أو ufw بدلًا من تشغيلها جميعًا. خلط الأدوات في جلسة واحدة هو كيف ينتهي الجهاز بمجموعتي قواعد متعارضتين.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=trusted --list-all
sudo nft list ruleset | head -40

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

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

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