مقدمه‌ای بر NAT

NAT در سیسکو (همراه با دستورات)

مفهوم NAT

NAT که مخفف Network Address Translation (ترجمه آدرس شبکه) است، یکی از قابلیت‌های مهم در روترهای سیسکو محسوب می‌شود که وظیفه آن تبدیل آدرس‌های IP خصوصی (Private IP) به آدرس‌های IP عمومی (Public IP) و بالعکس است. این فناوری به دستگاه‌های موجود در یک شبکه داخلی اجازه می‌دهد با استفاده از یک یا چند آدرس IP عمومی به اینترنت متصل شوند.

در بسیاری از شبکه‌ها، کاربران از آدرس‌های خصوصی استفاده می‌کنند که در اینترنت قابل مسیریابی نیستند. روتر با استفاده از NAT، هنگام ارسال بسته‌ها به اینترنت، آدرس IP مبدأ را از خصوصی به عمومی تغییر می‌دهد و هنگام دریافت پاسخ نیز آن را دوباره به آدرس خصوصی مربوطه تبدیل می‌کند. این فرآیند باعث می‌شود ارتباط بین شبکه داخلی و اینترنت به‌صورت شفاف و بدون نیاز به اختصاص یک IP عمومی برای هر دستگاه برقرار شود.

مزایا و کاربردهای NAT

استفاده از NAT در شبکه‌های کامپیوتری مزایای متعددی دارد که مهم‌ترین آن‌ها عبارت‌اند از:

  • صرفه‌جویی در مصرف آدرس‌های IPv4: چندین دستگاه می‌توانند با استفاده از یک یا تعداد محدودی IP عمومی به اینترنت متصل شوند.
  • افزایش امنیت شبکه: آدرس‌های IP داخلی از دید کاربران اینترنت مخفی می‌مانند و دسترسی مستقیم به آن‌ها دشوارتر می‌شود.
  • کاهش هزینه‌ها: سازمان‌ها نیازی به تهیه IP عمومی برای تمامی دستگاه‌های شبکه نخواهند داشت.
  • امکان استفاده از آدرس‌های خصوصی: شبکه‌های داخلی می‌توانند از محدوده‌های استاندارد آدرس‌های خصوصی استفاده کنند، بدون اینکه در اینترنت تداخلی ایجاد شود.
  • سهولت در مدیریت شبکه: تغییر ساختار آدرس‌دهی داخلی معمولاً بدون نیاز به تغییر آدرس‌های عمومی امکان‌پذیر است.
  • اتصال شبکه‌های داخلی به اینترنت: مهم‌ترین کاربرد NAT فراهم کردن دسترسی کاربران شبکه‌های خصوصی به اینترنت از طریق یک یا چند آدرس IP عمومی است.

به دلیل محدود بودن آدرس‌های IPv4 و استفاده گسترده از شبکه‌های خصوصی، NAT به یکی از رایج‌ترین قابلیت‌های مورد استفاده در تجهیزات سیسکو تبدیل شده و تقریباً در تمامی شبکه‌های سازمانی، آموزشی و خانگی مورد استفاده قرار می‌گیرد.

 

انواع NAT در سیسکو

در تجهیزات سیسکو، فناوری NAT به سه روش اصلی پیاده‌سازی می‌شود که هر یک برای سناریوهای خاصی طراحی شده‌اند. انتخاب نوع مناسب NAT به تعداد کاربران، تعداد آدرس‌های IP عمومی موجود و نیازهای امنیتی و مدیریتی شبکه بستگی دارد.

۱. Static NAT (ترجمه ایستای آدرس)

Static NAT روشی است که در آن یک آدرس IP خصوصی به‌صورت دائمی و یک‌به‌یک (One-to-One) به یک آدرس IP عمومی اختصاص داده می‌شود. در این روش، نگاشت بین آدرس خصوصی و عمومی همواره ثابت است و تا زمانی که مدیر شبکه آن را تغییر ندهد، این ارتباط برقرار خواهد ماند.

از Static NAT معمولاً برای سرورها و تجهیزاتی استفاده می‌شود که باید از خارج شبکه قابل دسترس باشند؛ مانند وب‌سرور، سرور ایمیل، سرور FTP یا دوربین‌های مداربسته. با استفاده از این روش، کاربران اینترنت همواره از طریق یک آدرس IP عمومی مشخص به سرور داخلی دسترسی خواهند داشت.

ویژگی‌های Static NAT:

  • ایجاد ارتباط یک‌به‌یک بین IP خصوصی و IP عمومی
  • مناسب برای سرورها و سرویس‌های قابل دسترس از اینترنت
  • سادگی در مدیریت و عیب‌یابی
  • نیاز به یک IP عمومی مجزا برای هر دستگاه

۲. Dynamic NAT (ترجمه پویای آدرس)

در Dynamic NAT، آدرس‌های IP خصوصی به‌صورت موقت از میان مجموعه‌ای از آدرس‌های IP عمومی (NAT Pool) به IP عمومی تبدیل می‌شوند. هر زمان که یک کاربر قصد برقراری ارتباط با اینترنت را داشته باشد، روتر یکی از آدرس‌های آزاد موجود در Pool را به او اختصاص می‌دهد و پس از پایان ارتباط، آن آدرس دوباره آزاد می‌شود تا سایر کاربران بتوانند از آن استفاده کنند.

در این روش، نگاشت آدرس‌ها دائمی نیست و با هر بار برقراری ارتباط ممکن است آدرس عمومی متفاوتی به کاربر اختصاص داده شود. بنابراین تعداد کاربران هم‌زمان نمی‌تواند از تعداد IPهای موجود در Pool بیشتر باشد.

ویژگی‌های Dynamic NAT:

  • تخصیص موقت IP عمومی به کاربران
  • استفاده از مجموعه‌ای از آدرس‌های عمومی (NAT Pool)
  • کاهش مصرف آدرس‌های عمومی نسبت به Static NAT
  • محدود بودن تعداد ارتباط‌های هم‌زمان به تعداد IPهای موجود در Pool

۳. PAT (NAT Overload)

PAT که با نام NAT Overload نیز شناخته می‌شود، رایج‌ترین نوع NAT در شبکه‌های امروزی است. در این روش، چندین دستگاه داخلی می‌توانند به‌طور هم‌زمان از یک آدرس IP عمومی استفاده کنند. روتر برای تشخیص ارتباط هر دستگاه، علاوه بر آدرس IP، از شماره پورت (Port Number) نیز استفاده می‌کند.

به‌عنوان مثال، اگر ده‌ها یا حتی صدها کاربر به اینترنت متصل باشند، همگی می‌توانند از یک IP عمومی مشترک استفاده کنند، در حالی که روتر با تغییر شماره پورت‌ها، ارتباط هر کاربر را به‌صورت مجزا مدیریت می‌کند.

به دلیل صرفه‌جویی بسیار زیاد در مصرف آدرس‌های IPv4، PAT متداول‌ترین روش NAT در شبکه‌های خانگی، سازمانی و شرکت‌های ارائه‌دهنده خدمات اینترنت است.

ویژگی‌های PAT:

  • استفاده هم‌زمان چندین کاربر از یک IP عمومی
  • تشخیص ارتباط‌ها بر اساس شماره پورت
  • بیشترین صرفه‌جویی در مصرف آدرس‌های IPv4
  • مناسب برای شبکه‌های کوچک، متوسط و بزرگ
  • رایج‌ترین روش NAT در تجهیزات سیسکو

مقایسه انواع NAT

ویژگی Static NAT Dynamic NAT PAT (Overload)
نوع نگاشت یک‌به‌یک یک‌به‌یک (موقت) چند‌به‌یک
نیاز به IP عمومی برای هر دستگاه یک IP مجموعه‌ای از IPها معمولاً یک IP عمومی
استفاده از شماره پورت خیر خیر بله
مناسب برای سرورها کاربران با IP Pool اکثر شبکه‌های سازمانی و خانگی
میزان صرفه‌جویی در IP کم متوسط بسیار زیاد

پیش‌نیازهای پیکربندی NAT

قبل از پیکربندی NAT در روترهای سیسکو، لازم است برخی تنظیمات اولیه انجام شود تا روتر بتواند ترافیک شبکه را به‌درستی شناسایی و عملیات ترجمه آدرس‌ها را انجام دهد. مهم‌ترین پیش‌نیازهای NAT شامل تعیین اینترفیس‌های Inside و Outside و ایجاد Access List است.

۱. تعیین اینترفیس Inside

اینترفیس Inside به پورتی از روتر گفته می‌شود که به شبکه داخلی (LAN) متصل است. تمامی بسته‌هایی که از این بخش وارد روتر می‌شوند، دارای آدرس‌های IP خصوصی هستند و در صورت نیاز به ارتباط با شبکه‌های خارجی، باید توسط NAT ترجمه شوند.

برای معرفی یک اینترفیس به‌عنوان Inside، ابتدا وارد محیط پیکربندی اینترفیس شده و سپس دستور زیر اجرا می‌شود:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip nat inside

با اجرای دستور ip nat inside، روتر تشخیص می‌دهد که این رابط متعلق به شبکه داخلی است و بسته‌های خروجی از این بخش می‌توانند مشمول فرآیند NAT شوند.


۲. تعیین اینترفیس Outside

اینترفیس Outside پورتی از روتر است که به شبکه خارجی، مانند اینترنت یا شبکه ارائه‌دهنده خدمات (ISP)، متصل می‌شود. بسته‌هایی که از این رابط خارج یا وارد می‌شوند، معمولاً دارای آدرس‌های IP عمومی هستند.

برای معرفی این رابط به‌عنوان Outside از دستور زیر استفاده می‌شود:

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip nat outside

با اجرای دستور ip nat outside، روتر این رابط را به‌عنوان سمت خارجی شبکه شناسایی کرده و عملیات ترجمه آدرس‌ها را هنگام عبور بسته‌ها بین Inside و Outside انجام می‌دهد.


۳. ایجاد Access List

در بسیاری از روش‌های NAT، به‌ویژه Dynamic NAT و PAT (NAT Overload)، لازم است مشخص شود کدام آدرس‌های IP داخلی مجاز به استفاده از NAT هستند. این کار با استفاده از Access Control List (ACL) انجام می‌شود.

ACL مجموعه‌ای از قوانین است که آدرس‌های مبدأ یا مقصد را مشخص می‌کند. در NAT، معمولاً از Standard ACL برای معرفی شبکه داخلی استفاده می‌شود.

به‌عنوان مثال، اگر شبکه داخلی دارای آدرس 192.168.1.0/24 باشد، می‌توان ACL را به‌صورت زیر ایجاد کرد:

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

در این دستور:

  • عدد 1 شماره Access List است.
  • دستور permit به روتر اجازه می‌دهد آدرس‌های مشخص‌شده در NAT استفاده شوند.
  • مقدار 192.168.1.0 آدرس شبکه داخلی است.
  • مقدار 0.0.0.255 ماسک معکوس (Wildcard Mask) برای شبکه /24 است.

پس از ایجاد ACL، این فهرست در دستورات NAT مورد استفاده قرار می‌گیرد تا فقط ترافیک شبکه‌های مجاز ترجمه شود.

پیکربندی صحیح NAT به انجام سه مرحله اساسی وابسته است: ابتدا باید اینترفیس متصل به شبکه داخلی به‌عنوان Inside و اینترفیس متصل به شبکه خارجی به‌عنوان Outside معرفی شوند. سپس با ایجاد یک Access List، شبکه یا دستگاه‌هایی که مجاز به استفاده از NAT هستند مشخص می‌شوند. پس از انجام این مراحل، روتر آماده پیاده‌سازی انواع NAT مانند Static NAT، Dynamic NAT یا PAT خواهد بود.

 

 

 

پیکربندی Static NAT

Static NAT یکی از ساده‌ترین روش‌های پیاده‌سازی NAT در روترهای سیسکو است که در آن یک آدرس IP خصوصی به‌صورت دائمی به یک آدرس IP عمومی نگاشت می‌شود. در این روش، هر زمان که ترافیک از شبکه داخلی به سمت شبکه خارجی یا بالعکس ارسال شود، روتر همواره همان آدرس عمومی را برای دستگاه داخلی استفاده می‌کند.

این نوع NAT معمولاً برای تجهیزاتی به کار می‌رود که باید از خارج شبکه نیز قابل دسترس باشند؛ مانند وب‌سرورها، سرورهای ایمیل، سرورهای FTP، دوربین‌های مداربسته و سایر سرویس‌هایی که کاربران اینترنت باید بتوانند به آن‌ها متصل شوند.

دستور ip nat inside source static

برای ایجاد یک نگاشت ثابت بین آدرس IP خصوصی و آدرس IP عمومی، از دستور زیر استفاده می‌شود:

Router(config)# ip nat inside source static <Private-IP> <Public-IP>

در این دستور:

  • Private-IP: آدرس IP خصوصی دستگاه داخل شبکه
  • Public-IP: آدرس IP عمومی که به دستگاه اختصاص داده می‌شود.

پس از اجرای این دستور، روتر تمام بسته‌های ارسالی از آدرس خصوصی را با آدرس عمومی مشخص‌شده جایگزین می‌کند و هنگام دریافت بسته‌های ورودی نیز فرآیند ترجمه را به‌صورت معکوس انجام می‌دهد.

مثال عملی

فرض کنید یک وب‌سرور در شبکه داخلی دارای آدرس 192.168.1.10 است و شرکت یک آدرس IP عمومی 203.0.113.10 در اختیار دارد. هدف این است که کاربران اینترنت بتوانند از طریق IP عمومی به این وب‌سرور دسترسی داشته باشند.

ابتدا اینترفیس‌های روتر به‌صورت Inside و Outside پیکربندی می‌شوند:

Router(config)# interface GigabitEthernet0/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)# interface GigabitEthernet0/1
Router(config-if)# ip address 203.0.113.1 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# no shutdown

سپس نگاشت Static NAT ایجاد می‌شود:

Router(config)# ip nat inside source static 192.168.1.10 203.0.113.10

پس از اجرای این دستور:

  • هرگاه وب‌سرور داخلی با آدرس 192.168.1.10 به اینترنت متصل شود، روتر آدرس مبدأ را به 203.0.113.10 تبدیل می‌کند.
  • هرگاه کاربری از اینترنت به آدرس 203.0.113.10 درخواست ارسال کند، روتر آن را به آدرس 192.168.1.10 هدایت می‌کند.

به این ترتیب، وب‌سرور داخلی بدون اینکه آدرس خصوصی آن در اینترنت قابل مشاهده باشد، از طریق یک آدرس IP عمومی در دسترس کاربران خارجی قرار می‌گیرد.

بررسی تنظیمات Static NAT

پس از پیکربندی، می‌توان صحت عملکرد NAT را با دستور زیر بررسی کرد:

Router# show ip nat translations

این دستور جدول ترجمه‌های NAT را نمایش می‌دهد و نشان می‌دهد که آدرس خصوصی 192.168.1.10 به آدرس عمومی 203.0.113.10 نگاشت شده است. همچنین برای مشاهده آمار عملکرد NAT می‌توان از دستور زیر استفاده کرد:

Router# show ip nat statistics

Static NAT روشی مناسب برای ایجاد نگاشت دائمی بین یک آدرس IP خصوصی و یک آدرس IP عمومی است. این روش بیشتر برای سرورها و تجهیزاتی استفاده می‌شود که باید همواره از خارج شبکه قابل دسترس باشند. اگرچه Static NAT به ازای هر دستگاه به یک IP عمومی مجزا نیاز دارد، اما به دلیل سادگی، پایداری و قابلیت دسترسی دائمی، یکی از پرکاربردترین روش‌ها برای انتشار سرویس‌های داخلی در اینترنت به شمار می‌رود.

 

 

 

پیکربندی Dynamic NAT

Dynamic NAT یکی از روش‌های ترجمه آدرس در روترهای سیسکو است که در آن آدرس‌های IP خصوصی به‌صورت موقت به آدرس‌های IP عمومی تبدیل می‌شوند. در این روش، روتر از مجموعه‌ای از آدرس‌های IP عمومی که به آن NAT Pool گفته می‌شود، استفاده می‌کند. هر زمان که یک دستگاه داخلی قصد برقراری ارتباط با شبکه خارجی را داشته باشد، روتر یکی از آدرس‌های آزاد موجود در این مجموعه را به آن اختصاص می‌دهد. پس از پایان ارتباط، آدرس عمومی آزاد شده و برای سایر کاربران قابل استفاده خواهد بود.

Dynamic NAT برای سازمان‌هایی مناسب است که تعداد محدودی آدرس IP عمومی در اختیار دارند، اما همه کاربران به‌طور هم‌زمان از اینترنت استفاده نمی‌کنند. در این حالت، تعداد آدرس‌های موجود در Pool می‌تواند کمتر از تعداد کل کاربران شبکه باشد، مشروط بر اینکه تعداد ارتباط‌های هم‌زمان از تعداد IPهای عمومی موجود بیشتر نشود.

دستور ip nat pool

اولین مرحله در پیکربندی Dynamic NAT، ایجاد مجموعه‌ای از آدرس‌های IP عمومی یا NAT Pool است. این مجموعه شامل بازه‌ای از آدرس‌های عمومی است که روتر برای ترجمه آدرس‌های خصوصی از آن استفاده می‌کند.

ساختار دستور به صورت زیر است:

Router(config)# ip nat pool <Pool-Name> <Start-IP> <End-IP> netmask <Subnet-Mask>

برای مثال، اگر شرکت دارای پنج آدرس IP عمومی از 203.0.113.10 تا 203.0.113.14 باشد، دستور زیر برای ایجاد Pool استفاده می‌شود:

Router(config)# ip nat pool PUBLIC_POOL 203.0.113.10 203.0.113.14 netmask 255.255.255.248

در این مثال:

  • PUBLIC_POOL نام مجموعه آدرس‌های عمومی است.
  • 203.0.113.10 اولین آدرس موجود در Pool است.
  • 203.0.113.14 آخرین آدرس موجود در Pool است.
  • 255.255.255.248 ماسک شبکه مربوط به این بازه است.

دستور access-list

پس از ایجاد Pool، باید مشخص شود که کدام دستگاه‌های شبکه داخلی مجاز به استفاده از Dynamic NAT هستند. این کار با استفاده از Access List (ACL) انجام می‌شود.

به‌عنوان مثال، اگر شبکه داخلی دارای آدرس 192.168.1.0/24 باشد، دستور زیر اجرا می‌شود:

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

در این دستور:

  • عدد 1 شماره Access List است.
  • دستور permit اجازه استفاده از NAT را به شبکه مشخص‌شده می‌دهد.
  • مقدار 0.0.0.255 ماسک معکوس (Wildcard Mask) برای شبکه /24 است.

این Access List مشخص می‌کند که تمام دستگاه‌های موجود در شبکه 192.168.1.0/24 می‌توانند از آدرس‌های موجود در Pool استفاده کنند.


دستور ip nat inside source list

در مرحله آخر، Access List به NAT Pool متصل می‌شود تا روتر بداند آدرس‌های مشخص‌شده در ACL باید از کدام مجموعه آدرس عمومی استفاده کنند.

ساختار دستور به صورت زیر است:

Router(config)# ip nat inside source list <ACL-Number> pool <Pool-Name>

برای مثال:

Router(config)# ip nat inside source list 1 pool PUBLIC_POOL

در این دستور:

  • 1 شماره Access List است.
  • PUBLIC_POOL نام مجموعه آدرس‌های عمومی است که قبلاً ایجاد شده است.

با اجرای این دستور، هر دستگاهی که در Access List شماره 1 قرار داشته باشد، هنگام برقراری ارتباط با اینترنت، یکی از آدرس‌های آزاد موجود در PUBLIC_POOL را دریافت خواهد کرد.

مثال کامل پیکربندی Dynamic NAT

نمونه زیر مراحل کامل پیکربندی Dynamic NAT را نشان می‌دهد:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip address 203.0.113.1 255.255.255.248
Router(config-if)# ip nat outside

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

Router(config)# ip nat pool PUBLIC_POOL 203.0.113.10 203.0.113.14 netmask 255.255.255.248

Router(config)# ip nat inside source list 1 pool PUBLIC_POOL

در این پیکربندی، تمامی دستگاه‌های شبکه 192.168.1.0/24 می‌توانند از پنج آدرس IP عمومی موجود در PUBLIC_POOL برای برقراری ارتباط با اینترنت استفاده کنند.

بررسی عملکرد Dynamic NAT

پس از پیکربندی، می‌توان با استفاده از دستورات زیر وضعیت ترجمه آدرس‌ها را بررسی کرد:

Router# show ip nat translations

این دستور جدول ترجمه‌های NAT را نمایش می‌دهد و نشان می‌دهد که هر آدرس خصوصی به کدام آدرس عمومی نگاشت شده است.

همچنین برای مشاهده آمار عملکرد NAT می‌توان از دستور زیر استفاده کرد:

Router# show ip nat statistics

Dynamic NAT روشی است که در آن روتر به‌صورت پویا آدرس‌های IP عمومی را از یک مجموعه مشخص به کاربران شبکه داخلی اختصاص می‌دهد. این روش نسبت به Static NAT مصرف بهینه‌تری از آدرس‌های عمومی دارد، اما تعداد کاربران هم‌زمان نمی‌تواند از تعداد آدرس‌های موجود در NAT Pool بیشتر باشد. به همین دلیل، در شبکه‌هایی که تعداد زیادی کاربر به‌طور هم‌زمان به اینترنت متصل می‌شوند، معمولاً از PAT (NAT Overload) استفاده می‌شود که امکان اشتراک یک IP عمومی بین چندین کاربر را فراهم می‌کند.

 

 

 

پیکربندی PAT (NAT Overload)

PAT (Port Address Translation) که در تجهیزات سیسکو با نام NAT Overload نیز شناخته می‌شود، یکی از پرکاربردترین روش‌های ترجمه آدرس است. در این روش، برخلاف Dynamic NAT که به هر کاربر یک IP عمومی اختصاص داده می‌شود، تمامی کاربران شبکه داخلی می‌توانند به‌صورت هم‌زمان از یک یا تعداد محدودی آدرس IP عمومی استفاده کنند.

روتر سیسکو برای تشخیص ارتباط هر دستگاه، علاوه بر آدرس IP، از شماره پورت مبدأ و مقصد نیز استفاده می‌کند. به همین دلیل، حتی اگر چندین کاربر از یک IP عمومی مشترک استفاده کنند، پاسخ هر ارتباط به دستگاه صحیح ارسال خواهد شد.

PAT به دلیل صرفه‌جویی بسیار زیاد در مصرف آدرس‌های IPv4، متداول‌ترین روش اتصال کاربران یک سازمان یا شبکه خانگی به اینترنت است.

دستور ip nat inside source list ... overload

برای فعال‌سازی PAT، ابتدا باید شبکه داخلی توسط یک Access List مشخص شود و سپس این شبکه به اینترفیس متصل به اینترنت یا یک IP عمومی متصل گردد. در انتهای دستور از کلمه overload استفاده می‌شود تا روتر از قابلیت اشتراک یک IP عمومی بین چندین کاربر استفاده کند.

ساختار کلی دستور به صورت زیر است:

Router(config)# ip nat inside source list <ACL-Number> interface <Outside-Interface> overload

در این دستور:

  • ACL-Number شماره Access List است که شبکه داخلی را مشخص می‌کند.
  • Outside-Interface اینترفیس متصل به اینترنت یا شبکه خارجی است.
  • overload بیانگر استفاده از PAT و اشتراک آدرس IP عمومی بین چندین کاربر است.

مثال عملی

فرض کنید یک سازمان دارای شرایط زیر است:

  • شبکه داخلی: 192.168.1.0/24
  • اینترفیس داخلی: GigabitEthernet0/0
  • اینترفیس متصل به اینترنت: GigabitEthernet0/1
  • تنها یک آدرس IP عمومی روی اینترفیس خارجی وجود دارد.

ابتدا اینترفیس‌های Inside و Outside پیکربندی می‌شوند:

Router(config)# interface GigabitEthernet0/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)# interface GigabitEthernet0/1
Router(config-if)# ip address 203.0.113.10 255.255.255.248
Router(config-if)# ip nat outside
Router(config-if)# no shutdown

سپس شبکه داخلی توسط Access List معرفی می‌شود:

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

در نهایت، PAT با دستور زیر فعال می‌شود:

Router(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload

پس از اجرای این دستور، تمامی دستگاه‌های موجود در شبکه 192.168.1.0/24 می‌توانند به‌طور هم‌زمان از آدرس IP عمومی اینترفیس GigabitEthernet0/1 برای دسترسی به اینترنت استفاده کنند. روتر با اختصاص شماره پورت‌های متفاوت به هر ارتباط، بسته‌های ارسالی و دریافتی را مدیریت کرده و از تداخل ارتباط‌ها جلوگیری می‌کند.

بررسی عملکرد PAT

برای مشاهده جدول ترجمه آدرس‌ها و شماره پورت‌ها از دستور زیر استفاده می‌شود:

Router# show ip nat translations

خروجی این دستور، آدرس‌های خصوصی، آدرس عمومی و شماره پورت‌های اختصاص‌یافته به هر ارتباط را نمایش می‌دهد.

برای مشاهده آمار عملکرد PAT نیز می‌توان از دستور زیر استفاده کرد:

Router# show ip nat statistics

این دستور اطلاعاتی مانند تعداد ترجمه‌های فعال، تعداد بسته‌های ترجمه‌شده و وضعیت عملکرد NAT را نمایش می‌دهد.

مزایای PAT

استفاده از PAT مزایای متعددی دارد که مهم‌ترین آن‌ها عبارت‌اند از:

  • صرفه‌جویی بسیار زیاد در مصرف آدرس‌های IPv4
  • امکان اتصال هم‌زمان تعداد زیادی کاربر با استفاده از یک IP عمومی
  • پیاده‌سازی ساده و مدیریت آسان
  • مناسب برای شبکه‌های خانگی، اداری و سازمانی
  • عدم نیاز به اختصاص یک IP عمومی برای هر دستگاه

PAT یا NAT Overload پرکاربردترین روش ترجمه آدرس در روترهای سیسکو است. در این روش، چندین دستگاه داخلی از یک آدرس IP عمومی مشترک استفاده می‌کنند و روتر با بهره‌گیری از شماره پورت، ارتباط هر دستگاه را به‌صورت مجزا مدیریت می‌کند. به دلیل استفاده بهینه از آدرس‌های IPv4 و سادگی در پیاده‌سازی، PAT در اکثر شبکه‌های امروزی به‌عنوان روش استاندارد دسترسی کاربران به اینترنت مورد استفاده قرار می‌گیرد.

 

 

بررسی و مشاهده وضعیت NAT

پس از پیکربندی NAT در روترهای سیسکو، لازم است عملکرد آن بررسی شود تا اطمینان حاصل شود که فرآیند ترجمه آدرس‌ها به‌درستی انجام می‌شود. سیستم‌عامل Cisco IOS دستورات متعددی برای مشاهده وضعیت NAT، بررسی جدول ترجمه‌ها و نمایش آمار عملکرد در اختیار مدیر شبکه قرار می‌دهد. مهم‌ترین این دستورات عبارت‌اند از show ip nat translations و show ip nat statistics.

دستور show ip nat translations

این دستور جدول ترجمه‌های NAT را نمایش می‌دهد. جدول ترجمه شامل تمامی نگاشت‌های ایجادشده بین آدرس‌های IP خصوصی و عمومی است و در صورت استفاده از PAT، شماره پورت‌های مربوط به هر ارتباط نیز نمایش داده می‌شود.

ساختار دستور به صورت زیر است:

Router# show ip nat translations

نمونه‌ای از خروجی این دستور:

Router# show ip nat translations

Pro  Inside global       Inside local        Outside local      Outside global
tcp 203.0.113.10:1025    192.168.1.10:1025   8.8.8.8:53         8.8.8.8:53
tcp 203.0.113.10:1050    192.168.1.20:1050   142.250.190.78:80  142.250.190.78:80

توضیح ستون‌های جدول:

  • Protocol (Pro): نوع پروتکل ارتباطی مانند TCP، UDP یا ICMP.
  • Inside Local: آدرس IP خصوصی دستگاه داخل شبکه قبل از انجام NAT.
  • Inside Global: آدرس IP عمومی که پس از ترجمه به دستگاه داخلی اختصاص داده شده است.
  • Outside Local: آدرس مقصد از دید شبکه داخلی.
  • Outside Global: آدرس واقعی مقصد در شبکه خارجی یا اینترنت.

با استفاده از این جدول، مدیر شبکه می‌تواند مشاهده کند که هر دستگاه داخلی از چه آدرس IP عمومی و در صورت استفاده از PAT، از چه شماره پورتی برای برقراری ارتباط با اینترنت استفاده می‌کند.


دستور show ip nat statistics

این دستور اطلاعات آماری مربوط به عملکرد NAT را نمایش می‌دهد. از طریق این اطلاعات می‌توان تعداد ترجمه‌های فعال، تعداد اینترفیس‌های Inside و Outside، میزان استفاده از NAT و وضعیت کلی عملکرد آن را بررسی کرد.

ساختار دستور به صورت زیر است:

Router# show ip nat statistics

نمونه‌ای از خروجی:

Router# show ip nat statistics

Total active translations: 12
Dynamic mappings:
-- Inside Source
Access-list 1 pool PUBLIC_POOL
Hits: 420  Misses: 3
Expired translations: 28

Inside interfaces:
  GigabitEthernet0/0

Outside interfaces:
  GigabitEthernet0/1

مهم‌ترین اطلاعات نمایش داده‌شده عبارت‌اند از:

  • Total active translations: تعداد ترجمه‌های فعال در لحظه.
  • Dynamic mappings: اطلاعات مربوط به Pool یا قوانین NAT پویا.
  • Hits: تعداد دفعاتی که NAT با موفقیت یک ترجمه انجام داده است.
  • Misses: تعداد دفعاتی که ترجمه موردنیاز پیدا نشده یا انجام نشده است.
  • Expired translations: تعداد ترجمه‌هایی که پس از پایان ارتباط حذف شده‌اند.
  • Inside interfaces: اینترفیس‌هایی که به‌عنوان Inside تعریف شده‌اند.
  • Outside interfaces: اینترفیس‌هایی که به‌عنوان Outside تعریف شده‌اند.

کاربرد دستورات بررسی NAT

استفاده از دستورات بررسی NAT مزایای متعددی برای مدیران شبکه دارد، از جمله:

  • اطمینان از ایجاد صحیح ترجمه‌های NAT
  • بررسی عملکرد Static NAT، Dynamic NAT و PAT
  • مشاهده ارتباط‌های فعال کاربران با اینترنت
  • شناسایی مشکلات مربوط به ترجمه آدرس‌ها
  • بررسی تعداد ترجمه‌های فعال و میزان استفاده از منابع روتر
  • کمک به عیب‌یابی در صورت عدم دسترسی کاربران به شبکه‌های خارجی

دستورات show ip nat translations و show ip nat statistics از مهم‌ترین ابزارهای مدیریتی در روترهای سیسکو هستند که برای بررسی عملکرد NAT مورد استفاده قرار می‌گیرند. دستور show ip nat translations جدول نگاشت آدرس‌های IP خصوصی و عمومی را نمایش می‌دهد، در حالی که دستور show ip nat statistics اطلاعات آماری و وضعیت کلی عملکرد NAT را ارائه می‌کند. استفاده منظم از این دستورات به مدیر شبکه کمک می‌کند تا از صحت عملکرد NAT اطمینان حاصل کرده و در صورت بروز مشکل، آن را سریع‌تر شناسایی و برطرف کند.

 

 

حذف تنظیمات NAT

در برخی از سناریوها، مدیر شبکه ممکن است نیاز داشته باشد تنظیمات NAT را تغییر دهد، نگاشت‌های قبلی را حذف کند یا پس از انجام تغییرات، جدول ترجمه‌های NAT را پاک‌سازی نماید. سیستم‌عامل Cisco IOS دستورات مختلفی را برای حذف تنظیمات و پاک کردن ترجمه‌های ایجادشده در اختیار مدیران شبکه قرار می‌دهد. از مهم‌ترین این دستورات می‌توان به no ip nat inside source و clear ip nat translation * اشاره کرد.

دستور no ip nat inside source

در سیستم‌عامل Cisco IOS، برای حذف هر تنظیمی که قبلاً پیکربندی شده است، از کلمه no در ابتدای همان دستور استفاده می‌شود. بنابراین برای حذف یک قانون NAT، کافی است دستور مربوط به ایجاد آن را با پیشوند no وارد کنیم.

به‌عنوان مثال، اگر قبلاً یک Static NAT به صورت زیر پیکربندی شده باشد:

Router(config)# ip nat inside source static 192.168.1.10 203.0.113.10

برای حذف این نگاشت، دستور زیر اجرا می‌شود:

Router(config)# no ip nat inside source static 192.168.1.10 203.0.113.10

به همین ترتیب، اگر Dynamic NAT یا PAT پیکربندی شده باشد، می‌توان قانون مربوطه را نیز با استفاده از دستور no حذف کرد. برای مثال:

Router(config)# no ip nat inside source list 1 pool PUBLIC_POOL

یا در صورت استفاده از PAT:

Router(config)# no ip nat inside source list 1 interface GigabitEthernet0/1 overload

پس از اجرای این دستورات، روتر دیگر از قوانین حذف‌شده برای ترجمه آدرس‌ها استفاده نخواهد کرد.


دستور clear ip nat translation *

حتی پس از حذف قوانین NAT، ممکن است برخی از ترجمه‌های ایجادشده همچنان در حافظه روتر باقی بمانند. این ترجمه‌ها تا پایان زمان اعتبار (Timeout) حفظ می‌شوند. برای حذف فوری تمامی ترجمه‌های فعال از جدول NAT، از دستور زیر استفاده می‌شود:

Router# clear ip nat translation *

علامت (*) به این معنا است که تمام ترجمه‌های موجود در جدول NAT حذف شوند.

پس از اجرای این دستور:

  • تمامی نگاشت‌های موقت حذف می‌شوند.
  • ارتباط‌های فعال مبتنی بر NAT قطع خواهند شد.
  • با برقراری ارتباط‌های جدید، روتر ترجمه‌های جدید را ایجاد می‌کند.

این دستور معمولاً پس از اعمال تغییرات در تنظیمات NAT یا هنگام عیب‌یابی مورد استفاده قرار می‌گیرد تا اطمینان حاصل شود که ترجمه‌های قدیمی در عملکرد شبکه تأثیری ندارند.


زمان استفاده از دستورات حذف NAT

مدیران شبکه معمولاً در شرایط زیر از دستورات حذف NAT استفاده می‌کنند:

  • حذف قوانین قدیمی یا اشتباه NAT
  • تغییر آدرس‌های IP عمومی یا خصوصی
  • جایگزینی Static NAT با Dynamic NAT یا PAT
  • پاک‌سازی جدول ترجمه‌ها پس از اعمال تغییرات
  • عیب‌یابی مشکلات مربوط به ترجمه آدرس‌ها
  • راه‌اندازی مجدد فرآیند NAT بدون نیاز به راه‌اندازی مجدد روتر

نکات مهم

هنگام حذف تنظیمات NAT باید به نکات زیر توجه شود:

  • پیش از حذف قوانین، از صحت تنظیمات جدید اطمینان حاصل کنید تا ارتباط کاربران با اینترنت یا سرویس‌های داخلی دچار اختلال نشود.
  • اجرای دستور clear ip nat translation * باعث قطع ارتباط‌های فعال مبتنی بر NAT می‌شود؛ بنابراین بهتر است در زمان‌های کم‌ترافیک یا با اطلاع کاربران اجرا شود.
  • پس از حذف یا تغییر تنظیمات، بهتر است با استفاده از دستورات show ip nat translations و show ip nat statistics عملکرد NAT بررسی شود تا از اعمال صحیح تغییرات اطمینان حاصل گردد.

حذف صحیح تنظیمات NAT بخش مهمی از مدیریت و نگهداری شبکه‌های سیسکو است. دستور no ip nat inside source برای حذف قوانین NAT از پیکربندی روتر به کار می‌رود، در حالی که دستور clear ip nat translation * جدول ترجمه‌های فعال را پاک‌سازی می‌کند. استفاده صحیح از این دستورات به مدیر شبکه کمک می‌کند تا تغییرات موردنظر را بدون باقی ماندن تنظیمات یا ترجمه‌های قدیمی اعمال کرده و عملکرد NAT را بهینه نگه دارد.

 

 

 

عیب‌یابی NAT

پس از پیکربندی NAT، ممکن است کاربران همچنان نتوانند به اینترنت یا شبکه‌های خارجی دسترسی داشته باشند. در چنین شرایطی، مدیر شبکه باید با استفاده از ابزارها و دستورات موجود در سیستم‌عامل Cisco IOS، علت بروز مشکل را شناسایی و برطرف کند. مهم‌ترین مراحل عیب‌یابی NAT شامل بررسی عملکرد ترجمه آدرس‌ها، کنترل Access List و اطمینان از صحت تنظیمات اینترفیس‌های Inside و Outside است.

دستور debug ip nat

دستور debug ip nat یکی از مهم‌ترین ابزارهای عیب‌یابی در روترهای سیسکو است. این دستور اطلاعات مربوط به فرآیند ترجمه آدرس‌ها را به‌صورت لحظه‌ای (Real-Time) نمایش می‌دهد و نشان می‌دهد که روتر چگونه بسته‌های ورودی و خروجی را پردازش می‌کند.

ساختار دستور به صورت زیر است:

Router# debug ip nat

پس از اجرای این دستور، روتر اطلاعاتی مانند آدرس IP خصوصی، آدرس IP عمومی و نوع ترجمه را هنگام عبور بسته‌ها نمایش می‌دهد. این اطلاعات به مدیر شبکه کمک می‌کند تا تشخیص دهد آیا فرآیند NAT به‌درستی انجام می‌شود یا خیر.

نمونه‌ای از خروجی:

NAT*: s=192.168.1.10->203.0.113.10, d=8.8.8.8

در این مثال، آدرس خصوصی 192.168.1.10 به آدرس عمومی 203.0.113.10 ترجمه شده و بسته به مقصد 8.8.8.8 ارسال شده است.

پس از پایان عملیات عیب‌یابی، بهتر است حالت Debug غیرفعال شود تا از افزایش بار پردازشی روتر جلوگیری گردد:

Router# undebug all

یا

Router# no debug all

بررسی Access List

یکی از رایج‌ترین دلایل عملکرد نادرست NAT، تنظیم نادرست Access List (ACL) است. اگر شبکه داخلی به‌درستی در ACL تعریف نشده باشد، روتر بسته‌ها را برای ترجمه انتخاب نخواهد کرد.

برای مشاهده ACLهای موجود، از دستور زیر استفاده می‌شود:

Router# show access-lists

نمونه خروجی:

Standard IP access list 1
    permit 192.168.1.0, wildcard bits 0.0.0.255

در بررسی Access List باید به موارد زیر توجه شود:

  • شماره Access List با شماره استفاده‌شده در دستور NAT یکسان باشد.
  • آدرس شبکه داخلی به‌درستی وارد شده باشد.
  • Wildcard Mask صحیح باشد.
  • قانون permit برای شبکه موردنظر وجود داشته باشد.

در صورت وجود اشتباه در ACL، NAT قادر به ترجمه بسته‌های آن شبکه نخواهد بود.

بررسی تنظیمات Inside و Outside

یکی دیگر از دلایل متداول بروز مشکل در NAT، اشتباه در تعیین اینترفیس‌های Inside و Outside است. اگر اینترفیس‌ها به‌درستی مشخص نشده باشند، روتر نمی‌تواند تشخیص دهد که ترجمه آدرس‌ها باید در کدام جهت انجام شود.

برای مشاهده تنظیمات اینترفیس‌ها می‌توان از دستور زیر استفاده کرد:

Router# show running-config

یا برای مشاهده فقط تنظیمات مربوط به NAT:

Router# show running-config | include nat

در خروجی باید موارد زیر بررسی شوند:

  • اینترفیس متصل به شبکه داخلی دارای دستور ip nat inside باشد.
  • اینترفیس متصل به اینترنت دارای دستور ip nat outside باشد.
  • قوانین NAT به‌درستی در پیکربندی ثبت شده باشند.

نمونه پیکربندی صحیح:

interface GigabitEthernet0/0
 ip nat inside

interface GigabitEthernet0/1
 ip nat outside

سایر موارد قابل بررسی

در صورت ادامه مشکل، بررسی موارد زیر نیز توصیه می‌شود:

  • اطمینان از فعال بودن اینترفیس‌ها با دستور show ip interface brief
  • بررسی وجود مسیر پیش‌فرض (Default Route) برای دسترسی به اینترنت
  • اطمینان از صحت آدرس‌های IP و Subnet Mask
  • بررسی اتصال فیزیکی و وضعیت لینک‌های شبکه
  • آزمایش ارتباط با استفاده از دستور ping و traceroute
  • بررسی جدول ترجمه NAT با دستور show ip nat translations

عیب‌یابی NAT یکی از مهارت‌های مهم در مدیریت شبکه‌های سیسکو است. دستور debug ip nat امکان مشاهده فرآیند ترجمه آدرس‌ها را به‌صورت لحظه‌ای فراهم می‌کند، Access List مشخص می‌کند کدام آدرس‌ها مجاز به استفاده از NAT هستند و بررسی صحیح تنظیمات Inside و Outside از بروز بسیاری از مشکلات جلوگیری می‌کند. استفاده منظم از دستورات بررسی و عیب‌یابی به مدیر شبکه کمک می‌کند تا مشکلات NAT را در کوتاه‌ترین زمان شناسایی و برطرف کرده و پایداری ارتباطات شبکه را حفظ کند.

 

 

سناریوهای کاربردی NAT

فناوری NAT در شبکه‌های مختلف با توجه به نیازهای سازمان و نوع سرویس مورد استفاده قرار می‌گیرد. انتخاب نوع مناسب NAT به عواملی مانند تعداد کاربران، تعداد آدرس‌های IP عمومی موجود، نیاز به دسترسی از خارج شبکه و نوع سرویس‌های ارائه‌شده بستگی دارد. سه سناریوی رایج استفاده از NAT شامل Static NAT برای سرورها، Dynamic NAT برای کاربران و PAT برای اتصال کاربران به اینترنت است.

۱. استفاده از Static NAT برای سرورها

در بسیاری از سازمان‌ها، برخی سرورها باید از طریق اینترنت برای کاربران خارجی قابل دسترس باشند. از آنجا که سرورها در شبکه داخلی معمولاً دارای آدرس IP خصوصی هستند، امکان دسترسی مستقیم کاربران اینترنت به آن‌ها وجود ندارد. در این شرایط از Static NAT استفاده می‌شود.

در Static NAT، یک آدرس IP خصوصی سرور به یک آدرس IP عمومی ثابت نگاشت می‌شود. به این ترتیب، کاربران خارج از شبکه می‌توانند با استفاده از IP عمومی به سرویس موردنظر دسترسی پیدا کنند.

مثال کاربردی:

فرض کنید یک شرکت دارای یک وب‌سرور داخلی با آدرس زیر است:

Private IP: 192.168.1.10

و یک IP عمومی برای انتشار این سرویس در اختیار دارد:

Public IP: 203.0.113.10

با استفاده از Static NAT، این دو آدرس به یکدیگر متصل می‌شوند:

Router(config)# ip nat inside source static 192.168.1.10 203.0.113.10

پس از این تنظیم، کاربران اینترنت با وارد کردن آدرس 203.0.113.10 به وب‌سرور داخلی با آدرس 192.168.1.10 دسترسی خواهند داشت.

کاربردهای Static NAT:

  • انتشار وب‌سرورها در اینترنت
  • دسترسی به سرورهای ایمیل
  • انتشار سرورهای FTP
  • دسترسی به تجهیزات خاص مانند دوربین‌های تحت شبکه

۲. استفاده از Dynamic NAT برای کاربران

در برخی شبکه‌ها، سازمان تعداد محدودی آدرس IP عمومی در اختیار دارد و نمی‌خواهد برای هر کاربر یک IP عمومی اختصاص دهد. در این شرایط می‌توان از Dynamic NAT استفاده کرد.

در Dynamic NAT، مجموعه‌ای از آدرس‌های IP عمومی به نام NAT Pool ایجاد می‌شود و کاربران شبکه هنگام نیاز، یکی از این آدرس‌ها را به‌صورت موقت دریافت می‌کنند.

مثال کاربردی:

فرض کنید یک شرکت دارای ۵۰ کاربر داخلی است، اما تنها ۵ آدرس IP عمومی در اختیار دارد. همه کاربران به‌صورت هم‌زمان به اینترنت نیاز ندارند، بنابراین می‌توان یک Pool شامل ۵ IP عمومی ایجاد کرد.

پیکربندی نمونه:

Router(config)# ip nat pool PUBLIC_POOL 203.0.113.10 203.0.113.14 netmask 255.255.255.248

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

Router(config)# ip nat inside source list 1 pool PUBLIC_POOL

در این حالت، هر کاربر هنگام اتصال به اینترنت یک IP عمومی آزاد دریافت می‌کند و پس از پایان ارتباط، آن IP برای کاربران دیگر آزاد می‌شود.

کاربردهای Dynamic NAT:

  • شبکه‌های سازمانی با تعداد زیاد کاربر
  • محیط‌هایی که تعداد IP عمومی محدود است
  • شبکه‌هایی که همه کاربران نیاز به اتصال هم‌زمان ندارند

۳. استفاده از PAT برای اتصال کاربران به اینترنت

PAT (Port Address Translation) یا NAT Overload رایج‌ترین روش NAT برای اتصال کاربران شبکه به اینترنت است. در این روش، تعداد زیادی دستگاه داخلی می‌توانند با استفاده از یک IP عمومی مشترک به اینترنت متصل شوند.

روتر برای تشخیص ارتباط هر کاربر، علاوه بر آدرس IP از شماره پورت نیز استفاده می‌کند. به همین دلیل، چندین کاربر می‌توانند هم‌زمان از یک IP عمومی استفاده کنند بدون اینکه ارتباط آن‌ها با یکدیگر تداخل پیدا کند.

مثال کاربردی:

فرض کنید یک شرکت دارای ۲۰۰ کاربر داخلی است، اما تنها یک IP عمومی برای اتصال به اینترنت دارد. با استفاده از PAT، تمام کاربران می‌توانند از همان یک IP عمومی استفاده کنند.

پیکربندی نمونه:

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

Router(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload

در این حالت، تمام کاربران شبکه داخلی از IP عمومی اینترفیس اینترنت برای دسترسی به اینترنت استفاده می‌کنند.

کاربردهای PAT:

  • شبکه‌های خانگی
  • شرکت‌ها و سازمان‌ها
  • دانشگاه‌ها و مراکز آموزشی
  • شبکه‌های دارای تعداد زیاد کاربر

مقایسه سناریوهای کاربردی NAT

نوع NAT کاربرد اصلی نحوه استفاده از IP عمومی
Static NAT انتشار سرورها و سرویس‌ها هر دستگاه یک IP عمومی ثابت
Dynamic NAT اتصال موقت کاربران به اینترنت دریافت IP از یک Pool عمومی
PAT اتصال تعداد زیادی کاربر به اینترنت اشتراک یک IP عمومی با استفاده از پورت‌ها

هر یک از روش‌های NAT برای یک نیاز خاص طراحی شده‌اند. Static NAT زمانی استفاده می‌شود که یک سرویس داخلی مانند سرور باید همیشه از طریق اینترنت قابل دسترس باشد. Dynamic NAT برای شبکه‌هایی مناسب است که چندین کاربر دارند اما تعداد IPهای عمومی آن‌ها محدود است. در نهایت، PAT به دلیل صرفه‌جویی بسیار زیاد در مصرف آدرس‌های IPv4، رایج‌ترین روش برای اتصال کاربران شبکه‌های داخلی به اینترنت محسوب می‌شود.