🎯 هدف سناریو:
در این سناریو، NAT (Network Address Translation) و PAT (Port Address Translation) را روی روتر سیسکو ISR4331 پیکربندی میکنیم تا دستگاههای شبکه داخلی (PCها) بتوانند از طریق یک آدرس IP عمومی به اینترنت دسترسی داشته باشند.
🔷 تصویر توپولوژی شبکه
📌 شکل ۱: توپولوژی شبکه با دو روتر، سوئیچ و سه PC
🔷 ۱. مفاهیم NAT و PAT
🔸 NAT (Network Address Translation)
- NAT یک مکانیزم است که آدرسهای IP خصوصی (داخلی) را به آدرسهای IP عمومی (خارجی) تبدیل میکند.
- به دستگاههای داخلی اجازه میدهد با آدرسهای خصوصی به اینترنت متصل شوند.
- انواع NAT: Static NAT (یکبهیک)، Dynamic NAT (چندبهچند)، PAT (چندبهیک).
🔸 PAT (Port Address Translation)
- PAT که به آن NAT Overload نیز گفته میشود، نوعی NAT است که چندین دستگاه داخلی را با استفاده از پورتهای مختلف به یک آدرس IP عمومی متصل میکند.
- رایجترین نوع NAT برای اتصال به اینترنت.
- مثال: ۱۰۰ دستگاه داخلی با آدرس 192.168.1.x همگی از یک آدرس عمومی (مثلاً 10.0.0.1) استفاده میکنند.
🔸 تفاوت NAT و PAT
| ویژگی | NAT | PAT (NAT Overload) |
| تبدیل آدرس |
آدرس IP |
آدرس IP + پورت |
| تعداد دستگاهها |
یکبهیک یا چندبهچند |
چندین دستگاه به یک IP |
| کاربرد |
سرورها و دستگاههای خاص |
اتصال به اینترنت |
| صرفهجویی در IP |
کم |
زیاد ✅ |
🔷 ۲. تفاوت Wildcard Mask و Subnet Mask
⚠️ این دو مفهوم کاملاً با هم تفاوت دارند!
🔸 Subnet Mask (ماسک زیرشبکه)
- کاربرد: برای تعیین محدوده شبکه و شناسایی قسمت Network و Host در یک آدرس IP.
- مثال: 255.255.255.0 برای شبکه 192.168.1.0/24
- نحوه نوشتن: بیتهای ۱ نشاندهنده قسمت Network و بیتهای ۰ نشاندهنده قسمت Host هستند.
- کاربرد در سیسکو: در دستور
ip address برای تعیین آدرس IP استفاده میشود.
Router(config-if)# ip address 192.168.1.1 255.255.255.0
🔸 Wildcard Mask (ماسک وایلدکارت)
- کاربرد: برای تعیین محدوده آدرسها در ACL (Access Control List) استفاده میشود.
- مثال: 0.0.0.255 برای شبکه 192.168.1.0/24
- نحوه نوشتن: بیتهای ۰ نشاندهنده بخشی که باید دقیقاً مطابقت داشته باشد و بیتهای ۱ نشاندهنده بخشی که میتواند هر مقداری باشد.
- کاربرد در سیسکو: در دستور
access-list برای تعیین محدوده آدرسهای IP استفاده میشود.
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
📊 جدول مقایسه Subnet Mask و Wildcard Mask
| ویژگی | Subnet Mask | Wildcard Mask |
| کاربرد |
تعیین شبکه و Host |
تعیین محدوده در ACL |
| نمایش |
255.255.255.0 |
0.0.0.255 |
| بیتهای ۱ |
قسمت Network |
قسمت متغیر (میتواند هر مقدار باشد) |
| بیتهای ۰ |
قسمت Host |
قسمت ثابت (باید دقیقاً مطابقت داشته باشد) |
| محاسبه |
Wildcard = 255.255.255.255 - Subnet Mask |
Subnet = 255.255.255.255 - Wildcard |
📌 مثال محاسبه:
- Subnet Mask: 255.255.255.0
- Wildcard Mask: 0.0.0.255
- نکته: Wildcard Mask = معکوس Subnet Mask
🔷 ۳. توپولوژی و اتصالات فیزیکی
📌 اتصالات فیزیکی در این سناریو:
| از | به | پورت مبدأ | پورت مقصد | نوع کابل |
| روتر ۱ |
روتر ۲ |
Gig0/0/1 |
Gig0/0/0 |
Straight-Through ✅ |
| روتر ۱ |
سوئیچ |
Gig0/0/0 |
Gig0/1 |
Straight-Through ✅ |
| سوئیچ |
PC1 |
Fa0/1 |
Ethernet |
Straight-Through ✅ |
| سوئیچ |
PC2 |
Fa0/2 |
Ethernet |
Straight-Through ✅ |
| سوئیچ |
PC3 |
Fa0/3 |
Ethernet |
Straight-Through ✅ |
📌 نکات مهم اتصالات:
- Straight-Through: برای اتصال دستگاههای غیرمشابه (PC به سوئیچ، سوئیچ به روتر، روتر به روتر در تجهیزات جدید).
- Crossover: برای اتصال دستگاههای مشابه (سوئیچ به سوئیچ، روتر به روتر در تجهیزات قدیمی).
- در تجهیزات جدید با قابلیت Auto-MDI/MDIX، هر دو کابل قابل استفاده هستند.
- پورت Gig0/0/0 روتر ۱ به سوئیچ و پورت Gig0/0/1 به روتر ۲ متصل شده است.
🔷 ۴. تحلیل دستورات روتر اول (NAT Inside)
🔸 ورود به حالت پیکربندی
Router> enable
Router# configure terminal
📌 توضیح:
- enable: ورود به حالت Privileged EXEC (مدیریت پیشرفته).
- configure terminal: ورود به حالت Global Configuration برای اعمال تغییرات.
🔸 پیکربندی رابط داخلی (Inside)
Router(config)# interface gigabitEthernet 0/0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# no shutdown
Router(config-if)# exit
📌 توضیح:
- interface gigabitEthernet 0/0/0: وارد کردن رابط شبکه اول.
- ip address 192.168.1.1 255.255.255.0: اختصاص آدرس IP به رابط (Gateway شبکه داخلی).
- ip nat inside: مشخص کردن رابط بهعنوان داخلی (شبکه محلی).
- no shutdown: فعال کردن رابط (روشن کردن).
🔸 پیکربندی رابط خارجی (Outside)
Router(config)# interface gigabitEthernet 0/0/1
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# exit
📌 توضیح:
- interface gigabitEthernet 0/0/1: وارد کردن رابط شبکه دوم.
- ip address 10.0.0.1 255.255.255.0: اختصاص آدرس IP به رابط (شبکه خارجی/اینترنت).
- ip nat outside: مشخص کردن رابط بهعنوان خارجی (اینترنت).
🔸 ایجاد ACL برای تعیین ترافیک قابل NAT
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
📌 توضیح:
- access-list 1: ایجاد ACL شماره ۱ (استاندارد).
- permit 192.168.1.0 0.0.0.255: اجازه ترجمه به تمام آدرسهای شبکه 192.168.1.0/24.
- 0.0.0.255: Wildcard Mask برای شبکه 192.168.1.0/24.
🔸 فعالسازی PAT (NAT Overload)
Router(config)# ip nat inside source list 1 interface gigabitEthernet 0/0/1 overload
📌 توضیح:
- ip nat inside source: تعیین ترجمه NAT برای ترافیک داخلی.
- list 1: استفاده از ACL شماره ۱ برای تعیین ترافیک.
- interface gigabitEthernet 0/0/1: استفاده از آدرس این رابط بهعنوان IP عمومی.
- overload: فعالسازی PAT (چندین دستگاه به یک IP).
🔸 ذخیره پیکربندی
Router(config)# write memory
📌 توضیح:
- write memory: ذخیره پیکربندی در حافظه NVRAM (معادل
copy running-config startup-config).
🔷 ۵. تحلیل دستورات روتر دوم (ISP)
📌 روتر دوم بهعنوان ISP یا روتر اینترنت عمل میکند.
در این سناریو، روتر دوم فقط یک آدرس IP دارد و نیازی به NAT ندارد.
🔸 ورود به حالت پیکربندی
Router> enable
Router# configure terminal
🔸 پیکربندی رابط متصل به روتر اول
Router(config)# interface gigabitEthernet 0/0/0
Router(config-if)# ip address 10.0.0.2 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
📌 توضیح:
- interface gigabitEthernet 0/0/0: وارد کردن رابط شبکه.
- ip address 10.0.0.2 255.255.255.0: اختصاص آدرس IP به رابط (در شبکه خارجی).
- no shutdown: فعال کردن رابط.
🔸 (اختیاری) پیکربندی یک رابط دیگر برای شبیهسازی اینترنت
Router(config)# interface gigabitEthernet 0/0/1
Router(config-if)# ip address 8.8.8.1 255.255.255.0
Router(config-if)# no shutdown
🔸 ذخیره پیکربندی
Router(config)# write memory
🔷 ۶. دستورات نمایشی NAT
| دستور | کاربرد |
show ip nat translations |
نمایش ترجمههای فعال NAT |
show ip nat statistics |
نمایش آمار NAT |
show ip interface brief |
نمایش وضعیت رابطها |
show running-config | include nat |
نمایش بخش NAT در پیکربندی |
debug ip nat |
نمایش لحظهای ترجمههای NAT (برای عیبیابی) |
✅ ۷. چکلیست پیکربندی NAT
📋 مراحل تأیید پیکربندی:
- ✔️ رابط Inside (داخلی) با
ip nat inside مشخص شده است.
- ✔️ رابط Outside (خارجی) با
ip nat outside مشخص شده است.
- ✔️ ACL برای تعیین ترافیک قابل NAT ایجاد شده است.
- ✔️
ip nat inside source list با گزینه overload تنظیم شده است.
- ✔️ پیکربندی با
write memory ذخیره شده است.
- ✔️ از PCها با
ping 10.0.0.2 اتصال تست شده است.
📌 ۸. جمعبندی نهایی
📚 در این سناریو یاد گرفتیم:
- NAT و PAT چیست و چه تفاوتی دارند.
- تفاوت Wildcard Mask و Subnet Mask.
- چگونه رابط Inside و Outside را روی روتر مشخص کنیم.
- چگونه با ACL ترافیک قابل NAT را تعیین کنیم.
- چگونه PAT (NAT Overload) را فعال کنیم.
- اتصالات فیزیکی بین روترها، سوئیچ و PCها با کابل Straight-Through.
📝 ۹. تمرین عملی
📌 وظایف شما:
- توپولوژی را مطابق جدول اتصالات پیادهسازی کنید.
- روتر اول را با دستورات بالا پیکربندی کنید.
- روتر دوم را با آدرس 10.0.0.2 پیکربندی کنید.
- به PCها آدرسهای زیر را دهید:
- PC1: 192.168.1.10 با Gateway 192.168.1.1
- PC2: 192.168.1.11 با Gateway 192.168.1.1
- PC3: 192.168.1.12 با Gateway 192.168.1.1
- از PC1 به آدرس 10.0.0.2
ping بزنید.
- با
show ip nat translations ترجمهها را مشاهده کنید.
- پیکربندی را با
write memory ذخیره کنید.