- Troubleshooting IPv6 را از Layer 1/2 تا Application مرحلهبندی کنی
- Link-Local، GUA، Prefix و Default Route را جداگانه تأیید کنی
- Neighbor Cache و RA را برای محدود کردن محل خطا بخوانی
- Routing Table Router و Client را با Ping/Traceroute تطبیق بدهی
- DNS را از مشکل Connectivity با IP جدا کنی
- از Packet Capture برای اثبات یا رد فرضهای ND و ICMPv6 استفاده کنی
Link، Interface و Link-Local
قبل از بررسی IPv6 مطمئن شو Interface واقعاً Up است. اگر Ethernet Link Down باشد، تغییر Prefix یا RA هیچ کمکی نمیکند. روی Cisco از show interfaces status یا show ipv6 interface brief و روی Client از وضعیت کارت شبکه استفاده کن. اگر Interface administratively down است، Configuration را بررسی کن. اگر down/down است، کابل، Port، Transceiver یا دستگاه طرف مقابل را بررسی کن. بعد از سالم بودن Link، وجود Link-Local را ببین. Interface فعال IPv6 باید معمولاً Link-Local داشته باشد. نبودن آن میتواند نشان دهد IPv6 روی Interface فعال نیست یا Configuration مشکل دارد.
Ciscoshow ipv6 interface briefاگر Link-Local هست، Ping به Neighbor محلی یا Router میتواند ارتباط پایه IPv6 روی Link را تست کند. اولین تست باید مشخص کند آیا Interface واقعاً قادر به حمل Traffic است. روی Router وضعیت up/up، Speed/Duplex و Error Counters را بررسی میکنیم؛ روی Client نیز Link و VLAN صحیح مهم است. بعد Link-Local را میبینیم. اگر دو دستگاه روی یک Link حتی با Link-Local هم نمیتوانند ارتباط بگیرند، بررسی DNS، Default Route یا Internet Routing اولویت ندارد. این تست محدوده مشکل را به همان Link، Interface، VLAN، ND یا Firewall محلی نزدیک میکند.
Cisco IOS - شروع عیبیابیshow interfaces status
show ipv6 interface brief
show ipv6 interface GigabitEthernet0/0
ping FE80::2Global Address، Prefix و Router Advertisement
GUA را همراه Prefix بررسی کن. آدرس درست با Prefix اشتباه هنوز میتواند ارتباط را خراب کند. دو دستگاهی که باید Local باشند باید Prefix مشترک داشته باشند. اگر SLAAC استفاده میشود، Prefix باید از RA درست آمده باشد.
نمونه خطاClient: 2001:DB8:10:20::25/64
Gateway LAN: 2001:DB8:10:10::1/64
Client و Gateway در دو Prefix متفاوت هستند.در چنین حالتی تغییر DNS هیچ اثری روی مشکل پایه Addressing ندارد. اگر Client Link-Local دارد ولی GUA یا Default Router ندارد، RA را بررسی کن. Router Interface باید IPv6 درست داشته باشد و Routing لازم روی دستگاه فعال باشد. در Capture دنبال RS و RA بگرد. این الگو یکی از رایجترین تفاوتهای عیبیابی IPv6 با IPv4 است. در IPv4 شاید مستقیم DHCP را بررسی میکردی؛ در IPv6 SLAAC و RA هم باید در ذهن باشند. اگر Link-Local سالم است، Global Address و Prefix را با Address Plan مقایسه کن. فقط وجود ۲۰۰۱:... کافی نیست؛ باید Prefix درست، Length درست و وضعیت آدرس معتبر باشد. در SLAAC وجود GUA به RA وابسته است. اگر Link-Local وجود دارد ولی GUA یا Default Route نیست، RS/RA و Router Configuration را بررسی کن. اگر GUA وجود دارد اما Prefix اشتباه است، Local/Remote Decision میتواند غلط شود حتی اگر خود Router هیچ خطایی نداشته باشد.
روی Client علاوه بر Address، Route Table را هم ببین. Default Route با Next Hop Link-Local باید قابل توضیح باشد. اگر چند GUA یا Temporary Address وجود دارد، آنها را بدون بررسی Preferred/Deprecated State حذف نکن. Dual Stack نیز میتواند مشکل را پنهان کند؛ ممکن است Application از IPv4 موفق شود در حالی که IPv6 خراب است، پس برای تست از ابزارهایی استفاده کن که خانواده IPv6 را صریح انتخاب میکنند.
Neighbor Discovery و ارتباط Local
اگر آدرسها درستاند ولی Neighbor محلی پاسخ نمیدهد، Neighbor Cache را بررسی کن. روی Cisco دستور show ipv6 neighbors کمک میکند ببینی Neighbor شناخته شده یا نه.
Ciscoshow ipv6 neighborsنبود Neighbor ممکن است از VLAN اشتباه، Firewall، Link مشکلدار، DAD یا پیامهای ICMPv6 Block شده باشد. Packet Capture میتواند NS و NA را نشان دهد. Neighbor Discovery بهترین نقطه برای جدا کردن مشکل Local از Remote است. اگر مقصد Local است و show ipv6 neighbors یا ip -6 neigh وضعیت INCOMPLETE نشان میدهد، Host نتوانسته MAC مقصد را Resolve کند. Capture باید NS خروجی و NA ورودی را نشان دهد. نبود NA میتواند از VLAN اشتباه، مقصد خاموش، Firewall، ND filtering یا Duplicate/Scope اشتباه باشد. اگر Neighbor REACHABLE است ولی Ping شکست میخورد، حالا ICMPv6 filtering یا خود سرویس مقصد بررسی میشود.
Neighbor checksCisco: show ipv6 neighbors
Linux: ip -6 neigh
Wireshark: icmpv6.type == 135 || icmpv6.type == 136Routing و ارتباط Remote
یک مقصد Local را تست کن. اگر Local کار میکند ولی Remote نه، تمرکز را به Default Router و Routing منتقل کن. اگر حتی Local هم کار نمیکند، هنوز رفتن سراغ Routeهای Remote زود است.
ترتیب نمونه1) ping Link-Local Router
2) ping GUA Router روی همان LAN
3) ping مقصد Remote
4) traceroute/tracert برای مسیر Remoteهر تست باید یک سؤال مشخص را جواب دهد. Ping تصادفی به چند مقصد بدون دانستن هدف، اطلاعات زیادی تولید میکند ولی تشخیص را سریعتر نمیکند. اگر Packet به Router میرسد ولی مقصد Remote در دسترس نیست، Routing Table Router را بررسی کن. در Cisco از show ipv6 route استفاده میشود.
Ciscoshow ipv6 routeببین Prefix مقصد Route دارد یا نه، Route از چه منبعی آمده و Next Hop چیست. جزئیات پروتکلهای Routing در مرحله Routing کامل میشود. برای مقصد Remote ابتدا مطمئن شو Client Default Route دارد و Router First Hop قابل دسترس است. سپس روی Router show ipv6 route را بررسی کن: Prefix مقصد در Table هست؟ Route Connected، Static یا Dynamic چه Next Hopی دارد؟ اگر Router اول Route دارد ولی Ping از خودش با Source مناسب شکست میخورد، مشکل جلوتر از Client است. Traceroute کمک میکند آخرین Hop پاسخگو را ببینی، اما عدم پاسخ یک Hop لزوماً به معنی توقف Forwarding نیست؛ بعضی تجهیزات ICMP Time Exceeded را Filter یا Rate-Limit میکنند.
Remote pathshow ipv6 route
ping 2001:db8:20:20::50 source GigabitEthernet0/0
traceroute ipv6 2001:db8:20:20::50DNS، ICMPv6 و Packet Capture در عیبیابی نهایی
اگر Ping به IPv6 مقصد کار میکند ولی Name Resolution نه، آن وقت DNS منطقی است. اگر حتی Link-Local Router Ping نمیشود، DNS هنوز موضوع اصلی نیست. ترتیب عیبیابی جلوی تغییر تنظیمات نامرتبط را میگیرد. برای تست DNS در IPv6 رکورد AAAA مهم است. اما قبل از آن Connectivity عددی را ثابت کن. Wireshark در IPv6 بسیار مفید است چون RA، RS، NS، NA و خطاهای ICMPv6 را مستقیم میبینی. با فیلتر icmpv6 میتوانی بخش بزرگی از کنترلهای پایه IPv6 را مشاهده کنی.
Wiresharkicmpv6Capture باید در نقطهای انجام شود که سؤال عیبیابی را جواب بدهد. مثلاً روی Client برای فهمیدن دریافت RA یا روی یک SPAN Port برای دیدن پیامهای LAN.
ترتیب پیشنهادی- Interface و Link
- Link-Local
- GUA و Prefix
- Neighbor Discovery
- Router Advertisement و Default Router
- Connectivity Local
- Connectivity Remote و Routing
- DNS و Application
این ترتیب قانون مطلق نیست، اما برای بیشتر مشکلات پایه IPv6 ساختار خوبی میدهد. مهمتر از حفظ ترتیب این است که هر مرحله دلیل مشخص داشته باشد و نتیجه هر تست مسیر مرحله بعد را تعیین کند. DNS را زمانی بررسی کن که ارتباط با IPv6 مقصد بهصورت عددی کار میکند اما Name Resolution یا Application با نام شکست میخورد. رکورد AAAA آدرس IPv6 یک Name را نگه میدارد. nslookup یا ابزار مشابه نشان میدهد پاسخ DNS چیست. اگر Ping به IPv6 مستقیم شکست میخورد، عوض کردن DNS معمولاً مسئله را حل نمیکند. برعکس، اگر Ping مستقیم موفق است ولی نام Resolve نمیشود، Routing را دوباره دستکاری نکن؛ اکنون لایه Name Resolution مظنون اصلی است.
ICMPv6 همچنین پیامهای خطای ضروری مثل Packet Too Big را حمل میکند و برای Path MTU Discovery اهمیت دارد. ممکن است Pingهای کوچک کار کنند اما Traffic بزرگ یا بعضی Applicationها مشکل داشته باشند؛ در این حالت MTU و پیامهای ICMPv6 را در Capture بررسی کن. یک Capture خوب باید فرض مشخصی داشته باشد: «آیا RA میرسد؟»، «آیا NS پاسخ دارد؟»، «آیا Packet Too Big دیده میشود؟». Capture بدون سؤال فقط حجم زیادی Packet میسازد.
Client toolsWindows:
ipconfig /all
route print -6
ping -6 <IPv6>
tracert -6 <IPv6>
nslookup -type=AAAA name.example
Linux:
ip -6 addr
ip -6 route
ip -6 neigh
ping -6 <IPv6>کاربر میگوید «سایت IPv6 باز نمیشود». اول با ping -۶ به Default Router و سپس یک IPv6 Remote تست میکنی. Link-Local Router پاسخ میدهد، GUA و /64 درست هستند و Default Route وجود دارد، اما Remote IP شکست میخورد. روی Router Route مقصد وجود دارد ولی Capture روی WAN نشان میدهد Packet خارج میشود و پاسخ برنمیگردد. در این نقطه DNS و LAN تقریباً رد شدهاند و دامنه بررسی به مسیر Upstream، ACL/Firewall یا Return Route محدود میشود. هر تست یک بخش از فرضها را حذف کرده است.
اشتباههای رایج در Troubleshooting IPv6
- بدون تأیید Link و Link-Local سراغ Routing پیچیده نرو
- وجود GUA را بدون Prefix و Default Route اتصال کامل فرض نکن
- INCOMPLETE Neighbor را با تغییر DNS حل نکن
- عدم پاسخ یک Hop در Traceroute را قطع قطعی مسیر فرض نکن
- ICMPv6 را کامل Block نکن و بعد انتظار عملکرد طبیعی ND/SLAAC داشته باش
- در Dual Stack موفقیت IPv4 را دلیل سلامت IPv6 ندان
تمرین عیبیابی مرحلهای IPv6
- سناریویی بساز که Link-Local کار کند ولی GUA ساخته نشود و مسیر تست RA را بنویس
- سناریویی بساز که Local Neighbor INCOMPLETE باشد و هر تست مشخص کند چه چیزی رد یا تأیید میشود
- روی Router Lab یک Route مقصد را حذف کن و با show ipv6 route و traceroute محل خطا را پیدا کن
- یک نام دارای AAAA را با nslookup بررسی و تفاوت خرابی DNS با خرابی IPv6 مستقیم را توضیح بده
- در Packet Capture یک RS/RA، یک NS/NA و یک Echo Request/Reply را پیدا و کاربرد هرکدام را بنویس
نکتههایی که باید با خودت ببری
- Troubleshooting از Link و Link-Local شروع میشود
- Address، Prefix و Default Route باید جداگانه تأیید شوند
- RA نبود GUA یا Gateway را توضیح میدهد
- Neighbor Cache برای مشکل Local و ND شواهد مستقیم میدهد
- Route Table و Ping با Source مناسب مسیر Remote را محدود میکنند
- DNS بعد از اثبات Connectivity با IP بررسی میشود
- ICMPv6 برای عملکرد پایه و Path MTU مهم است
هر تست باید یک فرض را رد یا تأیید کند
اگر Link-Local همان VLAN هم Ping نمیشود، آیا DNS اولویت دارد؟
نه. ابتدا Link، VLAN، Interface، ND و Firewall محلی باید بررسی شوند.
اگر GUA وجود دارد ولی Default Route نیست، چه چیزی را بررسی میکنی؟
Router Advertisement و Router Lifetime/Default Router information.
Neighbor INCOMPLETE برای مقصد Local چه سرنخی میدهد؟
Resolution لایه ۲/ND کامل نشده؛ NS/NA، VLAN، مقصد و filtering باید بررسی شوند.
اگر IPv6 عددی کار میکند ولی نام نه، دامنه مشکل به کجا نزدیک میشود؟
DNS، رکورد AAAA یا Name Resolution؛ نه Addressing و Routing پایه.
منابع مرجع این درس
برای ذخیره پیشرفت وارد حساب شو
حساب کاربری برای آزمون و ثبت مرحلهها استفاده میشود