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

مطابقة الاسم تعيش أطول من الواجهة

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

الاسم مفتاح مطابقة، وليس دليلا على هوية الطرف الآخر. تبقى مصادقة النظير مهمة VPN.

اقرأ السلسلة قبل إضافة القواعد

انظر إلى ما تحتويه مجموعة القواعد الآن وإلى الموضع الذي ستشغله قاعدة جديدة، لأن الترتيب يحدد النتيجة.

nft list ruleset
nft -c -f /etc/nftables.conf

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

المسارات والترجمة والتدفقات لها مالكون آخرون

وجود الواجهة لا ينشئ مسارات، ولا يصادق على النظير. تلك مهام مدير VPN، أما الترجمة فلها دورة حياة ثالثة.

conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0

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

اقبل البدء البارد والفقدان والتعافي

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

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

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