Cisco CCNA · 200-301 v2.0

Verification و Troubleshooting کامل OSPF

توانایی پیکربندی OSPF بدون توانایی اثبات درست کار کردن آن کافی نیست. در محیط واقعی بیشتر زمان مهندس شبکه صرف پاسخ دادن به سؤال‌هایی مثل «چرا Neighbor بالا نمی‌آید؟»، «چرا Route دیده نمی‌شود؟» یا «چرا Traffic از مسیر دیگری می‌رود؟» می‌شود. روش قابل اتکا این است که OSPF را به چند لایه مشاهده تقسیم کنی: Interface و IP، OSPF Interface State، Neighbor، Database، Routing Table و در نهایت Data Plane. هر مرحله باید با دستور مشخص یک فرضیه را تأیید یا رد کند.

در پایان این درس باید بتوانی
  • Runbook مرحله‌ای OSPF بسازی
  • Outputهای Neighbor، Interface، Database و Route را مرتبط کنی
  • Area/Timer/MTU/Network-Type mismatch را تشخیص بدهی
  • Route Missing را از Neighbor Failure جدا کنی
  • پس از Change نتیجه را با Evidence و تست End-to-End Verify کنی

مرحله اول: Link و IP قبل از OSPF

قبل از هر دستور OSPF، وضعیت Physical/Line Protocol و IP Addressing را بررسی کن. دو Router روی یک Link مشترک باید بتوانند آدرس مستقیم یکدیگر را Reach کنند. اگر Interface Down است، Subnet اشتباه است یا ACL محلی Packetهای لازم را مسدود کرده، Reset کردن OSPF کمکی نمی‌کند.

مرحله پایه
show ip interface brief
show interfaces Gi0/0
show ip interface Gi0/0
ping 10.0.12.2 source 10.0.12.1

این مرحله Root Causeهای زیر OSPF را حذف می‌کند. اگر Ping مستقیم موفق است، می‌توانی با اطمینان بیشتری به Control Plane OSPF بروی. اگر شکست می‌خورد، ابتدا همان Link و IP را حل کن.

مرحله دوم: OSPF Interface و Neighbor

show ip ospf interface و show ip ospf interface brief نشان می‌دهند OSPF روی کدام Interface، با چه Process/Area، Network Type، Cost و Timerهایی فعال است. سپس show ip ospf neighbor State همسایه را نشان می‌دهد.

Control Plane اولیه
show ip ospf interface brief
show ip ospf interface Gi0/0
show ip ospf neighbor

اگر Neighbor در DOWN/INIT است، Hello Reachability یا یک‌طرفه بودن تبادل را بررسی کن. اگر در EXSTART/EXCHANGE می‌ماند، MTU mismatch یکی از فرضیه‌های مهم است. اگر روی Broadcast دو DROTHER در 2-WAY هستند، ممکن است کاملاً طبیعی باشد. Context Network Type تعیین‌کننده است.

Area mismatch، Hello/Dead mismatch، Router ID duplicate، passive-interface ناخواسته و OSPF Enablement اشتباه از خطاهای رایج‌اند. همه را با Operational Output بررسی کن، نه صرفاً Memory.

مرحله سوم: Database و Routing Table

FULL بودن Neighbor پایان کار نیست. اگر Route مقصد Missing است، show ip ospf database کمک می‌کند بفهمی آیا اطلاعات Link-State مربوط به شبکه مقصد وارد LSDB شده است یا نه. سپس show ip route ospf و show ip route <prefix> تصمیم نهایی RIB را نشان می‌دهند.

از LSDB تا RIB
show ip ospf database
show ip route ospf
show ip route 10.30.0.0

اگر Prefix در LSDB نیست، Advertisement یا Topology را دنبال کن. اگر در LSDB هست ولی Route نصب نشده، ممکن است مسیر بهتری از Source دیگری، Route Connected/Static یا شرایط انتخاب دیگری وجود داشته باشد. اگر Route نصب شده ولی Traffic شکست می‌خورد، به Data Plane و Return Path برو.

مرحله چهارم: Path و Data Plane

Route درست روی R1 فقط مسیر رفت را ثابت می‌کند. برای ارتباط واقعی باید Return Route، ACL/Firewall، NAT و وضعیت مقصد هم بررسی شوند. از ping با Source مشخص و traceroute استفاده کن تا مسیر واقعی با Intent مقایسه شود.

تست Data Plane
ping 10.30.30.10 source 10.10.10.1
traceroute 10.30.30.10 source 10.10.10.1

اگر Ping از خود Router موفق ولی از Client شکست می‌خورد، ممکن است Source Subnet Client در مسیر برگشت شناخته نشده باشد یا Policy متفاوتی اعمال شود. بنابراین Source در تست مهم است.

در Route Selection غیرمنتظره، Prefix Length، Route Source و OSPF Cost را به ترتیب منطقی بررسی کن. Cost فقط بین Candidateهای مرتبط معنی پیدا می‌کند و Longest Prefix Match همچنان در Forwarding اهمیت دارد.

Change، Recovery و مستندسازی

وقتی Root Cause مشخص شد، کوچک‌ترین Change لازم را اعمال کن. قبل از Change Snapshot از Outputهای کلیدی بگیر؛ بعد از Change همان دستورها را دوباره اجرا و مقایسه کن. اگر Configuration تغییر Area یا Network Type است، انتظار Reset Adjacency و Re-convergence داشته باش.

چرخه Change
Before: neighbor / interface / route
Change: one controlled correction
After: same outputs + end-to-end test
Document: cause, evidence, result

از clear ip ospf process به‌عنوان اولین ابزار استفاده نکن. Reset ممکن است علامت را موقتاً پاک کند بدون اینکه Root Cause را بفهمی و همچنین روی همه Neighborهای Process Impact بگذارد. Restart فقط وقتی معنی دارد که Change مشخصی نیازمند آن است و Impact پذیرفته شده باشد.

سناریوی عملی

پس از تغییر VLAN Transit، R1 دیگر Route شبکه 10.50.0.0/16 را ندارد. Interface Up و Ping مستقیم R2 موفق است. show ip ospf neighbor نشان می‌دهد Neighbor در EXSTART مانده است. show interfaces دو سمت MTU متفاوت را نشان می‌دهد. تیم به‌جای Restart Process، MTU Design را بررسی و mismatch را اصلاح می‌کند؛ Neighbor FULL می‌شود، Route برمی‌گردد و Ping با Source LAN نیز موفق می‌شود.

اشتباهات رایج

اشتباه‌های رایج و علت آن‌ها

  • شروع با clear ip ospf process
  • فرض اینکه FULL بودن Neighbor همه‌چیز را ثابت می‌کند
  • نادیده گرفتن Return Path در تست End-to-End
  • تغییر هم‌زمان Area، Cost و Timer بدون Evidence
تمرین عملی

تمرین عملی

  1. یک Runbook شش‌مرحله‌ای OSPF روی کاغذ بنویس
  2. سه Fault مختلف Area mismatch، passive-interface و MTU mismatch را در Lab ایجاد و Evidence هرکدام را ثبت کن
  3. سناریوی Neighbor FULL ولی Route Missing طراحی کن
  4. Before/After Output برای یک Change OSPF تهیه و نتیجه را مستند کن

نکته‌هایی که باید با خودت ببری

  • Troubleshooting OSPF از Link/IP شروع می‌شود
  • Interface State و Neighbor مرحله بعدی Control Plane هستند
  • LSDB و Routing Table دو مرحله جدا هستند
  • Data Plane نیازمند Return Path و Policy سالم است
  • Change باید کوچک، قابل Verify و مستند باشد
خودسنجی

خودسنجی

Neighbor در EXSTART/EXCHANGE ماند؛ یک فرضیه مهم چیست؟

MTU mismatch بین دو سمت یکی از فرضیه‌های مهم است.

FULL بودن Neighbor ولی Route Missing است؛ بعد چه می‌بینی؟

LSDB و Advertisement Prefix، سپس Routing Table.

چرا ping با Source مشخص مفید است؟

چون Reachability و Return Path همان Source Network واقعی را آزمایش می‌کند.

چرا clear ip ospf process اولین قدم نیست؟

چون Impact دارد و Root Cause را ثابت نمی‌کند.

منابع رسمی

منابع مرجع این درس

مطالعه همیشه آزاد است

برای ذخیره پیشرفت وارد حساب شو

حساب کاربری برای آزمون و ثبت مرحله‌ها استفاده می‌شود

ورود یا ثبت‌نام