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

NAT چیست؟

(NAT (Network Address Translation مکانیزم ترجمه آدرسهای Private به آدرس های Public است.

دلایل استفاده از NAT

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

 

از دیدگاه NAT شبکه به دو قسمت inside و outside تقسیم می شود:

  1. Inside Network: شبکه داخلی که دارای IPهای Invalid می‌باشد.
  2. Outside Network: شبکه بیرونی که معمولا دارای IPهای Valid می‌باشد ماننداینترنت

آدرس های IP در مفهوم NAT به چهار دسته تقسیم می شوند:

  1. Inside Local: به آدرس هایی گفته می شود که به Stationهای مختلف در یک شبکه داخلی تخصیص می یابد. به دلیل آنکه این آدرس ها رجیستر نشده اند و برای ارتباط با اینترنت قابل استفاده نمی باشند، نیاز به ترجمه به آدرس های رجیستر شده دارند.
  2. Inside Global: به آدرس هایی گفته می شود که توسط Regionهای مختلف IANNA رجیستر شده اند و آدرس های محلی جهت دسترسی به اینترنت، به این آدرس ها ترجمه می شوند.
  3. Outside Local: به آدرس هایی گفته می شود که در محدوده آدرس Inside Network قرار داشته و نشان دهنده راه ارتباط روتر با شبکه Inside است. در عبارت دیگر باید به روتر بگوئیم که از چه طریقی به شبکه Inside دسترسی پیدا می کند. در نتیجه در محدوده آدرس شبکه Inside می باشد.
  4. Outside Global: به آدرس های رجیستر شده ای که در Outside Network قرار دارد، گفته می شود. در واقع آدرس مقصد بسته هایی که از شبکه Inside نشات گرفته و NAT Router آن را قابل هدایت به سمت شبکه های Outside می کند.

انواع NAT:

  1. Static NAT: در اینجا عملیات ترجمه به صورت دستی صورت می گیرد. در واقع یک تناظر یک به یک بین آدرس های Invalid با آدرس های Valid شکل می گیرد.
    این روش دارای مشکل می باشد. چنانچه تعداد Stationهایی که دارای آدرس Invalid می باشند بیشتر از تعداد آدرس های Valid باشد، تناظر یک به یک امکان پذیر نخواهد بود!
  2. Dynamic NAT: در این روش لیستی از آدرس های Invalid که نیاز به ارتباط با شبکه های Outside دارند و یک لیست از آدرس های Valid که رجیستر شده اند، تهیه شده و NAT Router ارتباط بین این دو لیست را برقرار می سازد.
    در این حالت اگر تعداد آدرس های Invalid بیشتر از آدرس های Valid باشد و درخواستی برای ترجمه به روتر فرستاده شود، درخواست برگشت خورده و تا زمان آزاد شدن یک آدرس Valid، درخواست ها Drop می شود.
  3. Dynamic NAT with Overload: این روش همانند Dynamic NAT می باشد، با این تفاوت که ترجمه بین آدرس های Invalid فقط با یک آدرس Valid صورت می گیرد. بنابراین برای تفکیک آدرس های Invalid از یکدیگر نیاز به مشخصه دیگری هم هست:
    PAT یا همان Port Address Translation مکانیزمی است که در آن تفکیک آدرس ها به کمک پورت های مختلف صورت می گیرد. بنابراین در این روش آدرس های Invalid به یک آدرس Valid ترجمه می شوند اما روتر برای هریک از آنها یک پورت جداگانه باز می کند و تمایز بین آدرس ها به کمک شماره پورت ها صورت می گیرد.

پیکربندی Static NAT در سیسکو

Router(config)#ip nat inside source static local-ip global-ip

Local-ip همان Inside Local و Global-ip همان Inside Global می باشد.
با دستور زیر در روتر، اینترفیس ناحیه Inside را انتخاب می کنیم:

Router(config-if)#ip nat inside

سپس اینترفیس ناحیه Outside:

Router(config-if)#ip nat outside

Dynamic NAT و نحوه پیکربندی آن

معرفی لیستی از آدرس های Valid یا همان Inside Global Address:

{Router(config)#ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length

معرفی لیستی از آدر س های Invalid یا همان Outside Global Address:

[Router(config)#access-list access-list-number permit source [source-wildcard

فعال کردن Dynamic NAT:

Router(config)#ip nat inside source list access-list-number pool name

تعیین Inside/outside Interface:

Router(config-if)#ip nat inside/outside

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

nat
Router(config)#interface Ethernet 0
Router(config-if)#ip address 192.168.3.1 255.255.255.0
Router(config-if)#ip nat inside

Router(config)# interface Ethernet 1
Router(config-if)#ip address 192.168.4.1 255.255.255.0
Router(config-if)#ip nat inside

Router(config)#interface serial 0
Router(config-if)#description TO ISP
Router(config-if)#ip address 172.17.38.1 255.255.255.0
Router(config-if)#ip nat outside

Router(config)#ip nat inside source list 1 interface serial 0 overload

Router(config)#ip route 0.0.0.0 0.0.0.0 serial 0

Router(config)#access-list 1 permit 192.168.3.0 0.0.0.255
Router(config)#access-list 1 permit 192.168.4.0 0.0.0.255

3 پاسخ

  1. سلام
    ممنون بابت پستتون.
    توی مثالی که در پایان مطلب زدید، بنظرم fast ethernet 0 باید ip 192.168.3.1 را بگیرد که اشتباها ۱۹۲٫۱۶۸٫۱۰۰٫۱ گرفته است.
    با تشکر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.