توجيه حركة المرور بين فرعين عبر بوابة VPN في Azure
يمكن لاتصالين من موقع إلى موقع على بوابة VPN واحدة في Azure تمرير حركة الفرعين، لكن فقط عندما يتعلم الطرفان البادئة ويوجد مسار العودة في الشبكة المحلية.
يمكن لفرعين تبادل حركة المرور عبر بوابة VPN في Azure دون أي نفق مباشر بينهما. يفتح كل فرع اتصال من موقع إلى موقع إلى البوابة نفسها، وتمرر البوابة البادئات المتعلَّمة بين الاتصالين. ما يجعل هذا يعمل ليس النفق الثاني بل تبادل المسارات: على الفرع A أن يتعلم بادئة الفرع B، وعلى B أن يتعلم بادئة A. راجع الفحوص أدناه بالترتيب وتوقف عند أول فحص يفشل، لأن كل خطوة لاحقة تعتمد عليه.
الشروط المسبقة، قبل أن تضبط أي شيء
أربعة شروط تحدد ما إذا كان هذا التصميم يمكن أن يعمل أصلاً. يجب أن تكون البوابة قائمة على المسارات وعلى SKU يدعم BGP، ويجب تفعيل BGP على الاتصالين، ويجب ألا تتداخل مساحات عناوين الفرعين، ولا يجوز أن يعتمد أي طرف على NAT لإخفاء بادئته الحقيقية.
خطّط أرقام ASN عن قصد. القيمة الافتراضية الموثقة في Azure هي 65515، ويحتاج كل موجّه فرع إلى رقم ASN خاص به لا يتعارض مع البوابة أو مع الفرع الآخر. إعادة استخدام قيمة افتراضية دون فحص إعداد بوابة موجود هي الطريقة التي يُرفض بها مسار AS لاحقاً.
تأكد أيضاً من أنك لا تتوقع سلوك اقتران VNet. تتبادل البوابة المسارات بين الاتصالين اللذين أعددتهما؛ وهي لا تجعل أي اقتران عابراً. إذا كان على شبكة ثالثة أن تصل إلى الفرعين، فإنها تحتاج اتصالها الخاص أو مسارها الخاص، وليس افتراض أن البوابة ستوزع الحركة. اكتب هذا الحد قبل نافذة التغيير الأولى، لأنه القرار التصميمي الذي يعود إليه الناس عند إضافة موقع لاحق.
اضبط بهذا الترتيب
لكل خطوة نتيجة قابلة للملاحظة، فلا تنتقل حتى تظهر.
- فعّل BGP على بوابة الشبكة الظاهرية وسجّل رقم ASN وعنوان النظير الخاص بها.
- أنشئ بوابة شبكة محلية لكل فرع بمساحة العنوان الحقيقية لذلك الفرع ورقم ASN وعنوان نظير BGP.
- أنشئ كل اتصال من موقع إلى موقع وفعّل BGP على الاتصال نفسه.
- اضبط موجّه الفرع على الاقتران بعنوان البوابة الذي خصصه Azure، لا بنقطة نهاية IKE العامة للبوابة بناءً على افتراض.
الخطوة الرابعة هي حيث تتعطل معظم المحاولات. عنوان نظير BGP الذي يبلغ عنه Azure هو الذي يجب أن يستخدمه موجّه الفرع كجار له، وهو ليس دائماً العنوان الذي يتوقعه الناس من مخطط النفق.
أعلن بادئة الفرع نفسها، مثلاً 10.10.0.0/16 من A وبادئة 10.20.0.0/16 من B. لا تعلن مساراً افتراضياً أو تجميعاً واسعاً لتغطية شبكة محددة مفقودة؛ تعود الفجوة لاحقاً كثقب أسود صامت.
تحقّق من تبادل المسارات على الطرفين
حالة الاتصال ليست الفحص. يمكن أن يكون IPsec قائماً على الاتصالين بينما لا تعبر أي بادئة بينهما. اقرأ نظراء BGP في البوابة والمسارات المتعلَّمة، ثم تأكد من أن المسار نحو الفرع الآخر يظهر كمسار صالح للاستخدام.
| Check | Where | Stop if |
|---|---|---|
| BGP session established | Gateway BGP peers, branch router neighbour state | Session is Idle or Active on either side |
| Prefix learned | Gateway learned routes, branch BGP table | The other branch's prefix is absent |
| Prefix selected | Branch routing table, effective routes on the VNet | Prefix is known but a more specific route wins |
قد تخسر بادئة موجودة في جدول BGP قرار التمرير لصالح مسار ثابت أو بادئة أكثر تحديداً. افحص المسار المختار، لا المسار المستلم فقط.
اتبع مسار العودة على جانب الشبكة المحلية
هذا هو الجزء الذي يبدو صحيحاً في Azure ويفشل في الموقع. لا يرسل مضيف في الفرع A حزمته إلى موجّه VPN في A إلا إذا كان ذلك الموجّه بوابته الافتراضية، أو إذا كان المضيف أو بوابته يحمل مساراً لبادئة B. ويجب أن ينطبق الشيء نفسه في الاتجاه الآخر.
إذا كان مفتاح أساسي منفصل هو البوابة الافتراضية للشبكة المحلية، فإنه يحتاج مساراً نحو الفرع الآخر يشير إلى موجّه VPN. دونه يصل الطلب ويخرج الرد عبر مسار الإنترنت، ويرى المستخدم اتصالاً يفتح ثم يتوقف.
لا تلجأ إلى مجموعة أمان شبكة على الشبكة الفرعية للبوابة لإصلاح هذا. لتلك الشبكة الفرعية متطلباتها الخاصة، ووجود NSG هناك ليس بديلاً مدعوماً لسياسة جانب الفرع. التصفية مكانها جدران حماية الفروع والأحمال نفسها، حيث يمكن للأشخاص المالكين مراجعة القواعد. ونقل تلك القواعد إلى NSG للشبكة الفرعية يخفيها أيضاً عن الفريق الذي سيشخّص العطل التالي.
اسمح بالعملية، ثم أثبتها باختبار مرفوض
المسار المتعلَّم ليس إذناً. اسمح بالمصدر والوجهة والخدمة التي تحتاجها فعلاً عبر جدران حماية الفروع وسياسة نقطة النهاية، واترك الباقي مرفوضاً.
اختبر من حمل عادي في الفرع A إلى خدمة حقيقية في الفرع B، وتأكد من الرد، ثم جرّب عملية يجب أن تبقى ممنوعة. يمكن للحركة التي يولّدها جهاز VPN نفسه أن تستخدم عنوان مصدر مختلفاً وتتجاوز مرحلة التوجيه في الشبكة المحلية، لذا فإن نجاح ping من الموجّه يثبت أقل مما يبدو.
اختم بكتابة أربع حقائق: البادئات المتبادلة، وأرقام ASN المستخدمة، ومسار العودة في الشبكة المحلية لكل جانب، والسياسة التي تسمح بالخدمة. إذا غاب واحد منها، يعمل الإعداد حتى أول تغيير، ثم لا يستطيع أحد تفسير السبب.