بررسی مشکلات NAT Translation در محیط‌های Dual WAN و Failover Router

در شبکه‌های سازمانی که از دو درگاه اینترنت (Dual WAN) یا روترهای Failover برای افزایش پایداری استفاده می‌کنند، یکی از مشکلات متداول، اختلال در عملکرد NAT Translation است. این مشکل می‌تواند باعث بروز خطا در ارتباط کاربران با اینترنت، از کار افتادن VPNها یا حتی قطع ارتباط بین سرورهای داخلی شود.

به زبان ساده، NAT وظیفه دارد IPهای داخلی را به IP عمومی ترجمه کند؛ اما وقتی دو مسیر ارتباطی هم‌زمان فعال باشند، اگر تنظیمات ترجمه یا جدول Sessionها به‌درستی مدیریت نشود، بسته‌ها از مسیر اشتباه عبور کرده و پاسخ‌ها به مقصد نمی‌رسند.
نتیجه آن است که سرویس‌هایی مانند VoIP، Remote Desktop، Mail Server یا ERP داخلی دچار قطع و وصل می‌شوند.

بسیاری از مدیران شبکه در چنین شرایطی تصور می‌کنند که مشکل از اینترنت یا فایروال است،
در حالی که ریشه اصلی اغلب در سازوکار NAT Translation در محیط‌های چندگانه نهفته است.
مدیریت صحیح جدول NAT، تنظیم Connection Tracking و هماهنگی بین Ruleها می‌تواند جلوی بخش عمده‌ای از این خطاها را بگیرد.

در این مقاله، با نگاهی دقیق و فنی بررسی می‌کنیم که چرا NAT در ساختار Dual WAN دچار ناسازگاری می‌شود، چه علائمی دارد، و چگونه می‌توان با چند پیکربندی اصولی، عملکرد شبکه را پایدار نگه داشت.
همچنین راهکارهایی که توسط تیم فنی کامکو در پروژه‌های واقعی پشتیبانی و نگهداری شبکه سازمانی اجرا شده‌اند، به‌ صورت مرحله‌به‌مرحله توضیح داده خواهند شد تا بتوانید در محیط‌های چند ISP، NAT را بدون Downtime مدیریت کنید.

Table of Contents

سازوکار NAT در محیط‌های چندگانه (Dual WAN Setup)

در یک شبکه استاندارد تک‌درگاه (Single WAN)، فرآیند NAT Translation بسیار ساده است:
هر بسته داده با IP داخلی (مثلاً 192.168.10.25) توسط روتر به یک IP عمومی (مثلاً 185.120.10.2) ترجمه شده و هنگام بازگشت پاسخ، همان IP عمومی به کاربر داخلی نگاشت می‌شود.

اما در محیط‌های Dual WAN، اوضاع پیچیده‌تر است.
در این ساختار، شبکه شما دو مسیر فعال برای ارتباط با اینترنت دارد مثلاً یکی از طریق ISP1 (اصلی) و دیگری از ISP2 (پشتیبان).
در چنین حالتی، NAT باید تصمیم بگیرد که هر Session (اتصال) از کدام درگاه ترجمه و ارسال شود و چطور بازگشت آن را مدیریت کند.
اگر این فرآیند به‌درستی طراحی نشود، ترافیک کاربران ممکن است بین دو مسیر جابه‌جا شده و پاسخ‌ها به IP اشتباه بازگردند، که نتیجه آن، قطع Session، از دست رفتن بسته‌ها (Packet Drop) یا عدم تطابق در Translation Table است.

NAT Flow in Dual WAN Environment

ساختار منطقی NAT در Dual WAN

در محیط‌های چندگانه، NAT باید برای هر مسیر جداگانه تنظیم شود:

  • Source NAT (SNAT): ترجمه آدرس‌های داخلی به IP عمومی متناسب با هر لینک اینترنت
  • Destination NAT (DNAT): هدایت درخواست‌های ورودی به سرور داخلی صحیح
  • Policy-Based NAT: ترجمه انتخابی بر اساس نوع ترافیک یا Gateway فعال
  • Connection Tracking Table: جدول مرکزی که مسیر هر اتصال را ثبت می‌کند تا در صورت Failover، پاسخ از همان مسیر بازگردد

نکته فنی: در روترهایی مثل MikroTik یا Fortigate، Connection Tracking معمولاً فقط مسیر فعال (Primary WAN) را حفظ می‌کند.
در نتیجه اگر Failover به مسیر دوم انجام شود، بسته‌های قبلی بدون ترجمه باقی می‌مانند و Session قطع می‌شود.


مثال عملی از NAT در ساختار Dual WAN

نوع ترافیکمسیر فعالIP خروجیتوضیح
کاربران داخلی (192.168.1.0/24)WAN1185.120.10.2مسیر اصلی، استفاده برای ترافیک عمومی
سرور ERP داخلیWAN2185.200.44.10مسیر پشتیبان، برای ارتباط VPN با دفتر مرکزی
ترافیک VoIPWAN1 (Static NAT)185.120.10.3مسیر ثابت برای حفظ Session صدا
سرویس‌های CloudWAN1 / WAN2 با Load BalanceDynamic NATبرای توزیع بار و ترافیک بین دو لینک

اشتباهات رایج در طراحی NAT در محیط‌های Dual WAN

  1. استفاده از یک Rule NAT کلی برای هر دو Gateway (که باعث اختلال در Translation Table می‌شود).
  2. عدم تفکیک Routing Tableها برای هر ISP (در نتیجه ترافیک برگشتی اشتباه مسیر می‌گیرد).
  3. نادیده گرفتن Connection Tracking Timeout، که باعث قطع شدن VPN یا VoIP می‌شود.
  4. نبود Policy Routing هماهنگ با NAT Ruleها.
  5. تنظیم نکردن Persistent Connection یا Session Stickiness در روترهایی مثل MikroTik یا Cisco RV.

مشکلات متداول در NAT Translation هنگام استفاده از Dual WAN

پیکربندی NAT در شبکه‌های چندگانه (Dual WAN) به‌ظاهر ساده است، اما در عمل یکی از منابع اصلی بروز خطاهای پنهان در ارتباطات سازمانی محسوب می‌شود.
در ادامه، پنج مورد از متداول‌ترین مشکلات NAT در محیط‌های دو لینک را بررسی می‌کنیم که اغلب در سناریوهای Load Balancing یا Failover Router مشاهده می‌شوند.

پنج نوع خطای NAT

1. از بین رفتن Session هنگام Failover

یکی از شایع‌ترین مشکلات در شبکه‌های Dual WAN، قطع شدن ارتباط کاربران هنگام سوئیچ بین لینک‌هاست.
در واقع، وقتی مسیر اصلی (WAN1) از دسترس خارج می‌شود، روتر به مسیر پشتیبان (WAN2) منتقل می‌شود،
اما Sessionهای موجود در جدول NAT (Connection Tracking) هنوز با IP مسیر اول ثبت شده‌اند.
به همین دلیل پاسخ بسته‌ها از مسیر دیگر بازمی‌گردد و باعث قطع کامل ارتباط (Session Drop) می‌شود.

راه‌حل:

  • در روترهایی مانند MikroTik، گزینه “Persistent Connection” یا “Session Stickiness” را فعال کنید.
  • در Fortigate و Cisco ASA، از Session Table Synchronization بین دو مسیر استفاده کنید.
  • در سناریوهای Failover، زمان Timeout جدول NAT را کاهش دهید تا اتصال سریع‌تر بازیابی شود.

مثال:
در MikroTik:

/ip firewall connection tracking set tcp-timeout-established=10m
/ip firewall nat set 0 connection-mark=WAN1_nat

این کار باعث می‌شود Sessionها با هر مسیر NAT جداگانه نگهداری شوند.


2. تداخل در Source IP Translation بین دو لینک

وقتی هر دو لینک اینترنت به‌صورت هم‌زمان فعال باشند، ممکن است NAT به‌طور اشتباه ترافیک کاربران را با IP خروجی اشتباه ترجمه کند.
این اتفاق معمولاً زمانی رخ می‌دهد که Ruleهای NAT به‌درستی تفکیک نشده باشند و هر دو Rule روی Interface “All” اعمال شده باشند.

راه‌حل:

  • برای هر مسیر اینترنتی (WAN1 و WAN2)، Rule جداگانه‌ی SNAT تعریف کنید.
  • از Policy Routing یا Routing Mark برای تعیین مسیر دقیق بسته‌ها استفاده کنید.

نمونه پیکربندی در MikroTik:

/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade

3. بروز Double NAT و افت سرعت در ارتباطات VoIP یا VPN

Double NAT زمانی رخ می‌دهد که دو دستگاه متفاوت (مثلاً مودم ISP و روتر سازمان) هر دو عمل NAT را انجام دهند.
در شبکه‌های Dual WAN، اگر هر لینک اینترنت خودش NAT انجام دهد، ارتباطات VoIP و VPN دچار اختلال و تأخیر شدید می‌شوند.

راه‌حل:

  • در مودم‌های ISP حالت Bridge Mode را فعال کنید تا NAT فقط در روتر سازمان انجام شود.
  • در VPN Serverها، IP Public مشخصی برای NAT اختصاص دهید.
  • از ابزار tracert یا pathping برای تشخیص Double NAT استفاده کنید.

نکته امنیتی:
Double NAT نه‌تنها سرعت را کاهش می‌دهد، بلکه می‌تواند باعث بروز مشکلات در Port Forwarding و IPSec Negotiation شود.


۴. اشتباه در Load Balancing بر اساس Connection Tracking

بسیاری از روترها در ساختار Load Balancing از الگوریتم‌های Round Robin یا ECMP استفاده می‌کنند،
اما اگر NAT Table به‌درستی با Routing Table همگام نباشد، ممکن است بسته‌های یک Session از دو مسیر مختلف خارج شوند.
نتیجه آن، قطع شدن Session HTTPS، اختلال در Login کاربران یا قطع تماس VoIP است.

راه‌حل:

  • Load Balancing را بر اساس Connection Mark انجام دهید نه بسته‌ها (Per Connection).
  • از دستور زیر در MikroTik استفاده کنید:
/ip firewall mangle
add chain=prerouting connection-mark=no-mark in-interface=LAN \
action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
  • در Cisco یا Fortigate، از الگوریتم Session-Based Balancing استفاده کنید تا هر اتصال فقط از یک مسیر عبور کند.

5. عدم هماهنگی بین Firewall Policy و جدول NAT Translation

یکی از خطاهای پنهان اما خطرناک، ناسازگاری Ruleهای Firewall با جدول NAT است.
در شبکه‌های دو لینک، اگر Firewall Ruleها فقط مسیر اصلی را اجازه دهند، بسته‌هایی که از مسیر دوم (Failover) برمی‌گردند Drop می‌شوند.
این موضوع معمولاً با خطاهایی مثل “Reply connection tracking failed” یا “Invalid state connection” در لاگ‌ها همراه است.

راه‌حل:

  • Ruleهای Firewall را برای هر مسیر جداگانه ایجاد کنید و Interface مربوط به هر NAT را مشخص کنید.
  • بررسی کنید که حالت “Stateful Inspection” در هر دو مسیر فعال باشد.
  • در Fortigate یا Cisco ASA از Sync Table بین دو مسیر استفاده کنید.

مثال از Log:

Firewall: Dropped packet - invalid state (source IP mismatch)

این خطا نشان می‌دهد که ترافیک برگشتی با مسیر NAT ثبت‌شده در جدول تطابق ندارد.

جدول تشخیص سریع خطاها (NAT Troubleshooting Quick Reference)

شماره خطاعلائم یا رفتار شبکهعلت فنی محتملراه‌حل سریع یا دستور کاربردی
1️⃣ از بین رفتن Session هنگام Failoverکاربران بعد از قطع WAN1 به اینترنت یا VPN وصل نمی‌شوندNAT Table هنوز Sessionهای مسیر اول را نگه داشته استکاهش Timeout جدول Connection Tracking
/ip firewall connection tracking set tcp-timeout-established=10m
2️⃣ تداخل در Source IP Translationترافیک کاربران از مسیر اشتباه خارج می‌شود یا پاسخ‌ها دریافت نمی‌شودNAT Rule برای هر WAN جدا نشده استتعریف دو Rule SNAT مجزا:
/ip firewall nat add chain=srcnat out-interface=WAN1 action=masquerade
/ip firewall nat add chain=srcnat out-interface=WAN2 action=masquerade
3️⃣ Double NAT و افت سرعت VoIP/VPNتماس‌های صوتی قطع می‌شوند یا VPN وصل نمی‌شودمودم ISP نیز در حال NAT است (دو ترجمه متوالی)فعال کردن Bridge Mode در مودم
تخصیص Static IP برای NAT VoIP
4️⃣ خطا در Load Balancing (Connection Tracking)سایت‌ها یا Sessionهای HTTPS باز نمی‌شوند، تماس VoIP قطع می‌شودLoad Balancing بر اساس Packet انجام شده نه Connectionفعال‌سازی Session-Based Load Balancing:
/ip firewall mangle add connection-mark=no-mark action=mark-connection new-connection-mark=WAN1_conn
5️⃣ ناسازگاری بین Firewall Policy و NAT Tableدر لاگ فایروال خطاهای “Invalid state” یا “Reply tracking failed” دیده می‌شودRuleهای فایروال برای مسیر Failover تعریف نشده‌اندتنظیم Rule جداگانه برای هر Interface
بررسی لاگ فایروال برای Dropهای برگشتی
6️⃣ ناپایداری در ترافیک VoIP و RDPارتباط لحظه‌ای برقرار و سریعاً قطع می‌شودConnection Timeout پایین یا Sessionهای ناپایدار بین دو مسیرافزایش مقدار Timeout و فعال‌سازی Persistent NAT
7️⃣ قطع ارتباط VPN Site-to-Site پس از Failoverتونل IPSec در مسیر دوم ایجاد نمی‌شودNAT Exemption برای مسیر دوم تعریف نشدهتعریف NAT Exemption در فایروال برای آدرس‌های VPN:
no nat (inside,outside) source static VPNsubnet VPNsubnet
8️⃣ افت سرعت یا Packet Loss در مسیر دومPing در مسیر Backup با تأخیر زیاد یا Drop همراه استConnection Tracking بین دو مسیر Sync نشده استفعال‌سازی Session Sync بین مسیرها (در Fortigate/Cisco ASA)
9️⃣ عدم دسترسی به سرویس‌های داخلی از اینترنتPort Forwarding در مسیر دوم کار نمی‌کندDNAT Rule فقط برای WAN1 تعریف شده استایجاد DNAT جداگانه برای هر WAN:
dstnat out-interface=WAN2 to-addresses=192.168.x.x
🔟 NAT Loopback در شبکه داخلیکاربران داخلی نمی‌توانند به سرویس IP عمومی وصل شوندLoopback NAT برای IP داخلی تعریف نشدهاضافه کردن Hairpin NAT Rule:
/ip firewall nat add chain=srcnat src-address=192.168.0.0/24 dst-address=192.168.0.0/24 action=masquerade

نکته طلایی:
اگر در شبکه از دو روتر مختلف برای Dual WAN استفاده می‌کنی (مثلاً Load Balancer مجزا و Router اصلی)،
حتماً بررسی کن که NAT Translation فقط در یک لایه انجام شود. انجام NAT در دو دستگاه متوالی (Double NAT)
نه‌تنها باعث افت سرعت می‌شود، بلکه باعث خطا در Session Tracking و NAT Table نیز خواهد شد.

روش‌های عیب‌یابی و پایش NAT در شبکه‌های Dual WAN

در محیط‌های سازمانی که دو مسیر اینترنت (Dual WAN) دارند، عملکرد NAT مستقیماً با پایداری ارتباط کاربران، VPNها و سرویس‌های ابری در ارتباط است.
بنابراین پایش (Monitoring) و عیب‌یابی (Troubleshooting) دقیق NAT Translation یکی از مهم‌ترین وظایف تیم‌های پشتیبانی و نگهداری شبکه محسوب می‌شود.
در این بخش به مهم‌ترین روش‌های بررسی و نظارت بر NAT در روترها و فایروال‌های سازمانی می‌پردازیم.


۱. بررسی جدول NAT Translation در روتر

اولین مرحله در عیب‌یابی، مشاهده جدول ترجمه آدرس‌ها (NAT Table) است. این جدول شامل تمام Sessionهای فعال و IPهای ترجمه‌شده بین LAN و WAN است.
بررسی آن به شما نشان می‌دهد که ترافیک هر کاربر از کدام WAN عبور می‌کند و آیا Translation به‌درستی انجام شده یا خیر.

در Cisco:

show ip nat translations
show ip nat statistics

در MikroTik:

/ip firewall nat print
/ip firewall connection print where dst-address~"185."

در Fortigate:

diag firewall iprope lookup
diag sys session list | grep NAT

نکته:
اگر در جدول NAT ترجمه‌های تکراری یا بدون مقصد مشاهده کردید، معمولاً نشان‌دهنده تداخل Ruleها یا Double NAT است.


۲. مانیتورینگ ترافیک خروجی هر WAN

یکی از روش‌های مؤثر برای تشخیص خطاهای NAT، مانیتورینگ جداگانه‌ی ترافیک هر مسیر اینترنت است.
این کار کمک می‌کند بفهمید آیا کاربران به‌طور تصادفی از مسیر اشتباه خارج می‌شوند یا خیر.

در Cisco:

show interfaces GigabitEthernet0/0
show policy-map interface

در MikroTik (Real-time Monitor):

/tool torch interface=WAN1
/tool graphing interface

در Fortigate:

diagnose netlink interface list
get system performance top

پیشنهاد:
از ابزارهای مانیتورینگ متمرکز مانند PRTG یا Zabbix برای ثبت میزان ترافیک NAT روی هر Gateway استفاده کنید.


۳. استفاده از ابزارهای Packet Capture و NAT Table Monitor

برای تشخیص دقیق اختلال در ترجمه یا مسیر بسته‌ها، Packet Capture بهترین ابزار ممکن است.
این ابزارها به شما نشان می‌دهند بسته‌ها از چه IPیی وارد NAT می‌شوند و پس از ترجمه از چه مسیری خارج می‌شوند.

در Cisco:

monitor capture point ip cef NAT-CAPTURE all both
monitor capture buffer export tftp://<server>/capture.pcap

در MikroTik:

/tool sniffer quick interface=WAN1 ip-address=192.168.1.10

در Fortigate:

diagnose sniffer packet any 'host 192.168.1.10' 4

ابزارهای مانیتورینگ حرفه‌ای NAT Table:

  • SolarWinds Network Performance Monitor
  • ManageEngine Firewall Analyzer
  • Paessler PRTG NAT Tracker

۴. تنظیم Log برای ثبت Translation Failures

بسیاری از روترها و فایروال‌ها به‌طور پیش‌فرض خطاهای NAT را ثبت نمی‌کنند.
برای عیب‌یابی حرفه‌ای باید Translation Failures را در لاگ فعال کنید تا بتوانید الگوی بروز خطا را تحلیل کنید.

در Cisco:

logging buffered 64000 debugging
debug ip nat

در MikroTik:

/system logging add topics=firewall,info action=memory

در Fortigate:

config log setting
set log-translation enable
end

نکته امنیتی:
فعال‌سازی Log برای NAT به شما کمک می‌کند حملات NAT Exhaustion یا تلاش برای استفاده از پورت‌های بسته‌شده را سریع‌تر شناسایی کنید.


۵. دستورات کلیدی برای عیب‌یابی سریع در برندهای مختلف

سیستمدستور / ابزار کاربردیکاربرد اصلی
Cisco IOS / ASAshow ip nat translationsنمایش وضعیت ترجمه‌های فعال
Cisco IOS XEdebug ip nat detailedمانیتور لحظه‌ای NAT
MikroTik RouterOS/ip firewall connection print detailبررسی Sessionها و NAT Table
MikroTik Tools/tool torch interface=WAN1ردیابی IP و مسیر NAT در لحظه
Fortigate`diag sys session listgrep NAT`
Fortigate GUIPolicy & Objects → NAT Rules Monitorنمایش گرافیکی وضعیت NAT
Linux Router (iptables)`conntrack -Lgrep src`

۶. پایش خودکار (Automated NAT Monitoring)

در شبکه‌های متوسط تا بزرگ، پایش دستی NAT ممکن نیست.
بنابراین بهتر است از سیستم‌های خودکار استفاده کنید تا هشدارهایی مانند “NAT Table Overflow” یا “Session Fail” به‌صورت Real-Time ارسال شود.

پیشنهاد ابزارها:

  • Zabbix: ایجاد Template مخصوص NAT Table در MikroTik یا Cisco
  • PRTG: نظارت بر تعداد Translationهای فعال در هر WAN
  • Elastic Stack (ELK): برای تحلیل لاگ‌های NAT و تشخیص الگوهای Failover

راهکارهای فنی برای رفع مشکلات NAT Translation در محیط‌های Failover

در محیط‌هایی که از روترهای Failover یا Load Balancing استفاده می‌شود، هدف اصلی حفظ پایداری ارتباط کاربران هنگام تغییر مسیر WAN است.
اما اگر NAT Translation به‌درستی طراحی نشود، ارتباطات فعال (Sessionها) قطع می‌شوند یا بسته‌ها از مسیر اشتباه ارسال می‌گردند.
در این بخش به ۴ راهکار تخصصی و قابل اجرا برای رفع مشکلات NAT در ساختار Dual WAN می‌پردازیم.


1. تفکیک Sessionها بر اساس Policy Route یا Mark Connection

یکی از بهترین روش‌ها برای مدیریت NAT در شبکه‌های دوگانه، تفکیک اتصال‌ها (Sessionها) بر اساس مسیر عبور است.
به‌جای استفاده از Ruleهای کلی NAT، هر اتصال بر اساس Interface خروجی علامت‌گذاری (Mark) می‌شود.
این کار باعث می‌شود Translation Table برای هر مسیر مستقل باشد و در زمان Failover، Sessionها به‌درستی مدیریت شوند.

نمونه پیکربندی در MikroTik:

/ip firewall mangle
add chain=prerouting connection-mark=no-mark in-interface=LAN \
action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting connection-mark=no-mark in-interface=LAN \
routing-mark=WAN2 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes

نکته:
با این روش، ترافیک هر Session همیشه از همان مسیر عبور می‌کند تا از تداخل IP و قطع VPN یا VoIP جلوگیری شود.


2. ثابت نگه داشتن Source NAT در مسیر اصلی (Persistent NAT)

در حالت عادی، هنگام تغییر مسیر WAN، IP خروجی (Source IP) نیز تغییر می‌کند.
در سرویس‌هایی مانند RDP، VPN یا بانکداری اینترنتی، این تغییر باعث می‌شود Session از دید سرور مقصد نامعتبر شود.

راه‌حل:
فعال کردن Persistent NAT (در Fortigate) یا Session Stickiness (در MikroTik و Cisco) تا IP خروجی همیشه ثابت بماند، حتی اگر مسیر WAN عوض شود.

در Fortigate:

config firewall vip
edit "DualWAN-NAT"
set extip 185.120.10.2
set mappedip 192.168.1.10
set extintf "wan1"
set persistence enable
next
end

در MikroTik:

/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade \
persistent-connection=yes

توصیه:
در صورت استفاده از Load Balancing، IPهای عمومی را به‌صورت Static NAT (One-to-One) تنظیم کنید تا مسیر برگشت ترافیک همیشه ثابت بماند.


3. تنظیم Connection Timeout هماهنگ در هر لینک WAN

یکی از دلایل پنهان قطع ارتباط کاربران، تفاوت زمان Connection Timeout بین دو مسیر WAN است.
اگر زمان نگهداری Session در WAN1 کمتر از WAN2 باشد، روتر هنگام Failover آن Session را زودتر حذف می‌کند و اتصال از بین می‌رود.

راه‌حل:
همسان‌سازی مقادیر Timeout برای تمام پروتکل‌ها در جدول Connection Tracking.

در MikroTik:

/ip firewall connection tracking
set tcp-timeout-established=10m
set udp-timeout=30s
set generic-timeout=10m

در Cisco:

ip nat translation timeout 600
ip nat translation tcp-timeout 600
ip nat translation udp-timeout 30

نکته:
در شبکه‌هایی با کاربران VoIP زیاد، زمان UDP Timeout را کمتر نگه دارید تا NAT Table بیش از حد پر نشود.


4. مستندسازی و هماهنگی بین NAT و Firewall Rules

بسیاری از مشکلات NAT زمانی رخ می‌دهد که تیم فایروال و تیم شبکه به‌صورت مجزا Ruleها را تغییر می‌دهند.
در نتیجه ممکن است یک Rule NAT جدید با Policy موجود در فایروال هم‌پوشانی نداشته باشد و باعث Drop شدن بسته‌ها شود.

راه‌حل:

  • برای هر تغییر NAT، مستندسازی انجام دهید و Interface مربوطه را در Rule مشخص کنید.
  • در فایروال، برای هر مسیر (WAN1 و WAN2) Policy جداگانه بنویسید.
  • در صورت امکان از ابزارهای Configuration Management مانند Ansible یا RANCID برای کنترل نسخه (Version Control) استفاده کنید.

Pro Tip:
همیشه بعد از تغییر در NAT یا فایروال، با اجرای دستور زیر صحت Translation را بررسی کنید:

show ip nat translations | include <internal IP>

نمونه سناریوی واقعی Dual WAN (MikroTik + Two ISPs)

هدف:
سازمان می‌خواهد ترافیک عمومی کاربران از WAN1 و سرویس‌های خاص (VPN، ERP) از WAN2 عبور کند؛ با حفظ NAT مستقل برای هر مسیر.

🔧 پیکربندی:

# Mark routing per destination
/ip firewall mangle
add chain=prerouting dst-address=10.10.10.0/24 action=mark-routing new-routing-mark=WAN2 passthrough=yes
add chain=prerouting dst-address=!10.10.10.0/24 action=mark-routing new-routing-mark=WAN1 passthrough=yes

# NAT for each WAN
/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade

# Routing rules
/ip route
add gateway=192.168.100.1 routing-mark=WAN1
add gateway=192.168.200.1 routing-mark=WAN2

نتیجه:
هر Session از مسیر مشخصی عبور می‌کند، IP خروجی پایدار است و در صورت قطع یکی از لینک‌ها، Failover بدون از دست رفتن Translation انجام می‌شود.

جمع‌بندی

مدیریت صحیح NAT Translation در محیط‌های Dual WAN و Failover Router از حیاتی‌ترین وظایف مدیران شبکه است.
در چنین ساختارهایی، کوچک‌ترین اشتباه در تعریف Ruleها یا تنظیم Session Tracking می‌تواند باعث از بین رفتن ارتباط کاربران، افت کیفیت سرویس‌های VoIP یا حتی از دست رفتن دسترسی‌های VPN شود.
استفاده از روش‌هایی مانند Mark Connection، Persistent NAT و هماهنگی بین NAT و Firewall Policy باعث می‌شود Failoverها بدون قطعی و از دست رفتن Session انجام شوند.

در نهایت، توجه به تنظیمات دقیق Timeout، مانیتورینگ Translation Table و مستندسازی مداوم پیکربندی‌ها، تضمین‌کننده پایداری شبکه در سازمان‌های چند‌مسیره است.
اگر سازمان شما از دو یا چند لینک اینترنت استفاده می‌کند و در فرآیندهای Failover یا NAT Translation با مشکلات مقطعی یا قطعی کامل روبه‌روست، بهتر است با یک شرکت پشتیبانی شبکه متخصص همکاری کنید تا ساختار NAT، Routing و امنیت شبکه شما بهینه و پایدار شود.

چنین همکاری نه‌تنها مانع از تداخل در سیاست‌های NAT می‌شود، بلکه باعث افزایش کارایی، امنیت و کاهش هزینه‌های نگهداری در بلندمدت خواهد شد.

۱. چرا پس از فعال شدن Failover، برخی کاربران دسترسی اینترنت خود را از دست می‌دهند؟

زیرا Sessionهای NAT در مسیر WAN1 ثبت شده‌اند و هنگام سوئیچ به WAN2 دیگر معتبر نیستند. برای جلوگیری از این مشکل باید از Mark Connection و Persistent NAT استفاده کنید تا ارتباطات پس از Failover حفظ شوند.

۲. Double NAT چیست و چرا در سناریوهای Dual WAN مشکل‌ساز می‌شود؟

Double NAT زمانی رخ می‌دهد که دو دستگاه مختلف (مثلاً مودم ISP و روتر سازمان) هم‌زمان عملیات NAT انجام دهند. این حالت باعث اختلال در پروتکل‌هایی مانند VoIP، VPN و Remote Desktop می‌شود. در چنین مواردی باید NAT را فقط روی روتر اصلی فعال کنید و مودم‌ها را در حالت Bridge قرار دهید.

2 نظر

  • ما هم توی یکی از سایت‌هامون از روتر Dual WAN استفاده می‌کنیم و هر چند وقت یک‌بار بعد از سوییچ به لینک پشتیبان، چند تا
    سرویس‌مون از بیرون قابل دسترس نیست. اینکه NAT درست رفرش نمی‌شه می‌تونه علتش باشه؟

    • در سناریوهای Failover معمولاً جدول NAT روی روتر به‌درستی بازسازی نمی‌شود و باعث از کار افتادن سرویس‌های Published می‌شود. با تنظیم مجدد رول‌های NAT و Force Refresh بعد از تغییر Gateway می‌توانید مشکل را برطرف کنید.

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.