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

افصل العَرَض قبل تغيير أي شيء

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

لا تبدأ بوحدة MTU. القيمة الخاطئة لـ MTU تنتج توقفًا وأعراض تجزئة، لا انقسام اتجاه نظيف مع تصاعد عدادات الصادر.

اقرأ قاعدة السياسات وقاعدة الحالات

في Linux تحدد إدخالات السياسة التشفير، لذا السياسة المطابقة، لا المسار، هي ما يُدخل الحزمة إلى النفق. نفّذ ip xfrm policy لرؤية المحددات والاتجاه والأولوية والقالب لكل إدخال، و ip xfrm state لرؤية الروابط المنشأة مع معرفات reqid الخاصة بها. تُربط السياسة بالرابطة بذلك المعرف.

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

عدم التماثل الكلاسيكي: معرف reqid واحد لشبكات فرعية متعددة

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

الإصلاح تغيير في التهيئة لا قاعدة جدار حماية: generate_policy unique; يمنح كل سياسة معرف reqid خاصًا بها، فتصبح لروابط النظير لكل سياسة نظراء مطابقون. طبّقه، وأعد التفاوض، وعُدّ معرفات reqid المختلفة للشبكات الفرعية المتوقعة قبل إعلان النجاح.

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

المحددات تأتي من التفاوض لا من تهيئتك

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

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

تحقق بهذا الترتيب، واعرف كيف تتراجع

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

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

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