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

البوابة الأولى: ما أرسله الجار فعلاً

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

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

show ip bgp 10.60.20.0/24
show ip bgp neighbors 203.0.113.5 advertised-routes
show ip route 10.60.20.0
show ip cef 10.60.20.0

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

البوابة الثانية: الاختيار ثم التثبيت

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

يفصل RFC 4271 بين ثلاث أفكار: ما أرسله النظير، وما اختاره هذا المتحدث كأفضل، وما سيعلنه لاحقاً. هذه أدوار مفاهيمية لا ثلاث قواعد بيانات مادية يجب على المورّد كشفها، لكن هذا الفصل بالضبط هو ما يجعل «إنه في BGP» إجابة ناقصة.

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

البوابة الثالثة: البحث المطبق على هذا المسار

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

ip route get 10.60.20.25 from 10.60.10.40
ip rule show
sudo tcpdump -ni tun0 'host 10.60.20.25'

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

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

البوابة الرابعة: النصف البعيد من المسار

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

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

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

سمِّ الانتقال الذي فشل

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

أبقِ اختباراً سلبياً في خطة القبول أيضاً: وجهة يجب ألا تعبر النفق، تُتحقق بعد التغيير. قائمة تحقق تثبت المسار السعيد فقط لن تلتقط قاعدة السياسة الواسعة التي يضيفها أحدهم في نافذة الصيانة التالية.

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