الأمن السيبراني

OSPFv2 single-area : الإعداد واستكشاف الأخطاء على Cisco IOS

3 min de lecture

OSPF (Open Shortest Path First) هو بروتوكول التّوجيه الدّيناميكي الأكثر استخداماً في شبكات المؤسّسات حول العالم. يَنتمي إلى فئة بروتوكولات حالة الرّابط (link-state)، يُحسب أقصر مسار بِخوارزميّة Dijkstra، ويَتَكَيّف تلقائيّاً مع تغيّرات التّوبولوجيا. في امتحان CCNA 200-301، OSPFv2 (للـ IPv4) يَشغل نسبة كبيرة من قسم Routing. هذا الدّرس يَستعرض الإعداد الكامل في منطقة واحدة (single-area)، استكشاف الأخطاء النّموذجيّة، والمفاهيم التي تَظهر في الأسئلة.

المتطلّبات

  • Cisco Packet Tracer أو GNS3 (انظر إقامة مختبر CCNA)
  • إلمام بالتّوجيه الثابت والـ IP routing الأساسي
  • فَهم VLAN و subinterfaces (انظر VLAN، Trunk 802.1Q)
  • الوقت المُقدّر : 75 دقيقة

الخطوة 1 — مفاهيم OSPF الأساسيّة

قبل التّكوين، يَجب فهم خمسة مفاهيم. Router ID : معرّف فريد لكلّ موجّه في الـ OSPF area، صيغته IPv4 (32-bit)، يُختار تلقائيّاً من أعلى عُنوان IP على واجهة loopback، أو يُحدَّد يَدويّاً بـ router-id. Area : مجموعة من المُوجّهات تَتشارك قاعدة بيانات LSDB واحدة. LSA (Link-State Advertisement) : رسالة تَصِف حالة الرّوابط، تُتبادل بين الجيران. Neighbor : موجّه آخر اكتشفه OSPF عبر Hello packets. Adjacency : عَلاقة كاملة بيْن جاريْن، يُتبادلان LSAs.

OSPF يُرسل Hello packets كلّ 10 ثوانٍ على شبكات Ethernet (افتراضيّاً) عبر العُنوان المتعدّد 224.0.0.5. إذا لم تَصِل ثلاث Hellos متتاليّة (Dead Interval = 40 ثانية افتراضيّاً)، يُعتبر الجار مَفقوداً. هذه القِيَم يَجب أن تَتطابق بيْن الجيران لتكوين adjacency.

الخطوة 2 — التّوبولوجيا النّموذجيّة

# التّوبولوجيا
#
#  PC1 --- R1 ====== R2 ====== R3 --- PC3
#  (LAN1) (10.0.12.0/30)(10.0.23.0/30) (LAN3)
#         192.168.1.0/24    192.168.3.0/24
#
# على R1 :
# - Gig0/0 : 192.168.1.1/24 (LAN1)
# - Gig0/1 : 10.0.12.1/30 (vers R2)
# - Loopback0 : 1.1.1.1/32 (Router ID)
#
# على R2 :
# - Gig0/0 : 10.0.12.2/30 (vers R1)
# - Gig0/1 : 10.0.23.1/30 (vers R3)
# - Loopback0 : 2.2.2.2/32
#
# على R3 :
# - Gig0/0 : 10.0.23.2/30 (vers R2)
# - Gig0/1 : 192.168.3.1/24 (LAN3)
# - Loopback0 : 3.3.3.3/32

الخطوة 3 — إعداد العَناوين IP

# على R1
R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 10.0.12.1 255.255.255.252
R1(config-if)#no shutdown
R1(config)#interface loopback 0
R1(config-if)#ip address 1.1.1.1 255.255.255.255

# على R2
R2(config)#interface gigabitEthernet 0/0
R2(config-if)#ip address 10.0.12.2 255.255.255.252
R2(config-if)#no shutdown
R2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip address 10.0.23.1 255.255.255.252
R2(config-if)#no shutdown
R2(config)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.255

# على R3 (نفس النّمط مع 10.0.23.2 و 192.168.3.1 و 3.3.3.3)

واجهات Loopback تُستخدم بشكل شائع كـ Router ID لأنّها مُستقرّة (لا تَتأثّر بفشل واجهة فيزيائيّة). subnet /32 يَعني أنّ الواجهة هي الشّبكة كاملة، وفّر عَناوين IP.

الخطوة 4 — تَفعيل OSPF على المُوجّهات

على كلّ مُوجّه، نُفعّل OSPF بمُعرِّف عمليّة (Process ID — رقم محلّي للمُوجّه، لا يَجب التّطابق بيْن الجيران)، ثمّ نُعلن الشّبكات التي يَجب أن تَشترك في OSPF.

# على R1
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
R1(config-router)#network 10.0.12.0 0.0.0.3 area 0
R1(config-router)#exit

# على R2
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 10.0.12.0 0.0.0.3 area 0
R2(config-router)#network 10.0.23.0 0.0.0.3 area 0
R2(config-router)#exit

# على R3
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 10.0.23.0 0.0.0.3 area 0
R3(config-router)#network 192.168.3.0 0.0.0.255 area 0
R3(config-router)#exit

القناع المُستخدَم في أمر network هو wildcard mask (عَكس subnet mask) : 0.0.0.255 يَعني subnet /24، 0.0.0.3 يَعني /30، 0.0.0.0 يَعني واجهة واحدة. هذا قد يَكون مَصدر ارتباك للمُبتدئ. القاعدة : wildcard = 255.255.255.255 - subnet mask.

الخطوة 5 — التّحقّق من الجوار والمسارات

# على R1 — تأكّد من الجيران
R1#show ip ospf neighbor
# Neighbor ID  Pri State    Dead Time Address    Interface
# 2.2.2.2      1   FULL/DR  00:00:35  10.0.12.2  GigabitEthernet0/1

# تأكّد من جدول التّوجيه
R1#show ip route ospf
# O    192.168.3.0/24 [110/3] via 10.0.12.2, 00:01:23, Gig0/1
# O    10.0.23.0/30 [110/2] via 10.0.12.2, 00:01:23, Gig0/1
# O    2.2.2.2/32 [110/2] via 10.0.12.2, 00:01:23, Gig0/1
# O    3.3.3.3/32 [110/3] via 10.0.12.2, 00:01:23, Gig0/1

# تَفاصيل العمليّة
R1#show ip ospf
R1#show ip ospf interface gigabitEthernet 0/1

الحرف O في جدول التّوجيه يَدلّ على مَسار مُتعَلَّم عبر OSPF. الرّقم [110/3] يَعني Administrative Distance = 110 (قيمة OSPF الافتراضيّة) و Cost = 3 (مَجموع أَوزان الرّوابط على المسار). OSPF يَحسب Cost افتراضيّاً بناءً على Bandwidth : 10^8 / bandwidth. لرابط GigabitEthernet، cost = 1 ؛ لـ FastEthernet، cost = 10 ؛ لـ Serial 1.544 Mbps، cost = 64.

الخطوة 6 — استكشاف الأخطاء (Troubleshooting)

الأخطاء الشّائعة في OSPF تَدور حول عدم تَشكّل الجوار أو غياب المَسارات في جدول التّوجيه. الأوامر الأساسيّة للتّشخيص :

# الجار لا يَتشكّل ؟ تَحقّق من :
R1#show ip ospf neighbor          # هل الجار موجود ؟
R1#show ip ospf interface         # حالة OSPF على كلّ واجهة

# الأسباب الشّائعة :
# 1. عَدَم تَطابق Hello / Dead Intervals بيْن الجاريْن
# 2. عَدَم تَطابق رقم Area
# 3. عَدَم تَطابق MTU
# 4. عَدَم تَطابق authentication
# 5. الواجهة في وضع shutdown أو passive-interface

# تَحويل واجهة LAN إلى passive (لا تُرسل Hello لكنّها تُعلَن)
R1(config-router)#passive-interface gigabitEthernet 0/0

# تَحقّق من الأخطاء
R1#debug ip ospf hello
R1#debug ip ospf adj
# لا تَنسَ undebug all بعد الانتهاء

السّيناريو الكلاسيكي : الجار يُظهر « INIT » أو « EXSTART » بدلاً من « FULL ». الحلّ في 80% من الحالات : عدم تَطابق MTU بين الجاريْن أو عدم تَطابق Hello/Dead intervals. الأمر show ip ospf interface يَكشف هذه القِيَم.

الخطوة 7 — DR و BDR على شبكات Multi-Access

على شبكة Ethernet مع أكثر من اثنيْن من المُوجّهات، OSPF يَنتخب Designated Router (DR) وBackup DR (BDR). كلّ الموجّهات الأخرى (DROther) تُرسل تَحديثاتها إلى DR/BDR فقط، بدل بَثّ لكلّ واحد. هذا يُقلّل ضوضاء الشّبكة.

# الانتخاب يَعتمد على :
# 1. Priority (افتراضي 1، 0 يَعني لا يُنتخب)
# 2. Router ID (الأعلى يَفوز إذا تَساوت Priorities)

# لجعل R2 هو DR :
R2(config)#interface gigabitEthernet 0/0
R2(config-if)#ip ospf priority 100

# على R1 و R3 (DROther) :
# لا حاجة لتَغيير، Priority الافتراضيّة 1 كافيّة

# تَحقّق
R1#show ip ospf neighbor
# Neighbor ID  Pri State          Address    Interface
# 2.2.2.2      100 FULL/DR         10.0.12.2  Gig0/1

على روابط point-to-point (مثلاً /30 بين موجّهيْن فقط)، DR/BDR لا يُنتخبان لأنّ لا حاجة. شبكات Frame Relay و Ethernet مع 3+ موجّهات تَستخدمهما. هذه التّفاصيل ظَهرت بِشكل مُتكرّر في أسئلة CCNA.

الخطوة 8 — Default Route مع OSPF

في معظم الشّبكات، يَجب إعلام كلّ المُوجّهات بمسار افتراضي للإنترنت. OSPF يَدعم ذلك عبر default-information originate على المُوجّه الذي يَتّصل بالإنترنت.

# على R1 (المُتّصل بالإنترنت)
R1(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.1
R1(config)#router ospf 1
R1(config-router)#default-information originate

# على R2 و R3 — يَستلمان المَسار الافتراضي تلقائيّاً
R2#show ip route
# O*E2 0.0.0.0/0 [110/1] via 10.0.12.1, 00:01:23, Gig0/0
# الحرف * يَدلّ على Default Route، E2 على External Type 2

الأمر always بعد originate يُجبر OSPF على إعلان المَسار الافتراضي حتّى لو لم يَكن موجوداً محلّيّاً — مَفيد لِسيناريوهات tracking معقّدة، لكن يَنبغي استخدامه بحذر.

الأخطاء الشّائعة

الخطأ السّبب الحلّ
الجار يَبقى في حالة INIT Hello packets تَصِل في اتّجاه واحد فقط تَحقّق من ACL، authentication، wildcard mask
الجار في EXSTART عَدَم تَطابق MTU ip ospf mtu-ignore أو ضَبط MTU متّسق
مَسارات OSPF غير مَوجودة في جدول التّوجيه عدم إعلان الشّبكة في OSPF أضِف network الصّحيح في router ospf
كلّ المسارات تَمرّ عبر مَسار غير مَطلوب Cost OSPF منخفض على مَسار غير مفضّل عَدِّل ip ospf cost على الواجهة
DR على المُوجّه الخطأ Router ID أعلى اضبط ip ospf priority أو غيِّر Router ID
Hello packets على Internet-facing OSPF أُعلن على واجهة WAN passive-interface على الواجهة الخارجيّة

أسئلة شائعة

OSPF أم EIGRP ؟
OSPF معيار مفتوح يَعمل على كلّ الأجهزة. EIGRP ملك سيسكو (مفتوح جزئيّاً منذ 2013). للبيئات Cisco فقط، EIGRP أسرع تَقارباً. للبيئات مختلطة، OSPF.

ماذا عن OSPFv3 ؟
OSPFv3 لـ IPv6 (والآن IPv4 + IPv6 معاً). CCNA يَركّز على OSPFv2 لـ IPv4. OSPFv3 يَظهر بِشكل سطحيّ.

كم area يُفضَّل ؟
للشّبكات الصّغيرة (< 50 مُوجّه)، area 0 وحده يَكفي. للشّبكات الكبيرة، تَقسيم إلى areas مُتعدّدة (multi-area OSPF) موضوع CCNP وليس CCNA.

كيف أَحفظ إعدادات OSPF بِشكل دائم ؟
copy running-config startup-config على كلّ مُوجّه. بدون هذا، إعدادات OSPF تُفقد عند إعادة التّشغيل.

OSPF بطيء التّقارب على شبكة كبيرة، ماذا أَفعل ؟
قَلِّل Hello/Dead intervals، استخدم BFD (Bidirectional Forwarding Detection) للكشف عن الفشل في ميليثانية. هذه موضوعات CCNP.

للتّعمّق

بعد إتقان OSPF، الخطوة المنطقيّة هي تَعلّم تَصفية حركة المرور بـ قوائم ACL القياسيّة والممتدّة. للنّظرة الشّاملة على CCNA، انظر الدّليل الرّئيسي.

مصادر ومراجع

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

Sponsoriser ce contenu

Cet emplacement est à vous

Position premium en fin d'article — c'est l'instant où les lecteurs sont le plus engagés. Réservez cet espace pour votre marque, votre formation ou votre offre.

Recevoir nos tarifs
Publicité