NAT چیست؟

صفحه اصلی » مقالات » NAT چیست؟

NAT چیست؟

در این پست از وب سایت ماگ دانلود، به زبانی ساده بررسی خواهیم کرد که NAT چیست؟

NAT چیست؟

NAT یا Network Address Translation پروتکلی است برای تبدیل آدرس های IP غیر معتبر به آدرس های معتبر برای استفاده کاربران از اینترنت که در لایه ۳ مدل OSI کار می کند.

این امکان زمانی مورد استفاده قرار میگیرد که در یک شبکه کاربرانی که دارای آدرس های معتبر نیستند نیاز به برقراری ارتباط با اینترنت را دارند.

این پروتکل تعداد آدرس های غیر معتبر را که از یک طرف به یک اینترفیس سرور NAT متصل است را در قالب یک آدرس معتبر(Encapsulation) به سمت اینترفیس خروجی که به اینترنت متصل است ارسال می کند.

به زبان ساده زمانی از این سرویس استفاده می کنیم که تعدادی کامپیوتر را بخواهیم از طریق یک ارتباط اینترنت به اینترنت متصل نمائیم.

برای راه اندازی این سرویس روی ویندوز سرور ۲۰۰۳ نیازمند ۲ کارت شبکه بر روی کامپیوتر سرور که یکی از آنها به شبکه داخلی و دیگری به طریقی شبکه اینترنت متصل باشد ، هستیم.

NAT یکی از ابزارهای قدرتمند دنیای IT است که دقیقا همان کاری را انجام می دهد که از اسم آن بر می آید,به وسیله NAT میتوانیم آدرسهای یک شبکه را به یک شبکه دیگر ترجمه کنیم.

NAT تقریبا در تمامی سیستم عامل ها و روتر ها قابل انجام است که هر کدام شیوه و روش خود را دارند.

 

کاربردهای NAT چیست؟

از کاربردهای NAT می توان به موارد زیر اشاره کرد:

  • ترجمه IP های Private به Public یا بلعکس
  • تغییر مرکز سرویس دهنده اینترنت بدون نیاز به تغییر IP ها داخلی
  • حفاظت از یک شبکه حساس در مقابل برخی حملات خارجی
  • تغییر پورت مقصد پکتها برای کاربران داخلی به صورت transparent

 

تعریف برخی اصطلاحات:

  • Inside Local : به آدرسی (هایی) اطلاق میشود که بر روی کلاینتهای شبکه داخلی تنظیم شده اند.
  • Inside Global : به آدرسی اطلاق میشود که به اینترفیس داخلی روتر که به شبکه داخلی متصل است داده شده است.
  • Outside Local : به آدرسهایی که درون اینترنت یا شبکه Public ما قرار دارد گفته می شود.
  • Outside Global : به آدرسی (هایی) که بر روی اینترفیس خارجی روتر که به شبکه Public متصل است گفته می شود.

 

 

NAT

NAT

 

NAT

NAT

 

NAT چیست؟

Static NAT :

این نوع NAT به صورت یک به یک عمل میکند. بدین معنی که یک عدد inside-local را به یکoutside-global ترجمه می کند. کاربرد این نوع NAT وقتی است که میخواهیم یک private ip را به یک public ip تبدیل کنیم.

 

Dynamic NAT:

Dynamic NAT نیز همانند Static NAT است اما با این تفاوت که در NAT به صورت Dynamic میتوانیم یک یا چندین IP با به چندین IP ترجمه کنیم.

 

چرا چندین IP به چندین IP؟

فرض کنید شما Admin یک ISP هستید و به دلیل کمبود IP نیاز به NAT دارید. بر فرض مثال شما دارای ۱۰ Valid IP و ۱۰۰ Invalid IP که باید به آنها ترجمه کنید.

ممکن است تا کنون برای شما پیش آمده باشد که یوزری تماس گرفته و اعلام نا رضایتی کند از اینکه مدتهای طولانی برای دانلود یک فایل از سایت Rapidshare.com باید انتظار بکشد.

این به دلیل این است که سایت Rapidshare.com تمامی یوزرهای شما را به چشم یک کاربر میبیند.

برای رفع این مشکل میتوانیم ۱۰ آدرس معتبر را به ۱۰۰ آدرس غیر معتبر ترجمه کنیم که تا حدود زیادی مشکل را حل خواهد کرد.در Dynamic NAT معمولا آدرسهای معتبر را به وسیله IP nat pool مشخص و آدرسهای غیر معتبر را توسط یک access-list مشخص میکنیم.

دلیل استفاده از access-list ایجاد امنیت بیشتر است.

 

Dynamic NAT به صورت Overload :

ممکن است ما به شرایطی بر بخوریم که تنها ۱ عدد آدرس Valid در اختیار داریم و اجبار به NAT کردن آدرس مذکور به چندین آدرس را داریم.

در چنین شرایطی باید از قابلیت Overload استفاده کنیم. در این حالت روتر برای ورود و خروج هر آدرس Invalid یک پورت مجزا در نظر می گیرد که تمامی آنها را در جدولی که درون خود تشکیل می دهد به ثبت می رساند.

به این ترتیب هر پکت که از روتر به مقصد اینترنت خارج می شود دقیقا در هنگام بازگشت به همان آدرس Invalid که صادر کننده آن است باز میگردد.

هر یک خط در جدول مذکور یک کانکشن به حساب می آید. اگر دقت کنید بر روی کاتالوگ بعضی سخت افزارها محدودیتی برای تعداد این کانکشن ها قائل می شوند.

 

Destination NAT :

dstNAT یا outside source address translation بدین معنی است که ما عمل NAT را برای شبکه Public خود انجام دهیم.

با یک مثال قضیه را روشن میکنم:فرض کنید آدرس IP یکی از مشترکین شما  NAT شده است.

یعنی مشترک به صورت دستی آدرس را در کامپیوتر خود وارد کرده و default gateway را آدرس اینترفیس داخلی روتر شما قرار داده است.

شما قبلا عمل NAT را برای وی انجام داده اید و او را به اینترنت متصل نموده اید. حال مشترک نیاز دارد که کاربری در اینترنت به کامپیوترش وصل شود یا اینکه قصد هاست کردن یک وبسایت بر روی کامپیوتر حود را دارد.

با شرایط فعلی این امر امکان پذیر نیست زیرا که آدرس معتبری یر روی آن تنظیم نشده و از اینترنت قابل رویت نیست.

ما برای رفع مشکل این یوزر می بایست عمل dstNAT را انجام دهیم.

یعنی به روتر خود بگوئیم هر گاه پکتی با درخواست اتصال به آدرس X را داشت آن را به کامپیوتری در شبکه داخلی با آدرس Y بفرست.

بدین ترتیب با داشتن آن آدرس valid میتوانیم به هاست لوکال خود دسترسی پیدا کنیم. این امر نیز به دو صورت static و dynamic قابل اجراست.

 

Redirect درNAT :

در بعضی مواقع نیاز داریم که یک پورت یا IP را به صورت transparent برای یوزرهای خود عوض کنیم.

به عنوان مثال ما در شبکه خود یک وب سرور داریم. این سرور قبلا بر روی پورت ۸۰ کار کرده است اما اکنون به دلایلی مجبور به تعویض پورت آن به ۸۰۸۰ شده ایم.

ممکن است آگاه سازی یوزرهای ما برایمان مشکل ساز باشد و بخواهیم بدون هیچ تغییری برای آنها این پورت را عوض کنیم. در چنین مواقعی Redirect به کمک ما می شتابد.

 

Change Translation Timeouts :

وقتی که ما از Dynamic NAT استفاده می کنیم یک IP به یک IP دیگر نسبت داده می شود.

فرضا اگر کلاینت ما ۱ ساعت از این IP استفاده کند تا یک مدت بعد این IP خارجی برای وی به صورت رزرو می ماند.

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

زمان این تاخیر را میتوانیم مشخص کنیم که در حالت Dynamic NAT بدون Overload این زمان به صورت پیش فرض ۲۴ ساعت است.

نوشته های مشابه

ثبت دیدگاه

  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.

برو بالا