Hairpin NAT چیست؟
برای درک این مطلب ابتدا 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
- در مرحله اول پکت با مبدا ۲.۲.۲.۲ و مقصد ۱.۱.۱.۱ (آیپی روتر)
- در مرحله دوم پکت با مبدا ۲.۲.۲.۲ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
- درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۲.۲.۲.۲
- در مرحله چهارم پکت با مبدا ۱.۱.۱.۱ و مقصد ۲.۲.۲.۲ (در بین مرحله سوم و چهارم Masquerade انجام گرفته است )NAT
مشکل
درصورتی کاربران شما از طریق شبکه داخلی به ۱.۱.۱.۱ متصل شوند مشکل زیر به وجود می آید
- در مرحله اول پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱.۱.۱.۱ (آیپی روتر)
- در مرحله دوم پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
- درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۱۹۲.۱۶۸.۱.۱۰
در اینجا کلاینت انتظار دارد از آیپی ۱.۱.۱.۱ جواب بگیرد ولی جواب دریافتی از ۱۹۲.۱۶۸.۱.۲ میباشد
در این حالت 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
- در مرحله اول پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱.۱.۱.۱ (آیپی روتر)
- در مرحله دوم پکت با مبدا ۱۹۲.۱۶۸.۱.۱۰ و مقصد ۱۹۲.۱۶۸.۱.۲ (آیپی سرور – در بین مرحله اول و دوم PortForward انجام گرفته است)NAT
- درمرحله سوم پکت با مبدا ۱۹۲.۱۶۸.۱.۲ و مقصد ۱۹۲.۱۶۸.۱.۱
- در مرحله چهارم پکت با مبدا ۱.۱.۱.۱ و مقصد ۱۹۲.۱۶۸.۱.۱۰ (در بین مرحله سوم و چهارم Masquerade انجام گرفته است )NAT
سلام.
مهندس این مورد در چه مواقعی پیش میاد ؟
چرا باید کاربر از داخل شبکه به ۱.۱.۱.۱ وصل بشه ؟
سلام
شما زمانی رو در نظر بگیرید برای مثال شما آیپی استاتیک گرفتید برای دیدن DVR تون با موبایل
شما آیپی رو با پورت فورارد وصل میکنید به DVR
شما وقتی با موبایل به وایرلس میکروتیک وصل بیشد و آیپی استاتیکتون رو وارد کنید مشکل بالا به وجود میاد ولی زمانی که خارج از شبکه داخلیتون هستید مشکلی نداره
مرسی . مثل همیشه خیلی خوب و مفید بود 🙂