Hairpin NAT چیست؟

Hairpin NAT چیست؟

hairpin_nat_1

برای درک این مطلب ابتدا Masquerade یا همان src-Nat را بیاد آورید Masquerade عمل NATی میباشد که برای ترجمه آیپی های شبکه داخلی ۱۹۲.۱۶۸.۱.۰/۲۴ به آیپی های شبکه خارجی ۱.۱.۱.۱ که برای ایجاد دسترسی اینترنت برای کاربران داخلی بکار میرود.

دوم PortForward یا همان Dst-Nat که برای ایجاد دسترسی از شبکه ای خارجی ۲.۲.۲.۲ به یک آیپی داخلی ۱۹۲.۱۶۸.۱.۲

/ip firewall nat
add chain=dstnat dst-address=1.1.1.1 protocol=tcp dst-port=80 action=dst-nat to-address=192.168.1.2
add chain=srcnat out-interface=WAN action=masquerade

hairpin_nat_2_new

  1. در مرحله اول پکت با مبدا ۲.۲.۲.۲ و مقصد ۱.۱.۱.۱ (آیپی روتر)
  2. در مرحله دوم پکت با مبدا ۲.۲.۲.۲ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
  3. درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۲.۲.۲.۲
  4. در مرحله چهارم پکت با مبدا ۱.۱.۱.۱ و مقصد ۲.۲.۲.۲ (در بین مرحله سوم و چهارم Masquerade انجام گرفته است )NAT

 

مشکل

درصورتی کاربران شما از طریق شبکه داخلی به ۱.۱.۱.۱ متصل شوند مشکل زیر به وجود می آید

hairpin_nat_3

  1. در مرحله اول پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱.۱.۱.۱ (آیپی روتر)
  2. در مرحله دوم پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
  3. درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۱۹۲.۱۶۸.۱.۱۰

در اینجا کلاینت انتظار دارد از آیپی ۱.۱.۱.۱ جواب بگیرد ولی جواب دریافتی از ۱۹۲.۱۶۸.۱.۲ میباشد

در این حالت Masquerade انجام نشده و پکت اولیه که مقصدش ۱.۱.۱.۱ بوده با مبدا ۱۹۲.۱۶۸.۱.۲ جواب داده میشود. در این صورت این پکت نامعتبر (invalid) بوده و از دور خارج میشود.

راه حل اضافه کردن یک NAT برای زمانی که کلاینت و سرور در یک ساب نت (شبکه) باشند

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

/ip firewall nat
add chain=srcnat src-address=192.168.1.0/24 \
  dst-address=192.168.1.2 protocol=tcp dst-port=80 \
  out-interface=LAN action=masquerade

hairpin_nat_4

  1. در مرحله اول پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱.۱.۱.۱ (آیپی روتر)
  2. در مرحله دوم پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
  3. درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۱۹۲.۱۶۸.۱.۱
  4. در مرحله چهارم پکت با مبدا ۱.۱.۱.۱ و مقصد ۱۹۲.۱۶۸.۱.۱۰ (در بین مرحله سوم و چهارم Masquerade انجام گرفته است )NAT

دیدگاه ها:

  1. یاسر گفت:

    سلام.
    مهندس این مورد در چه مواقعی پیش میاد ؟
    چرا باید کاربر از داخل شبکه به ۱.۱.۱.۱ وصل بشه ؟

    1. سلام
      شما زمانی رو در نظر بگیرید برای مثال شما آیپی استاتیک گرفتید برای دیدن DVR تون با موبایل
      شما آیپی رو با پورت فورارد وصل میکنید به DVR
      شما وقتی با موبایل به وایرلس میکروتیک وصل بیشد و آیپی استاتیکتون رو وارد کنید مشکل بالا به وجود میاد ولی زمانی که خارج از شبکه داخلیتون هستید مشکلی نداره

  2. یاسر مطیعی گفت:

    مرسی . مثل همیشه خیلی خوب و مفید بود 🙂

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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