ترجمه آدرس شبکه (NAT)

Destination NAT

 

ترجمه آدرس شبکه (NAT)با تغییر اطلاعات آدرس شبکه در پکت های هدر IP کار می کند. بیایید نگاهی به مثالی بیاندازیم :در جایی مدیر شبکه می خواهد از اینترنت به یک سرور در دفتر کار خود  دسترسی پیدا کند تنظیمات به چه صورت خواهد بود؟

ما می خواهیم اجازه بدهیم که مدیر از طریق اینترنت به سرور داخل دفتر که IP محلی آن ۱۰٫۰٫۰٫۳ است ارتباط برقرار کند. در این حالت ، ما باید  ترجمه آدرس مقصد (destination NAT) را در روتر سمت دفتر پیکربندی کنیم:

/ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=22 to-addresses=10.0.0.3 protocol=tcp

 

قانون فوق به این صورت  ترجمه می شود:

هنگامی که کانکشن ورودی پورت ۲۲ TCP را با آدرس مقصد ۱۷۲٫۱۶٫۱۶٫۱ درخواست می کند ، از عملکرد dst-nat استفاده کرده و بسته ها را به آدرس IP محلی ۱۰٫۰٫۰٫۳٫۳ و پورت ۲۲ به دستگاه بفرستید.

برای اجازه دسترسی فقط از طریق رایانه در خانه ، می توانیم قانون dst-nat خود را با “src-address = 192.168.88.1” که یک آدرس IP عمومی PC در خانه است ، بهبود دهیم.این روش همچنین روشی ایمن تر در نظر گرفته می شود.برای اینکه یک سرور داخلی بتواند ارتباطات خود را به شبکه های خارجی با آدرس منبع ۱۰٫۰٫۰٫۳ به ۱۷۲٫۱۶٫۱۶٫۱ ترجمه شده آغاز کند ، باید قانون source-nat زیر را پیکربندی کنید:

/ip firewall nat add chain=srcnat src-address=10.0.0.3 action=src-nat to-addresses=172.16.16.1

Source NAT

اگر می خواهید دستگاه های محلی خود را در پشت آدرس IP عمومی خود که از ISP دریافت شده پنهان کنید ، باید ویژگی ترجمه آدرس منبع شبکه (masquerading) روتر MikroTik را پیکربندی کنید.

فرض کنید شما می خواهید کامپیوتر و سرور اداری را پشت IP عمومی ۱۷۲٫۱۶٫۱۶٫۱ پنهان کنید  و به سمت اینترنت بفرستید(یعنی این که یک ماسک برروی آی پی های لوکال خود بذارید و به صورت آی پی معتبر به سمت اینترنت بفرستید)، این قانون به صورت زیر خواهد بود:

/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=src-nat to-addresses=172.16.16.1 out-interface=WAN

اکنون ISP شما تمام درخواست های ارائه شده با IP 172.16.16.1 را مشاهده می کند و آنها آدرس IP شبکه LAN شما را نمی بینند.

Masquerade

Firewall NAT action = masquerade یک براندازی منحصر به فرد از  action=srcnatاست ، این مورد برای مواقع خاص طراحی شده است که IP عمومی می تواند به طور تصادفی تغییر کند ، به عنوان مثال DHCP-server آن را تغییر می دهد ، یا تونل PPPoE پس از قطع شدن IP متفاوت ، به طور خلاصه – وقتی IP عمومی پویاست. هر بار که رابط قطع و یا آدرس IP آن تغییر می کند ، روتر تمام ورودی های ردیابی اتصال مخفی را که بسته ای را برای آن رابط ارسال می کند پاک می کند. این باعث بهبود زمان بازیابی پس از تغییر آدرس IP عمومی می شود.(منظور این است که هر آی پی داشتین با یه ماسک به سمت اینترنت فرستاده می شود.)

متأسفانه ، در تنظیمات با اتصالات / پیوندهای ناپایدار از action = masquerade استفاده می شود که این امر می تواند منجر به برخی از مشکلات شود که با قطع شدن نسخه اصلی ، از پیوندهای مختلف عبور می کند. در چنین سناریویی موارد زیر ممکن است اتفاق بیفتد:

هنگام قطع اتصال ، تمام ورودی های مربوط به ردیابی connection پاک می شوند.

packet بعدی از هر اتصال پاک شده (که قبلاً پوشانده شده بود) به عنوان اتصال وضعیت = جدید وارد فایروال می شود و اگر connection state=new باشد، بسته از طریق مسیر جایگزین (در صورت وجود) از بین می رود و در نتیجه اتصال جدید ایجاد می شود ؛

  • پیوند اصلی باز می گردد ، مسیریابی از طریق پیوند اصلی بازیابی می شود ، بنابراین بسته هایی که به اتصالات موجود تعلق دارند از طریق رابط اصلی ارسال می شوند بدون اینکه از IP محلی به شبکه عمومی پوشانده شود. می توانید با ایجاد یک مسیر سیاه چاله به عنوان جایگزینی برای مسیری که ممکن است با قطع اتصال از بین برود ، در این مورد کار کنید.
/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=masquarade out-interface=WAN

اگرچه Source NAT و mask کردن وظیفه اساسی یکسانی را انجام می دهند اما نگاشت یک فضای آدرس به فضای دیگر ، جزئیات کمی متفاوت است. از همه قابل توجه تر ، masquerading آدرس IP منبع را برای بسته خروجی از IP متصل به رابطی که بسته از طریق آن خارج می شود ، انتخاب می کند.

Hairpin NAT

ترجمه آدرس شبکه Hairpin (NAT Loopback) جایی است که دستگاه موجود در LAN قادر است از طریق آدرس IP عمومی روتر گتوی به دستگاه دیگری در LAN دسترسی پیدا کند.

 

 

 

در مثال زیر روتر گتوی از قانون پیکربندی dst-nat تشکیل شده است:

/ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=443 to-addresses=10.0.0.3 to-ports=443 protocol=tcp

هنگامی که مشتری از طریق رایانه در خانه ارتباطی با سرور وب برقرار می کند ، روتر NAT را به صورت پیکربندی شده زیر انجام می دهد:
  1. مشتری بسته ای را با آدرس IP منبع ۱۹۲٫۱۶۸٫۸۸٫۱ به آدرس IP مقصد ۱۷۲٫۱۶٫۱۶٫۱ در پورت ۴۴۳ برای درخواست برخی از منابع وب می فرستد.
  2. روتر destination nat را به ۱۰٫۰٫۰٫۳ بسته و آدرس IP مقصد را بر اساس آن جایگزین می کند. آدرس IP منبع همان ثابت می ماند: ۱۹۲٫۱۶۸٫۸۸٫۱؛
  3. سرور به درخواست مشتری پاسخ می دهد و بسته پاسخ دارای آدرس IP منبع ۱۰٫۰٫۰٫۳ و آدرس IP مقصد ۱۹۲٫۱۶۸٫۸۸٫۱ است.

۴- روتر تعیین می کند که این بسته بخشی از اتصال قبلی باشد و Destination NAT را خنثی کند و آدرس IP اصلی مقصد را در قسمت آدرس منبع IP قرار دهد. آدرس IP مقصد ۱۹۲٫۱۶۸٫۸۸٫۱ و آدرس IP منبع ۱۷۲٫۱۶٫۱۶٫۱ است.

۵- مشتری بسته پاسخی را که انتظار دارد دریافت می کند و اتصال برقرار می شود.