پورت فورواردینگ میکروتیک (Port Forwarding) یکی از پایه‌ای‌ترین مهارت‌هایی است که هر مدیر شبکه، نصاب سیستم‌های حفاظتی یا صاحب کسب‌وکار کوچک باید بداند. وقتی می‌خواهید یک سرویس داخل شبکه داخلی مثل وب‌سرور، NVR، نرم‌افزار حسابداری تحت شبکه یا Remote Desktop را از اینترنت در دسترس قرار دهید، باید ترافیک ورودیِ متعلق به یک پورت مشخص را به آدرس و پورت مناسب در داخل شبکه هدایت کنید — این کار در میکروتیک با عمل dst-nat انجام می‌شود که مقصد بسته‌ها را به آدرس داخلی ترجمه می‌کند. برای درک عملی و ایمن این عملیات، در این مقاله مفاهیم پایه، روش‌های انجام با Winbox و ترمینال، نکات تست و عیب‌یابی و مجموعه‌ای از توصیه‌های امنیتی را با مثال‌های واقعی و قابل اجرا ارائه می‌دهم.

فهرست مطالب

  1. پورت فورواردینگ چیست؟

  2. چگونه dst-nat در RouterOS عمل می‌کند؟

  3. گام‌به‌گام پورت فورواردینگ با Winbox

  4. معادل خط فرمان (Terminal / SSH) با مثال عملی

  5. تست، hairpin NAT و مشکلات رایج (Dual-WAN و مسیر برگشتی)

  6. FastTrack و تأثیر آن روی NAT و rules

  7. امنیت: چه کارهایی حتماً باید انجام شود

  8. چک‌لیست نهایی و محل قرارگیری تصاویر

1. پورت فورواردینگ چیست؟

پورت فورواردینگ به معنی هدایت ترافیکی است که از اینترنت به سمت IP عمومی و پورت مشخصی می‌آید، به یک آدرس و پورت داخل شبکه‌ی شما (LAN) ارسال شود. در شبکه‌هایی که از NAT استفاده می‌کنند، دستگاه‌های داخلی آدرس خصوصی دارند و بدون پورت فورواردینگ دسترسی مستقیم از بیرون به آن‌ها وجود نخواهد داشت؛ بنابراین هنگامی که می‌خواهید یک سرویس محلی را در اینترنت منتشر کنید — مثل مشاهده دوربین‌ها، دسترسی به اپلیکیشن سازمانی یا ارائه وب‌سرویس — باید قانون dst-nat بسازید تا مقصد بسته تغییر کند و بسته به سرور داخلی برسد. این همان کاری است که در میکروتیک با NAT انجام می‌شود.

2. چگونه dst-nat در RouterOS عمل می‌کند؟

در RouterOS، نوعی NAT به نام dst-nat وجود دارد که «آدرس مقصد» بسته را در مسیر ورودی تعویض می‌کند تا بسته به یک شبکه نَتی (private) هدایت شود. به عبارت ساده، وقتی بسته‌ای به IP عمومی شما و پرت مشخص می‌رسد، روتر با استفاده از قاعده dst-nat مقصد را به IP داخلی شما تغییر می‌دهد و سپس آن بسته ادامه مسیر می‌دهد. مستندات رسمی میکروتیک و دانش‌نامه آن روی این رفتار تمرکز دارند و توضیح می‌دهند که dst-nat معمولاً اولین مرحله ترجمه مقصد را انجام می‌دهد و پس از آن قوانین فایروال و سایر مکانیزم‌ها بسته را پردازش می‌کنند. توجه داشته باشید که پس از dst-nat، بسته‌ها ممکن است تحت تأثیر فیلترهای فایروال قرار بگیرند؛ بنابراین علاوه بر NAT باید بررسی کنید که قانون فیلتر (Filter Rule) اجازه‌ی عبور بسته را می‌دهد یا خیر.

3. گام‌به‌گام پورت فورواردینگ با Winbox (عملی)

پیش از شروع: مطمئن شوید میکروتیک شما IP عمومی یا یک پورت قابل استفاده روی WAN دارد، و IP داخلی سرور مقصد (مثلاً 192.168.1.10) و پورت سرویس (مثلاً 80) را می‌دانید.

  • وارد Winbox شوید.

  • به IP → Firewall بروید و تب NAT را باز کنید. (راهنمای رسمی Port Forwarding میکروتیک همین مسیر را نشان می‌دهد).

  • روی + کلیک کنید تا قاعده جدید اضافه شود. در تب General مقدار Chain را روی dstnat بگذارید، در Protocol گزینه‌ی مناسب (tcp یا udp) را انتخاب کنید و Dst. Port را برابر پورت خارجی (مثلاً 8080) قرار دهید. اگر می‌خواهید قانون فقط برای یک IP عمومی یا یک اینترفیس خاص اعمال شود، در فیلدهای Dst. Address یا In. Interface مقدار مناسب را وارد کنید تا قانون محدودتر شود.

  • به تب Action بروید، dst-nat را انتخاب کنید و در To Addresses آدرس داخلی سرور و در To Ports پورت داخلی سرویس را وارد کنید — سپس OK کنید.

  • در صورت نیاز، یک قانون Filter در IP → Firewall → Filter Rules بسازید تا جریان مربوطه در chain=forward تائید شود (Accept). بسیاری از مشکلات به این دلیل رخ می‌دهد که NAT ساخته شده اما فیلتر اجازه عبور ندهد.

4. معادل خط فرمان (Terminal / SSH) — مثال عملی

برای مدیرانی که اسکریپت می‌نویسند یا با ترمینال راحت‌ترند، معادل عملی بالا به‌صورت زیر است:

/ip firewall nat add chain=dstnat in-interface=ether1-WAN protocol=tcp dst-port=8080 action=dst-nat to-addresses=192.168.1.10 to-ports=80 comment="port-forward web"

نکات:

  • in-interface مشخص می‌کند قانون فقط برای ترافیک ورودی از اینترفیس مشخص اجرا شود.

  • comment برای مدیریت بعدی بسیار مفید است.

  • پس از اضافه کردن این قانون، یک rule در filter chain=forward لازم است تا بسته‌ها اجازه عبور پیدا کنند.

برای تغییر ترتیب قوانین و اولویت‌بندی، از پنل یا move در CLI استفاده کنید؛ قانون hairpin نیز باید قبل از برخی NATها قرار گیرد تا درست عمل کند. مستندات پورت فورواردینگ و راهنماهای رسمی و انجمن‌ها مثال‌های دقیقی از این دست نشان می‌دهند.

5. تست، hairpin NAT و مشکلات رایج (Dual-WAN، مسیر برگشتی)

تست عملی

همیشه پس از تنظیم، از بیرون شبکه تست کنید: با موبایل روی دیتای همراه یا از یک سرور خارج از شبکه، اتصال به IP_Public:Port را بررسی کنید. ابزارهای آنلاین Port Checker یا telnet IP Port قابل استفاده‌اند.

hairpin NAT (NAT loopback)

اگر می‌خواهید از داخل شبکه‌تان با استفاده از IP عمومی به همان سرور داخلی دسترسی پیدا کنید، معمولاً به hairpin NAT نیاز دارید. چرا؟ چون مسیر داخلی ترافیک با مسیر خارجی فرق می‌کند و بدون hairpin، درخواست داخلی به IP عمومی ممکن است روی روتر بماند یا به WebFig/صفحه مدیریت خود روتر برسد. برای حل این مشکل یک src-nat / dst-nat مخصوص یا مَنگل/مارکینگ اتصال می‌سازند تا ترافیک LAN→Public→LAN به‌درستی ترجمه و ارسال شود. پیاده‌سازی hairpin معمولاً نیازمند قرار دادن rule مناسب در بالای لیست NAT است.

Dual-WAN و مسیر برگشتی (Reply Path)

در سناریوهایی که چند خط اینترنت دارید، مشکلی شایع این است که درخواست از WAN2 وارد می‌شود اما پاسخ از مسیر پیش‌فرض WAN1 خارج می‌شود؛ این باعث شکست جلسه می‌شود. راه‌حل معمول، مارک‌گذاری اتصال با mangle در prerouting بر اساس اینترفیس ورودی و سپس ایجاد route‌ مخصوص با استفاده از روت‌مارک است تا پاسخ از همان WAN برگردد. انجمن میکروتیک و تجربیات کاربران روش‌های متداول را شرح داده‌اند.

6. FastTrack و تأثیر آن روی NAT و rules

FastTrack برای افزایش عملکرد در RouterOS طراحی شده؛ وقتی یک اتصال FastTrack می‌شود، آن بسته‌ها بخش‌هایی از مسیر پردازش پکت را دور می‌زنند و در نتیجه ممکن است بعضی مَنگل‌ها، شمارش‌ها یا پردازش‌هایی که بعد از Connection Tracking قرار دارند را دور بزنند. بنابراین اگر از FastTrack استفاده می‌کنید و می‌بینید مَنگل یا ruleهای شما کار نمی‌کنند، باید ترافیک‌هایی که نیاز به پردازش دارند را از FastTrack مستثنی کنید یا ترتیب قواعد را طوری تنظیم کنید که تداخل پیش نیاید. در عمل باید احتیاط کنید تا FastTrack به قانونی که برای dst-nat یا mark-connection نیاز دارید آسیب نزند.

7. امنیت: چه کارهایی حتماً باید انجام شود

  1. از VPN برای سرویس‌های مدیریتی و حساس استفاده کنید (به‌جای باز کردن مستقیم RDP، SSH یا Winbox).

  2. پورت‌های پیش‌فرض را تغییر دهید تا اسکنرهای خودکار نتوانند به راحتی سرویس را هدف بگیرند.

  3. محدودسازی آدرس مبدا (src-address یا address-list) — فقط IPهای معتبر را مجاز کنید.

  4. لاگ‌گیری و مانیتورینگ منظم — لاگ‌های Drop/Reject را دوره‌ای بررسی کنید.

  5. به‌روزرسانی فریم‌ورم RouterOS و چک کردن اعلامیه‌های امنیتی میکروتیک.

  6. در صورت امکان از TLS/HTTPS و احراز هویت قوی برای سرویس‌ها استفاده کنید.

8. چک‌لیست نهایی و محل قرارگیری تصاویر

چک‌لیست اجرا:

  • IP عمومی یا پورت از ISP تأیید شده؟

  • IP داخلی و پورت مقصد مشخص شده؟

  • dst-nat ساخته شده و in-interface تعریف شده؟

  • قوانین فیلتر در chain=forward برای اجازه عبور وجود دارد؟

  • hairpin در صورت نیاز فعال و در بالای NAT قرار دارد؟

  • در صورت Dual-WAN، مارک‌گذاری اتصال و route‌ گذاشته شده؟

  • تست از بیرون شبکه انجام شده و لاگ‌ها بررسی شده‌اند؟