هاتفان وملف تعريف واحد ونمط يبدو خارقًا للطبيعة حتى يراقب أحدهم البوابة. يحتفظ جهاز واحد بالنفق، ويتصل الثاني، فيفقده الأول خلال ثوانٍ. يعيد الأول الاتصال فيسقط الثاني. يُلام توفير البطارية وتجوال Wi-Fi وNAT المشغّل، بينما السبب الحقيقي يكمن في حقل نصي نُسخ مع كل شيء آخر. يعرّف IKEv2 النظير باسم، وكلا الهاتفين يقدّم الاسم نفسه.

الهوية هي المفتاح الذي يخزّنك الخادم تحته

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

لا شيء في هذا عيب في العميل. أرسل العميل بالضبط ما أمره ملف التعريف بإرساله.

كيف يبدو التصادم من البوابة

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

ObservationShared identityIdle teardown
Peer entries while both are awakeOne, with a changing addressOne per phone, or none
What triggers the dropThe other device connectingTime without traffic
What restores itThe other device disconnectingAny app needing the tunnel

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

من أين تأتي النسخ المكررة

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

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

أصدر قيمة لكل جهاز

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

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

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

تحقّق بينما كلا الهاتفين مستيقظان

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

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

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