مقدمه
اگر سازمان شما از چندین لینک اینترنت (مثلاً فیبر و ADSL) استفاده میکند، مدیریت صحیح این لینکها اهمیت حیاتی دارد. بدون Load Balancing، یک لینک سریع ممکن است اشباع شود در حالی که لینک دیگر بلااستفاده بماند. ECMP به شما امکان میدهد بار شبکه را بر اساس نسبت پهنای باند تقسیم کنید و با فعالسازی Failover، پایداری شبکه تضمین شود.
چرا Load Balancing نامتقارن؟
- لینکها معمولاً سرعت یکسان ندارند
- تقسیم مساوی باعث فشار روی لینک ضعیفتر میشود
- با اعمال نسبت (مثلاً ۲:۱) استفاده بهینه از ظرفیتها صورت میگیرد
مقایسه ECMP با PCC و سایر روشها
روش | مزایا | معایب | مناسب برای |
---|---|---|---|
ECMP | ساده، سریع، Failover خودکار | Session-based، کنترل کمتر | لینکهای ۲–۳ عددی، سناریوهای SME |
PCC | انعطافپذیر، تقسیم دقیق بار | پیچیدگی بالا | سازمانهای بزرگ با کاربر زیاد |
Policy Routing | کنترل کامل مسیرها | نیازمند تنظیمات پیچیده | ISPها و Enterprise |
آشنایی با ECMP
- Equal-Cost Multi-Path Routing → تقسیم بار بین مسیرها
- هر اتصال جدید روی یک لینک باقی میماند
- برای لینکهای نامتقارن، Gateway لینک قویتر چندبار در جدول Route تکرار میشود
توپولوژی آزمایشگاهی (Lab Scenario)
- WAN1 (20Mbps): 192.168.30.2/30 → Gateway: 192.168.30.1
- WAN2 (10Mbps): 172.30.30.2/30 → Gateway: 172.30.30.1
- LAN: 10.10.10.1/24
- کلاینتها: PC1 و PC2
- نسبت بار: ۲ اتصال از WAN1 و ۱ اتصال از WAN2
مراحل پیکربندی
تغییر نام اینترفیسها
ابتدا نام اینترفیسها را تغییر دهید
/interface set [find default-name=ether1] name=WAN1
/interface set [find default-name=ether2] name=WAN2
/interface set [find default-name=ether3] name=LAN
اختصاص IP
تنظیم آدرسهای IP برای اینترفیسها
/ip address
add address=192.168.30.2/30 interface=WAN1
add address=172.30.30.2/30 interface=WAN2
add address=10.10.10.1/24 interface=LAN
تنظیم DNS
تنظیم سرورهای DNS
/ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
پیکربندی NAT
تنظیم قوانین NAT برای هر اینترفیس
/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade
تعریف مسیرهای ECMP نامتقارن
تنظیم مسیرهای ECMP با نسبت 2:1
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.30.1,192.168.30.1,172.30.30.1 check-gateway=ping
خروجی نمونه:
[admin@MikroTik] > /ip route print
Flags: D - dynamic; A - active; C - connect; S - static; r - rip; o - ospf; b - bgp
# DST-ADDRESS GATEWAY DISTANCE
0 AS 0.0.0.0/0 192.168.30.1 1
1 AS 0.0.0.0/0 192.168.30.1 1
2 AS 0.0.0.0/0 172.30.30.1 1
مدیریت دسترسی به خود روتر (Policy Based Routing)
تنظیم Policy Based Routing برای دسترسی به روتر
/ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_CONN passthrough=no
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_CONN passthrough=no
add chain=output connection-mark=WAN1_CONN action=mark-routing new-routing-mark=to_WAN1 passthrough=no
add chain=output connection-mark=WAN2_CONN action=mark-routing new-routing-mark=to_WAN2 passthrough=no
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.30.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=172.30.30.1 routing-mark=to_WAN2 check-gateway=ping
تست و خطایابی با مثال واقعی
تست Failover
کابل WAN1 را قطع کنید → تمام ترافیک از WAN2 عبور میکند
تست Load Balancing
همزمان چند دانلود/آپلود اجرا کنید
/tool torch interface=WAN1
/tool torch interface=WAN2
بررسی مسیرها
بررسی جدول مسیریابی و traceroute
/ip route print
/tool traceroute 8.8.8.8
خروجی نمونه traceroute:
1 10.10.10.1
2 192.168.30.1 (ISP1)
3 8.8.8.8
مانیتورینگ و هشداردهی
- The Dude: ابزار رسمی MikroTik برای مانیتورینگ
- Zabbix یا PRTG: جهت پایش Latency و Availability
- اسکریپت ساده برای هشدار ایمیلی در قطع لینک
نکات امنیتی و بهینهسازی
- همیشه check-gateway=ping فعال باشد
- پورتهای رایج VPN را مسدود کنید تا کاربران محدودیتها را دور نزنند
- از Fasttrack روی ترافیک VPN یا Sensitive استفاده نکنید
- جدول Routing را ساده نگه دارید
Best Practices برای سازمانها
- در شبکههای بزرگ از PCC بهجای ECMP استفاده کنید
- برای مدیریت کاربران از Radius/Hotspot همراه با Load Balancing بهره ببرید
- QoS را برای اپلیکیشنهای حساس (VoIP، ERP) تعریف کنید
- مانیتورینگ لینکها را به تیم NOC بسپارید
جدول خلاصه (Cheat Sheet)
بخش | دستور نمونه |
---|---|
تغییر نام اینترفیس | /interface set ... name=WAN1 |
تنظیم IP | /ip address add ... |
NAT | /ip firewall nat add chain=srcnat out-interface=WAN1 action=masquerade |
ECMP | /ip route add dst-address=0.0.0.0/0 gateway=GW1,GW1,GW2 |
Mangle | /ip firewall mangle add chain=input in-interface=WAN1 action=mark-connection |
تست | /tool torch interface=WAN1 |
نتیجهگیری
روش ECMP در میکروتیک یک راهکار ساده و کاربردی برای Load Balancing نامتقارن با Failover خودکار است. با تکرار Gateway بر اساس ظرفیت لینکها میتوان توزیع بار هوشمند ایجاد کرد. برای دسترسی پایدار به خود روتر، استفاده از Policy Based Routing الزامی است. در سازمانهای بزرگ، ترکیب این روش با PCC و مانیتورینگ پیشرفته بهترین نتیجه را خواهد داشت.
پرسشهای متداول
س: آیا میتوان بیش از دو لینک در ECMP استفاده کرد؟
بله، با افزودن Gatewayهای بیشتر در جدول Route.
س: چه زمانی PCC بهتر از ECMP است؟
وقتی تعداد کاربران زیاد است و نیاز به توزیع دقیقتر بار دارید.
س: Failover چطور عمل میکند؟
با check-gateway=ping، در صورت قطع لینک، مسیر حذف و ترافیک روی لینک سالم منتقل میشود.
س: آیا این روش روی VoIP و VPN پایدار است؟
بله، چون Session-based است و اتصال قطع نمیشود.