المحتويات

المقدمة

المخطط

متطلبات تكوين نظير OSPF

أستكشاف أخطاء تجاور OSPF وإصلاحها - قائمة التحقق العامة

أستكشاف أخطاء عملية تجاور OSPF وإصلاحها - الأخطاء

التقاط حركة مرور بيانات مستوى التحكم على العقدة

التحقق من Wireshark

سيناريوهات أستكشاف الأخطاء وإصلاحها

أستكشاف أخطاء تجاور OSPF وإصلاحها: عدم تطابق معرف المنطقة

أستكشاف أخطاء OSPF التجاور وإصلاحها:عدم تطابق نوع المنطقة

أستكشاف أخطاء تجاور OSPF وإصلاحها:معرف الموجه المكرر

أستكشاف أخطاء OSPF التجاور وإصلاحها:عدم تطابق MTU

أستكشاف أخطاء OSPF التجاور وإصلاحها:عدم تطابق المصادقة

أستكشاف أخطاء تجاور OSPF وإصلاحها: عدم تطابق مؤقتات الترحيب/الإيواء

أستكشاف أخطاء OSPF التجاور وإصلاحها:عدم تطابق نوع الواجهة

بث

الاتصال من نقطة إلى نقطة

غطاء أوامر التحقق

معلومات ذات صلة

المقدمة

يصف هذا المستند أستكشاف أخطاء أخطاء البنية الأساسية المرتكزة على التطبيقات (ACI) وإصلاحها عند فتح أقصر مسار أولا (OSPF) لتجاور التطبيقات.

المخطط

المخطط

متطلبات تكوين نظير OSPF

OSPF هو أحد البروتوكولات التي يمكنك تمكينها بين واجهة التحكم في الوصول (ACI) من Cisco والموجه الخارجي. تدعم واجهة التحكم في الوصول (ACI) من Cisco جميع الخيارات الشائعة، مثل منطقة OSPF بما في ذلك العمود الفقري وخيارات الجذوع المختلفة ومصادقة المجاور وخيارات أخرى مشابهة.

يتضمن L3Out خيارات بروتوكول التوجيه، والتكوين الخاص بالمحول (ملف تعريف عقدة)، والإعدادات الخاصة بالواجهة (ملف تعريف واجهة). يمكن تكوين المعلمات المتعلقة ب OSPF بشكل رئيسي في مكانين مثل الموجه العادي. الأول هو التوجيه وإعادة التوجيه الظاهري (VRF) عبر الشبكة أو التكوين على مستوى العقدة مثل معرف المنطقة ونوع المنطقة التي يمكن تكوينها على L3Out نفسه. والمعلمة الثانية هي معلمات مستوى الواجهة مثل الفاصل الزمني لمرحبا الخاص ب OSPF أو نوع الواجهة (البث، من نقطة إلى نقطة(P2P)).

هذه هي المتطلبات الخاصة بتجاور OSPF الذي سيتم إنشاؤه بين ورقة حدود ACI والموجه الخارجي:

1. يجب أن يتطابق معرف منطقة OSPF والنوع

2. يجب أن يكون معرف موجه OSPF فريدا

3. يجب أن تتطابق وحدة الإرسال القصوى (MTU) (تعمل البنية الافتراضية على تعيينها على 9000، وتقوم معظم وحدات التخزين Cisco IOS®/NXOS بتعيينها على 1500)

4. يجب أن يتطابق مفتاح مصادقة OSPF ونوعه (في حالة إستخدامه)

5. يجب أن تتطابق فواصل OSPF Hello و Dead

6. يجب أن يتطابق نوع شبكة OSPF

قدم الكتاب الأبيض شرحا مفصلا لمفاهيم وخيارات التصميم المتعلقة ب ACI L3Out لبروتوكولات التوجيه الداعمة.

راجع الكتاب الأبيض إذا لم تكن على دراية بإعداد L3Out ومتطلبات أساسية أخرى.

أستكشاف أخطاء تجاور OSPF وإصلاحها - قائمة التحقق العامة

وبغض النظر عما إذا كان تجاور OSPF قد حدث من قبل أو لم يحدث من قبل، فمن الأفضل التحقق من المتطلبات الأساسية أولا.

الخطوة 1. إختبار اتصال الواجهة الطرفية البعيدة. فهذا يساعد على تأكيد ما إذا كانت لديك قابلية وصول إلى IP إلى الطرف البعيد وهو ما يعد مطلبا أساسيا لإنشاء OSPF.

iping -V <vrf> <remote_end_IP>

example:

BL-301# iping -V abc1:vrf-1 192.0.2.50

الخطوة 2. التحقق من صحة معلمات التكوين الأساسية:

1. يجب أن يتطابق معرف منطقة OSPF والنوع

2. يجب أن يكون معرف موجه OSPF فريدا

3. يجب أن تتطابق وحدة الحد الأقصى للنقل (MTU) (تقوم البنية بشكل افتراضي بتعيينها على 9000 وتقوم معظم Cisco IOS/NXOS بتعيينها على 1500)

4. يجب أن يتطابق مفتاح مصادقة OSPF ونوعه (في حالة إستخدامه)

5. يجب أن تتطابق فواصل OSPF Hello و Dead

6. يجب أن يتطابق نوع شبكة OSPF

تعرض مخرجات الأمر سمات التكوين التي تم دفعها إلى الورقة.

BL-301# show ip int bri vrf abc1:vrf-1

IP Interface Status for VRF "abc1:vrf-1"(137)

Interface            Address              Interface Status

vlan1                192.0.2.1/24         protocol-up/link-up/admin-up  --> l3out SVI

lo9                  192.168.0.1/32       protocol-up/link-up/admin-up  --> Router ID SVI

BL-301# show ip ospf interface vlan 1

Vlan1 is up, line protocol is up

IP address 192.0.2.1/24, Process ID default VRF abc1:vrf-1, area backbone

Enabled by interface configuration

State P2P, Network type P2P, cost 4

Index 84, Transmit delay 1 sec

1 Neighbors, flooding to 1, adjacent with 1

Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5

Hello timer due in 00:00:03

No authentication

Number of opaque link LSAs: 0, checksum sum 0

BL-301# show int vlan 1 | egrep "MTU"

MTU 9000 bytes, BW 10000000 Kbit, DLY 1 usec

BL-301# show ip ospf vrf abc1:vrf-1 | grep Routing

Routing Process default with ID 192.168.0.1 VRF abc1:vrf-1 --> Router ID

لاحظ أسفل كافة التفاصيل المميزة وتأكد من أن معلمات النهاية البعيدة المطابقة متزامنة.

أستكشاف أخطاء عملية تجاور OSPF وإصلاحها - الأخطاء

[+]From the border Leaf we can identify the state of the neighbor state

BL-301# show ip ospf neighbors vrf abc1:vrf-1

<<EMPTY>>

[+] You can check the associated faults to the VRF.

BL-301# moquery -c faultInst -x 'query-target-filter=wcard(faultInst.dn,"abc1:vrf-1")' | egrep "code|rule|dn|descr|lastTransition"

<<EMPTY>>

هناك بعض السيناريوهات التي لا تتضمن أخطاء نشطة في البيئة ولكن يمكن أن يكون هناك سجل أخطاء واحد للطراز F1385 (بروتوكول-ospf-neighbors-down) على الورقة يشير بنا إلى آخر مرة كانت فيها هذه المنطقة مرتفعة أو لم تكن أبدا في حالة كاملة.

يمكنك تعريف هذا الأمر باستخدام moquery -c faultRecord -f 'fault.Inst.code=="F1385"' -x 'query-target-filter=wcard(faultRecord.dn,"abc1:vrf-1")' | grep dn الأمر.

تحقق من عدد سجلات الأخطاء لأي تاريخ محدد باستخدام moquery -c faultRecord -f 'fault.Inst.code=="F1385"' -x 'query-target-filter=wcard(faultRecord.dn,"abc1:vrf-1")' -x 'query-target-filter=wcard(faultRecord.created,"2024-01-01")' | egrep "dn" | wc -l الأمر.

يجب تحديد واجهة OSPF وعناوين IP المحلية التي تم تكوينها عن بعد.

[+] Identify the IP applied on the external device from the ARP associated to the interface

BL-301# moquery -c arpAdjEp -x 'query-target-filter=wcard(arpAdjEp.ifId,"vlan1")' | grep "ip "

ip           : 192.0.2.50

التقاط حركة مرور بيانات مستوى التحكم على العقدة

مع المصدر والوجهة المتوقعة مفتاح قارن ظاهري (SVI) من الحد ورقة، أنت يستطيع استعملت ال tcpdump أداة مساعدة أن يفحص.

ملاحظة: بالنسبة لهذا الأمر، يتم إستخدام لوحة المفاتيح والفيديو والماوس (KPM_inb) للواجهة التي تسمح لك برؤية جميع حركة مرور شبكة مستوى التحكم في النطاق الداخلي لوحدة المعالجة المركزية.

[+] Capture a single OSPF hello packet using TCPDUMP coming for local BL OSPF IP 192.0.2.1

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb

tcpdump: listening on kpm_inb, link-type EN10MB (Ethernet), capture size 262144 bytes

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP 192.0.2.50

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb

tcpdump: listening on kpm_inb, link-type EN10MB (Ethernet), capture size 262144 bytes

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

التحقق من Wireshark

يمكنك التقاط حركة مرور بيانات OSPF وحركة مرور خاصة بالمضيف من أجل تحليلها على Wireshark.

BL-301# tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF.pcap | tcpdump -r - host any

BL-301# tcpdump -xxxvi kpm_inb 'proto ospf and (host <<X.X.X.X>> or host <<Y.Y.Y.Y>>)' -w /data/techsupport/Node-XXX_OSPF_HOST.pcap

BL-301# tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF_HOST.pcap | tcpdump -r - host X.X.X.X

لالتقاط PCAP، يمكنك إستخدام مرشحات Wireshark بالبحث واستخدام Analysis > Apply كعامود.

ospf.area_id = لتحديد AreaID

ospf.auth.type = للتحقق من نوع المصادقة الذي تم تكوينه للمطابقة

ospf.hello.hello_interval = للتحقق من وجود وحدات الحد الأقصى للنقل (MTU) مختلفة

ospf.hello.router_dead_interval = in order to فحصت مختلف فاصل زمني ميت تشكيل

ospf.srcrouter = RouterID

سيناريوهات أستكشاف الأخطاء وإصلاحها

أستكشاف أخطاء تجاور OSPF وإصلاحها: عدم تطابق معرف المنطقة

من APIC تشكيل مع منطقة id 0.0.0.42، انتقل إلى بناء > مستأجرين > شبكة > L3out > <L3outName> > سياسة > رئيسي.

تم تكوين معرف منطقة OSPF غير صحيح 0.0.0.42

من الورقة الحدودية:

[+] Check OSPF interface details to confirm current area

BL-301# show ip ospf interface vlan 1 | grep area

IP address 192.0.2.1/24, Process ID default VRF abc1:vrf-1, area 0.0.0.42

Or

BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | grep area

area         : 0.0.0.42

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

من جهاز خارجي:

NX-OS# show logging log | tail -n 100 | grep ospf-bootcamp

2023 Dec 28 15:17:09 NX-OS %OSPF-4-AREA_ERR: ospf-bootcamp [22263] (301-l3-abc1) Packet from 192.0.2.1 on Ethernet1/2 received for wrong area 0.0.0.42

NX-OS# show ip ospf interface Ethernet1/2 | grep area

Process ID bootcamp VRF 301-l3-abc1, area 0.0.0.0

الحل: طابق منطقة OSPF إلى 0.0.0.0 أو العمود الفقري على BL أو 0.0.0.42 على الجهاز الخارجي.

أستكشاف أخطاء OSPF التجاور وإصلاحها: عدم تطابق نوع المنطقة

من واجهة المستخدم الرسومية (GUI) للبنية الأساسية (ACI)، التكوين باستخدام نوع المنطقة إما NSSA أو Stub، انتقل إلى البنية > المستأجرين > الشبكة > L3out > "L3outName" > السياسة > الرئيسية.

تكوين منطقة NSSA أو Stub.

من الورقة الحدودية:

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# moquery -c ospfArea -x 'query-target-filter=wcard(ospfArea.dn,"abc1:vrf-1")' | egrep "type"

type               : nssa

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)

Options [NSSA]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

or

BL-301# moquery -c ospfArea -x 'query-target-filter=wcard(ospfArea.dn,"abc1:vrf-1")' | egrep "type"

type               : stub

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)

Options [none]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Area 0.0.0.42, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

من جهاز خارجي:

[+] Check OSPF interfaces con vrf

NX-OS# show ip int bri vrf 301-l3-abc1

IP Interface Status for VRF "301-l3-abc1"(21)

Interface            IP Address      Interface Status

Lo1001               110.1.0.1       protocol-up/link-up/admin-up

Eth1/2.1120          192.0.2.50      protocol-up/link-up/admin-up

NX-OS# show ip ospf interface Ethernet1/2 | grep area

Process ID bootcamp VRF 301-l3-abc1, area 0.0.0.0

الحل: مطابقة نوع منطقة OSPF بشكل منتظم على L3Out أو المطابقة من الجهاز الخارجي.

أستكشاف أخطاء تجاور OSPF وإصلاحها: معرف الموجه المكرر

يمنع معرف الموجه المضاعف تكوين تجاور OSPF. في بنية قائمة التحكم في الوصول (ACI)، بعد تكوين معرف موجه OSPF، تقوم الورقة بإنشاء إسترجاع باستخدام عنوان IP لمعرف الموجه. لأن هذا عنوان يكون استعملت ل loopback، أنت يستطيع لا يتلقى هو تداخل مع القارن ip يستعمل بما أن هو يفشل.

في هذا المثال، يمكنك تأكيد أنه تم تكوينه بشكل غير صحيح باستخدام معرف الموجه من الجهاز المجاور.

من واجهة المستخدم الرسومية (GUI) المتوافقة مع معيار ACI، انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Configured Nodes > topology/pod-Y/node-X.

تم التكوين بشكل غير صحيح باستخدام معرف الموجه من الجهاز المجاور.

من الورقة الحدودية:

[+] Check OSPF interfaces associated with the VRF

BL-301# show ip int bri vrf  abc1:vrf-1

IP Interface Status for VRF "abc1:vrf-1"(137)

Interface            Address              Interface Status

vlan1                192.0.2.1/24         protocol-up/link-up/admin-up

lo9                  172.16.0.1/32       protocol-up/link-up/admin-up

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 48

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

من جهاز خارجي

NX-OS# show logging log | tail -n 100 | grep ospf-bootcamp

2024 Jan  4 13:55:36 NX-OS %OSPF-4-DUPRID:  ospf-bootcamp [22263] (301-l3-abc1) Router 192.0.2.1 on interface Ethernet1/2.1120 is using our routerid, packet dropped

الحل: أستخدم معرفات موجهات مختلفة على كلا الجهازين.

إستخدام معرف موجه مختلف على كلا الجهازين

أستكشاف أخطاء OSPF التجاور وإصلاحها: عدم تطابق MTU

بعد إنشاء موجهات OSPF المجاورتين للاتصال ثنائي الإتجاه وانتخاب الموجه المعين الكامل (DR)/BDR (على شبكات البث)، تنتقل الموجهات إلى حالة Exstart. في هذه الحالة، تقوم الموجهات المجاورة بإنشاء علاقة نشطة/إستعداد وتحديد رقم التسلسل لواصف قاعدة البيانات الأولية (DBD) الذي سيتم إستخدامه أثناء تبادل حزم DBD.

بمجرد التفاوض على العلاقة النشطة/الاحتياطية (يصبح الموجه صاحب معرف الموجه الأعلى هو النشط)، تنتقل الموجهات المجاورة إلى حالة التبادل. في هذه الحالة، تتبادل الموجهات حزم DBD، والتي تصف قاعدة بيانات حالة الارتباط الخاصة بها بالكامل. تقوم الموجهات أيضا بإرسال حزم طلب حالة الارتباط، والتي تطلب المزيد من إعلانات حالة الارتباط الحديثة (LSA) من الجيران.

إذا لم تتطابق إعدادات MTU لواجهات الموجه المجاورة، فسيتم تعليق الموجهات في حالة Exstart/Exchange. وذلك لأن الموجه مع وحدة الحد الأقصى للنقل (MTU) الأعلى يرسل حزمة أكبر من مجموعة MTU على الموجه المجاور، لذلك يتجاهل الموجه المجاور الحزمة.

من تكوين واجهة المستخدم الرسومية (GUI) ل APIC مع التكوين الافتراضي Inherit، انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile.

بشكل افتراضي، تعمل بنية قائمة التحكم في الوصول (ACI) على تعيين وحدة الحد الأقصى للنقل (MTU) للطبقة 3 على 9000 بدلا من 1500

بشكل افتراضي، تقوم بنية قائمة التحكم في الوصول (ACI) بتعيين وحدة الحد الأقصى للنقل (MTU) للطبقة 3 على 9000 بدلا من 1500. ونظرا لأن قائمة التحكم في الوصول (ACI) تحتوي على وحدة الحد الأقصى للنقل (MTU) أعلى، فإنها تستمر في قبول حزم بيانات بروتوكول الجسر (DBD) من الموجه الخارجي وتحاول الاعتراف بها.

إذا كان الموجه الخارجي يحتوي على وحدة الحد الأقصى للنقل (MTU) أقل أو أعلى، فإنه يتجاهل حزم DBD مع ACK من قائمة التحكم في الوصول، ويستمر في إعادة إرسال حزمة DBD الأولية، ويظل في حالة Exstart/Exchange.

من الورقة الحدودية:

[+]From the border Leaf we can identify the state of the neighborship relation

BL-301# show ip ospf neighbors vrf abc1:vrf-1

OSPF Process ID default VRF abc1:vrf-1

Total number of neighbors: 1

Neighbor ID     Pri State            Up Time  Address         Interface

172.16.0.1       1 EXCHANGE/ -      01:10:05 192.0.2.50      Vlan1

[+] You can check the associated faults to the Tenant:VRF / OSPF interface

BL-301# moquery -c faultInst -x 'query-target-filter=wcard(faultInst.dn,"abc1:vrf-1\/if-\[vlan1\]")' | egrep "code|rule|dn|descr|lastTransition"

code             : F1385

descr            : OSPF adjacency is not full, current state Exchange

dn               : topology/pod-1/node-301/sys/ospf/inst-default/dom-abc1:vrf-1/if-[vlan1]/adj-172.16.0.1/fault-F1385

lastTransition   : 2023-12-28T12:26:23.369-05:00

rule             : ospf-adj-ep-failed

title            : OSPF Adjacency Down

code             : F3592

descr            : OSPF interface vlan1 mtu is different than neighbor mtu

dn               : topology/pod-1/node-301/sys/ospf/inst-default/dom-abc1:vrf-1/if-[vlan1]/fault-F3592

lastTransition   : 2023-12-28T12:26:23.369-05:00

rule             : ospf-if-mtu-config-mismatch-err

[+] Identify the MTU applied on the OSPF interface

BL-301# show int vlan 1 | egrep "MTU"

MTU 9000 bytes, BW 10000000 Kbit, DLY 1 usec

[+] If the default configuration is on place there will be a missmatch with the 1500 default

BL-301# show ip ospf event-history adjacency | grep "neighbor mtu"

2023-12-28T12:24:31.986149000-05:00 ospf default [20751]: TID 21885:ospfv2_check_ddesc_for_nbr_state:492:(abc1:vrf-1-base) DBD from 192.0.2.50,neighbor mtu [1500] is smaller than if mtu 9000

[+] Or if the locally configured MTU is lower tham external router

[2023-12-28T14:05:48.495659000-05:00:T:ospfv2_check_ddesc_for_nbr_state:478] abc1:vrf-1DBD from 192.0.2.50,neighbor mtu [1500] is large than if mtu 1200

الحلول الممكنة:

- مطابقة وحدة الحد الأقصى للنقل (MTU) على كلا الجهازين

عند تغيير وحدة الحد الأقصى للنقل (MTU) على أي من الجانبين، ونظرا لأن العضوية قد تم إنشاؤها بالفعل، فإنها تظل على هذا النحو حتى المفاوضات التالية ويمكن تشغيلها لأسباب متعددة. على سبيل المثال، واجهة فعلية سفلية وإعادة نشر النهج وإعادة تحميل الأوراق وترقيتها وما إلى ذلك.

انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile  كما هو موضح في الصورة.

وحدة الحد الأقصى للنقل (MTU) مكونة على 1500

- يؤدي تجاهل MTU في نهج واجهة OSPF المقترنة إلى إعادة إنشاء الاتصال.

يمكن أن تظهر المشكلة مع تجاهل MTU عند نمو قاعدة بيانات OSPF. عندما تختلف وحدات الحد الأقصى للنقل (MTU) عن بعضها بعدد قليل من وحدات البايت فقط، يمكن أن يعمل الإعداد لفترة طويلة حتى يحدث أنك تعثر عبر المجموعة الصحيحة من وحدات LSAs التي تقوم بإنشاء DBD أو حزمة التحديث ذات الحجم المناسب فقط.

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

انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy  كما هو موضح في الصورة.

MTU تجاهل تشكيل

أستكشاف أخطاء OSPF التجاور وإصلاحها: عدم تطابق المصادقة

يمكنك تمكين المصادقة في OSPF من أجل تبادل معلومات تحديث التوجيه بشكل آمن. يمكن أن تكون مصادقة OSPF إما بلا (أو خالية) أو بسيطة أو MD5. يعني أسلوب المصادقة 'none' عدم إستخدام أية مصادقة ل OSPF وهو الطريقة الافتراضية. وبمصادقة بسيطة، تدخل كلمة المرور في نص واضح عبر الشبكة. باستخدام مصادقة MD5، لا تمر كلمة المرور عبر الشبكة.

هذه هي الأنواع الثلاثة المختلفة للمصادقة التي يدعمها OSPF.

المصادقة الخالية — يسمى هذا أيضا النوع 0 وهو يعني عدم تضمين معلومات المصادقة في رأس الحزمة. وهو الوضع الافتراضي.

مصادقة بسيطة — يسمى هذا أيضا النوع 1 ويستخدم كلمات مرور بسيطة للنص الواضح.

مصادقة MD5 — يسمى هذا أيضا النوع 2 ويستخدم كلمات مرور تشفير MD5.

لا يلزم تعيين المصادقة. ومع ذلك، إذا تم تعيينها، فيجب أن يكون لجميع موجهات النظير في نفس المقطع نفس كلمة المرور وأسلوب المصادقة.

من واجهة المستخدم الرسومية (GUI) للبنية الأساسية (ACI)، انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile  كما هو موضح في الصورة.

MD5 أو مصادقة بسيطة تم تكوينها

من واجهة سطر الأوامر:

[+] Check Authentication type configured

APIC# moquery -c ospfIfP -x 'query-target-filter=wcard(ospfIfP.dn,"tn-abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep authType

authType     : simple

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Backbone Area, Authentication Type: simple (1)

Simple text password: cisco

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

or

[+] Check Authentication type configured

APIC# moquery -c ospfIfP -x 'query-target-filter=wcard(ospfIfP.dn,"tn-abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep authType

authType     : md5

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Backbone Area, Authentication Type: MD5 (2)

Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x026c0a34

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 48

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

[+] Live OSPF trace Decode for VRF

BL-301# log_trace_bl_print_tool /var/sysmgr/tmp_logs/ospfv2_1_trace.bl | tail -n 250 | grep abc1:vrf-1 | grep key

[2024-01-04T16:23:29.650806000-05:00:T:ospfv2_set_authentication:70] abc1:vrf-1out pkt on Vlan1: auth simple text: key cisco

or

[2024-01-04T16:24:22.794682000-05:00:T:ospfv2_set_authentication:96] abc1:vrf-1out pkt on Vlan1: auth md5: key cisco, key id 1 Seq 40635829 (time 1704403462)

من جهاز خارجي:

NX-OS#  show logging log | tail -n 100 | grep ospf-bootcamp

2024 Jan  4 16:55:01 NX-OS %OSPF-4-AUTH_ERR:  ospf-bootcamp [22263] (301-l3-abc1) Received packet from 192.0.2.1 on Ethernet1/2.1120 with bad authentication 1

or

2024 Jan  4 16:55:20 NX-OS %OSPF-4-AUTH_ERR:  ospf-bootcamp [22263] (301-l3-abc1) Received packet from 192.0.2.1 on Ethernet1/2.1120 with bad authentication 2

الحل: مصادقة المطابقة.

أستكشاف أخطاء تجاور OSPF وإصلاحها: عدم تطابق مؤقتات الترحيب/الإيواء

حزم ترحيب OSPF هي حزم ترسلها عملية OSPF إلى جاراتها من OSPF للحفاظ على الاتصال مع تلك الجيران. يتم إرسال حزم الترحيب في فترة قابلة للتكوين (بالثواني). التقصير 10 ثاني لإثرنيت خطوة (ل P2P وبث شبكة نوع). تتضمن حزم الترحيب قائمة بجميع الجيران التي تم إستلام حزمة ترحيب لها داخل الفاصل الزمني الميت. كما أن الفاصل الزمني المعطل قابل للتكوين (بالثواني)، ويتم تعيينه افتراضيا على أربعة أضعاف قيمة الفاصل الزمني HELLO. يجب أن تكون قيمة كل فواصل مرحبا هي نفسها داخل الشبكة. وبالمثل، يجب أن تكون قيمة جميع الفواصل الزمنية الميتة هي نفسها داخل الشبكة.

تعمل هاتان الفصلتان معا للحفاظ على الاتصال من خلال الإشارة إلى أن الارتباط يعمل. إذا لم يستلم الموجه حزمة ترحيب من جار ضمن الفاصل الزمني المميت، فإنه يعلن أن المجاور سيكون أسفل.

إذا تم تعديل وحدات توقيت OSPF ومرحبا الافتراضية على بنية واجهة التحكم في الوصول (ACI)، فيجب أن تطابق الموجه الخارجي.

من واجهة المستخدم الرسومية (GUI) للبنية الأساسية (ACI)، انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy  كما هو موضح في الصورة.

وحدات توقيت Hello/Dead المخصصة

من الورقة الحدودية:

[+] Check OSPF interface configuration

BL-301# show ip ospf interface vlan 1 | egrep "Timer|Network"

State P2P, Network type P2P, cost 4

Timer intervals: Hello 20, Dead 42, Wait 42, Retransmit 5

Or

BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 42

helloIntvl   : 20

nwT          : p2p

Or

APIC# moquery -c ospfRsIfPol -x 'query-target-filter=wcard(ospfIfP.dn,"abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep tnOspfIfPolName

tnOspfIfPolName  : Custom_OSPF_Interface_Policy

APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 42

helloIntvl   : 20

nwT          : p2p

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 20s, Dead Timer 42s, Mask 255.255.255.0, Priority 1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

من جهاز خارجي:

[+] Check OSPF interfaces con vrf

NX-OS# show ip int bri vrf 301-l3-abc1

IP Interface Status for VRF "301-l3-abc1"(21)

Interface            IP Address      Interface Status

Lo1001               110.1.0.1       protocol-up/link-up/admin-up

Eth1/2.1120          192.0.2.50      protocol-up/link-up/admin-up

[+] Check OSPF configuration by default Dead timer on NX-OS devices is 4 times hello interval

NX-OS# show run ospf all | section Ethernet1/2.1120 | grep hello

ip ospf hello-interval 10

[+] Check OSPF interface advertized parameters

NX-OS# show ip ospf interface Ethernet1/2.1120 | grep Timer

Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5

الحل: مطابقة مؤقتات OSPF.

أستكشاف أخطاء OSPF التجاور وإصلاحها: عدم تطابق نوع الواجهة

يصف هذا القسم أستكشاف الأخطاء وإصلاحها عند تكوين Broadcast أو غير المحدد على واجهة التحكم في الوصول (ACI) والجهاز الخارجي هو P2P.

بث

- نوع شبكة البث هو الإعداد الافتراضي لواجهة إيثرنت تدعم OSPF

- يتطلب نوع شبكة البث وجود إرتباط يدعم إمكانات البث من الطبقة 2

- يحتوي نوع شبكة البث على فترة ترحيب مدتها 10 ثوان وموقت وفاة لمدة 40 ثانية (مثل P2P)

- يتطلب نوع شبكة بث OSPF إستخدام DR/BDR.

الاتصال من نقطة إلى نقطة

- لا يحتفظ نوع شبكة P2P OSPF بعلاقة DR/BDR

- يحتوي نوع شبكة P2P على فترة ترحيب مدتها 10 ثوان وموقت وفاة لمدة 40 ثانية

- يتم تصميم أنواع شبكات P2P لاستخدامها بين موجهين متصلين مباشرة

من واجهة المستخدم الرسومية (GUI) للبنية الأساسية (ACI)، انتقل إلى Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy  كما هو موضح في الصورة.

تم تكوين نوع البث أو شبكة غير محدد

من الورقة الحدودية:

[+] Check OSPF neighborship relation

BL-301# show ip ospf neighbors vrf abc1:vrf-1

OSPF Process ID default VRF abc1:vrf-1

Total number of neighbors: 1

Neighbor ID     Pri State            Up Time  Address         Interface

172.16.0.1       1 INITIALIZING/DROTHER 00:06:42 192.0.2.50      Vlan1

[+] Check OSPF interface configuration

BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 40

helloIntvl   : 10

nwT          : bcast

or

BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 40

helloIntvl   : 10

nwT          : unspecified

Or

APIC# moquery -c ospfRsIfPol -x 'query-target-filter=wcard(ospfIfP.dn,"abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep tnOspfIfPolName

tnOspfIfPolName  : Custom_OSPF_Interface_Policy

APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 40

helloIntvl   : 10

nwT          : bcast

APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"

deadIntvl    : 40

helloIntvl   : 10

nwT          : unspecified

[+] Whether it is bcast or unspecified the interface will show as Broadcast

BL-301#  show ip ospf interface vlan 1 | egrep "Timer|Network"

State DR, Network type BROADCAST, cost 4

Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5

[+] Capture a single packet TCPDUMP for local BL OSPF IP

BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1

192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 48

Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

Designated Router 192.0.2.1

Neighbor List:

172.16.0.1

[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP

BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1

192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44

Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)

Options [External]

Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1

من جهاز خارجي:

[+] Check OSPF interfaces con vrf

NX-OS# show ip int bri vrf 301-l3-abc1

IP Interface Status for VRF "301-l3-abc1"(21)

Interface            IP Address      Interface Status

Lo1001               110.1.0.1       protocol-up/link-up/admin-up

Eth1/2.1120          192.0.2.50      protocol-up/link-up/admin-up

[+] Check OSPF configuration by default Dead timer on NX-OS devices is 4 times hello interval

NX-OS# show run ospf all | section Ethernet1/2 | grep network

ip ospf network point-to-point

[+] Check OSPF interface advertized parameters

NX-OS# show ip ospf interface Ethernet1/2 | grep type

State P2P, Network type P2P, cost 1

غطاء أوامر التحقق

تمت الإشارة إلى هذه الأوامر خلال هذا المستند لاستكشاف أخطاء السيناريوهات المختلفة وإصلاحها.

عقدة

الأوامر

الغرض

المحول ACI Switch

show ip ospf neighbors vrf <<TNT:VRF>>

فحص علاقة الجوار على VRF

show ip ospf interface brief vrf <<TNT:VRF>>

التحقق من واجهات OSPF المرتبطة ب VRF

moquery -c faultInst -x 'query-target-filter=wcard(faultInst.dn,"<<TNT:VRF>>")'

يمكنك التحقق من الأخطاء المقترنة ب VRF

moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.dn,"<<TNT:VRF>>")'

التحقق من جميع تفاصيل واجهة OSPF المرتبطة ب VRF

moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"<<vlanX>>")'

التحقق من تكوين واجهة OSPF

moquery -c arpAdjEp -x 'query-target-filter=wcard(arpAdjEp.ifId,"<<vlanX>>")' | grep ip

تحقق من تطبيق IP على الجهاز الخارجي من ARP المرتبط بالواجهة

log_trace_bl_print_tool /var/sysmgr/tmp_logs/ospfv2_1_trace.bl | tail -n 250 | grep <<TNT:VRF>>

فك تشفير تتبع OSPF المباشر ل VRF

tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF.pcap | tcpdump -r - host any

التقاط حركة مرور OSPF للتحليل على Wireshark

tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF_HOST.pcap | tcpdump -r - host <<X.X.X.X>>

التقاط حركة مرور معينة للمضيف من أجل التحليل على Wireshark

tcpdump -xxxvi kpm_inb 'proto ospf and (host <<X.X.X.X>> or host <<Y.Y.Y.Y>>)' -w /data/techsupport/Node-XXX_OSPF_HOST.pcap

التقاط حركة مرور المضيف الخاصة ب SRC و DST من أجل التحليل على Wireshark

tcpdump src host <<X.X.X.X>> -vv -e -i kpm_inb -c 1

التقاط مستوى تحكم واحد داخل النطاق لمضيف معين

ACI APIC

moquery -c ospfIfP -x 'query-target-filter=wcard(ospfIfP.dn,"<<TNT>>\/out-<<L3outName>>")'

تحقق من نوع المصادقة الذي تم تكوينه

moquery -c l3ext.RsPathL3OutAtt -x 'query-target-filter=wcard(l3extRsPathL3OutAtt.dn,"<<TNT>>\/out-<<L3outName>>")'

تحقق من تكوين مسار خرج L3

moquery -c faultRecord -f 'fault.Inst.code=="F1385"' -x 'query-target-filter=wcard(faultRecord.dn,"<<TNT:VRF>>")'

التحقق من السجلات التاريخية للخطأ للخطأ F1385 protocol-ospf-neighbors-down

moquery -c ospfRsIfPol -x 'query-target-filter=wcard(ospfIfP.dn,"<<TNT>>\/out-<<L3outName>>")' | grep tnOspfIfPolName

التحقق من L3out لنهج واجهة OSPF المقترنة المخصصة

moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")'

التحقق من تفاصيل نهج واجهة OSPF المقترنة المخصصة

محول NXOS

show ip int bri vrf <<VRF>>

التحقق من واجهات OSPF con VRF

show run ospf all | section EthernetX/Y

التحقق من تكوين OSPF

show ip ospf interface EthernetX/Y

تحقق من المعلمات المعلن عنها الخاصة بواجهة OSPF

معلومات ذات صلة

- أستكشاف أخطاء إعادة التوجيه الخارجية ل ACI وإصلاحها

- الدعم الفني والتنزيلات من Cisco