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

اقرأ الفشل من جهاز العمل أولًا

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

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

اختر قرين توجيه واحدًا لكل موقع

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

اكتب الخطة قبل لمس وحدة التحكم، لأن الأسماء والبادئات هي حيث تنحرف هذه التصاميم: البادئة والبوابة وعنوان القرين والمجموعة، لكل موقع. الغرب هو 10.52.0.0/24 يخدمه 10.52.0.5 والشرق هو 10.63.0.0/24 يخدمه 10.63.0.5، والمجموعتان هما west-routers وeast-routers، ولا يجوز أن تتداخل أي بادئة مع الأخرى أو مع نطاق التراكب أو مع وجهة أخرى موجّهة.

أنشئ المورد، وأبقِ التمويه مفعّلًا

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

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

صرّح للمبتدئين، لا للبادئات

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

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

علّم كل بوابة القفزة التالية، ثم اختبر الرفض

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

وصفا المسار ينتميان إلى إعداد بوابة كل موقع، لا إلى تجاوز على المضيف. كلاهما مسار ثابت عادي، ولا يمس أي منهما المسار الافتراضي:

west gateway: 10.63.0.0/24 via 10.52.0.5
east gateway: 10.52.0.0/24 via 10.63.0.5

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

TestA pass looks likeA failure points at
Ordinary workstation opens the east applicationNext hop on west is the routing peerMissing static route on the west gateway
A source outside policy is refusedNo session in the service logPolicy too broad, or a route bypasses it
East starts a connection, if requiredA fresh reverse session succeedsNo policy for the reverse direction

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

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