امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

تفاوت Source NAT و Destination NAT در چیست؟ مقایسه SrcNAT و DsNAT

امروز در این مطلب میخوام که تفاوت بین Source NAT و Destination NAT رو براتون باز کنم تا دیگه کسایی که در درک این مطلب مشکل دارن برای همیشه تفاوت بین این دو رو بدونن و ابهامی براشون پیش نیاد. همونطور که میدونید NAT یک سرویسی هست که در دستگاه هایی مثل روتر ، فایروال و بطور کلی پلتفرم هایی که میتونن کلاینت های شما رو به شبکه اینترنت متصل کنن پشتیبانی میشه و اگه مکانیزم کاری NAT رو بخوبی درک کنید میتونید روی هر پلتفرمی که جلوتون گذاشتن پیاده سازیش کنید چون Base مطلب یکی هست.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. Source NAT چیست؟
  2. Destination NAT چیست؟

تفاوت Source NAT و Destination NAT

همونطور که میدونید NAT در لایه سوم از مدل OSI که همون لایه Network هست کار می کنه چون که همش با آدرس IP سر و کار داره. ما نمیخوایم که بصورت کامل سرویس NAT رو برای شما باز کنیم و توضیح بدیم چون در این سایت بصورت مفصل میتونید راجب NAT اطلاعات بدست بیارید پس ما یکراست به سراغ اصل مطلب میریم. ببینید به زبان ساده NAT میاد عمل تبدیل IP Private رو به IP Public و همچنین برعکس انجام میده. زمانی که IP Private میخواد به IP Public تبدیل بشه بهش میگن Source NAT و وقتی عکس این کار میخواد انجام بشه یعنی تبدیل IP Public به IP Private بهش میگن Destination NAT. خب Source NAT و Destination NAT انواع مختلفی دارن که در زیر هر دوشون رو بصورت کامل توضیح میدیم.

Source NAT چیست؟

Source NAT بصورت معمول توسط کاربران داخلی شبکه استفاده میشه تا به اینترنت دسترسی پیدا کنن. اسمش رو چرا گذاشتن Source NAT ؟ بخاطر اینکه Source یا مبدا Packet توسط سرویس NAT دستکاری میشه و وقتی که Packet میخواد بره توی اینترنت IP Private برداشته میشه و جاش IP Public ای که روتر هست قرار میگیره. ما 3 نوع Source NAT داریم :

1- Dynamic IP and Port یا DIPP : در این نوع Source NAT ما کلاینت های مختلفی و در نتیجه با IP Private های مختلفی داریم که میخوان با یه IP Public پکت هاشون NAT بشن و برن توی اینترنت. اگه جایی PAT یا Port Address Translation شنیدید DIPP همون PAT هست. گاها بهش Network Address Port Translation یا NAPT هم میگن. DIPP کاری که می کنه اینه که به هر IP کلاینت یک Port تو NAT Pool خودش اختصاص میده و برای جا هایی که فقط یدونه IP Public دارن بسیار مناسبه. نمیخواد جای دوری برید ! شما توی خونه تون هم از این نوع Source NAT دارین استفاده می کنین !

2- Dynamic IP : خب شما توی سازمانی که دارید کار می کنید به احتمال زیاد بیشتر از یدونه IP Public دارید چون ممکنه سرور هایی داشته باشید که اگه اینترفیسی که روش IP Public هست Fail شد سرورتون بتونه از لینک دوم اینترنت تون استفاده کنه. در این نوع Source NAT سرویس NAT یک IP Private رو به یک IP Public مپ می کنه یعنی شما فرض کنید 5 تا IP Private توی NAT Pool دارین که هر کدوم از این IP ها مربوط به یک سرور در شبکه تون هست حالا NAT میاد و به هر کدوم (تاکید می کنم به هر کدوم) از این Private IP ها یه Public IP اختصاص میده تا بتونن Source NAT بشن و برن توی اینترنت. حالا اگه IP ششمی میاد تو وسط NAT بهش این اجازه رو نمیده و باید یه Private IP اتصالش رو قطع کنه تا Public IP اون آزاد بشه تا IP بعدی بتونه از اون Public IP استفاده کنه. البته تو فایروال هایی مثل Palo Alto قابلیت جالبی که به سرویس NAT اضافه کردن به شما این امکان رو میده که بتونید کاری کنید که وقتی این اتفاق افتاد IP بعدی که میخواد از Public IP استفاده کنه یکی از Public IP ها رو PAT یا DIPP کنه تا اون سرور بیکار نمونه و بره توی اینترنت کارشون بکنه.

3- Static IP : از اسمش هم مشخصه ! یعنی توی NAT Pool یک Private IP به یک Public IP مپ میشه. تفاوت Static IP با Dynamic IP در اینه که در Dynamic IP اگه IP یه کلاینت عوض بشه یا یه کلاینت دیگه جاش بیاد میتونه از Public IP ای که NAT در اختیارش قرار میده استفاده کنه اما توی Static IP همونطور که الان گفتیم یدونه Private IP به یدونه Public IP مپ میشه.

Destination NAT چیست؟

دوستان عزیزم همیشه توی ذهنتون بمونه Destination NAT برای زمانی هست که شما توی شبکه داخلی تون یک وب سرور ، فایل سرور یا هر چی راه اندازی کردید که میخواید از محیط اینترنت کاربراتون بتونن از اون سرورتون استفاده کنن. پس Destination NAT مستقیما داره با Incoming Packet ها پکت های ورودی به شبکه کار می کنه. میتونیم بگیم که Destination NAT درست عکس کاری رو انجام میده که Source NAT انجام میده.

وقتی پکتی با Public IP میخواد وارد روتر بشه روتر به پورت موجود در پکت اون IP نگاه می کنه و میبینه که مثلا پورت 80 هست ( این یعنی اینکه شما توی شبکه داخلی تون وب سرور دارید ) و روتر از اونجا که براش NAT Rule نوشته شده و گفته شده که وقتی روی پورت 80 پکتی اومد بفرستش به وب سرور داخلی که از یه Private IP داره استفاده می کنه و این لازمش اینه که شما توی روتر یا فایروال تون Port Forwarding رو انجام داده باشید.

ممکنه که شما یک طرفه به این قضیه نگاه کنید و همین باعث بشه که نتونید این مطلب رو درک کنید همیشه وقتی Source NAT هست Destination NAT هم هست Source NAT نحوه دسترسی یک کلاینت یا یک سرور رو به اینترنت مشخص می کنه اما Destination NAT زمانی هست که سروری راه اندازی کردید که میخواید کاربرا از طریق اینترنت بتونن وارد اون سرور تو شبکه داخلی تون بشن. پس در هر دو طرف ما روتر رو داریم و عملیات NAT روی پکت ها انجام میشه تا بتونن به اینترنت و یا شبکه داخلی دسترسی داشته باشن.

وقتی شما Port Forwarding روی روتر انجام میدین یک Public IP به یه Private IP ترجمه میشه اما پورت مبدا اون پکت دست نمیخوره. یعنی شما فرض کنید پورت 80 رو فوروارد کردین و همین پورت 80 رو کلاینت توی اینترنت تو مرورگرش همراه با Public IP سرورتون میزنه و هدایت میشه به وب سرور داخلی شما اما تو Port Translation شما پورت 80 رو برای مثال روی روتر فوروارد کردین و توی NAT Rule تون گفتید که وقتی پکت روی پورت 80 اومد پورت 80 رو ترجمه کن به یه پورت دیگه مثلا 6080 . امیدوارم که تفاوت بین Source NAT و Destination NAT رو بخوبی درک کرده باشید.اگر در درک مفهوم کلی کار کردن سرویس NAT همچنان مشکل دارید ، پیشنهاد می کنم به دوره آموزش نتورک پلاس مهندسی نصیری قسمت NAT مراجعه کنید. اگه سئوالی یا ابهامی داشتید در زیر همین مطلب بپرسید تا بهتون پاسخ بدم.


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات