در شبکههای متوسط‑به‑بالا، توزیع ترافیک بین چند مسیر اینترنتی و فیلتر کردن بستهها برای امنیت ضروری است. MikroTik RouterOS ابزارهای قدرتمندی برای لود بالانسینگ و فیلترهای پیشرفته دارد؛ این مقاله گامبهگام نحوه ترکیب PCC، Nth، Mangle و فیلترها را نشان میدهد.
۱. لود بالانسینگ با PCC (Per Connection Classifier)
پروتکلهای TCP/UDP هرکدام یک ترکیب از آیپی مبدا/مقصد و پورتها دارند. با pcc میتوان هر ترکیب را به یک مسیر خاص ارجاع داد تا ترافیک بهصورت یکنواخت بین ISP‑های مختلف تقسیم شود.
pcc src-dst-port استفاده کنید؛ این کار باعث میشود تمام درخواستهای یک کاربر به یک مسیر برود و نشستها ثابت بمانند.۲. توزیع لود با Nth (Nth routing)
در صورتی که میخواهید هر N‑مین بسته را به مسیر دوم بفرستید، از nth استفاده کنید. این روش برای ترافیکهای UDP یا DNS که نیازی به حفظ نشست ندارند، مناسب است.
۳. علامتگذاری بستهها با Mangle
قبل از فیلتر، بستهها را با mangle علامتگذاری کنید تا بتوانید در فیلترهای بعدی بهراحتی آنها را شناسایی کنید.
/ip firewall mangle
add chain=prerouting protocol=tcp src-address=10.0.0.0/24 action=mark-connection new-connection-mark=isp1_conn passthrough=yes
add chain=prerouting protocol=tcp src-address=10.0.0.0/24 action=mark-connection new-connection-mark=isp2_conn passthrough=yes nth=2
۴. فیلترهای Firewall برای امنیت
پس از علامتگذاری، میتوانید فیلترهای دقیقتری بنویسید؛ بهعنوان مثال، بستههای غیرمجاز یا حملات DDoS را قبل از خروج از router مسدود کنید.
connection-state=invalid برای حذف بستههای خراب استفاده کنید؛ این کار بار روی ISP‑ها را کاهش میدهد.۵. مثال کامل پیکربندی
# تعریف مسیرهای ISP
/ip route
add gateway=1.1.1.1 distance=1 routing-table=isp1
add gateway=2.2.2.2 distance=1 routing-table=isp2
# استفاده از PCC برای توزیع
/ip firewall mangle
add chain=prerouting src-address=0.0.0.0/0 action=mark-routing new-routing-mark=to-isp1 passthrough=yes per-connection-classifier=both-addresses:2/0
add chain=prerouting src-address=0.0.0.0/0 action=mark-routing new-routing-mark=to-isp2 passthrough=yes per-connection-classifier=both-addresses:2/1
# فیلترهای امنیتی
/ip firewall filter
add chain=forward connection-state=invalid action=drop comment="Drop invalid packets"
add chain=forward protocol=tcp dst-port=80,443 connection-state=new action=accept in-interface=ether1 out-interface=ether2 comment="Allow web traffic"
۶. چکلیست پیش از اجرا
- آدرسهای IP ISPها و مسیرهای پیشفرض را بررسی کنید.
- تست PCC با
pingوtracerouteبرای اطمینان از توزیع یکنواخت. - قواعد فیلتر را ابتدا در حالت
logاجرا کنید تا بستههای مسدود شده را ببینید. - بعد از اطمینان، حالت
dropرا فعال کنید.
۷. سوالات متداول
layer7-protocol=p2p یا protocol=tcp dst-port=6881-6999 استفاده کنید؛ حتماً قبل از فعالسازی، لاگ کنید تا از عدم قطع ترافیک ضروری اطمینان حاصل کنید.جمعبندی
با ترکیب PCC، Nth، Mangle و فیلترهای دقیق میتوانید ترافیک را بهصورت هوشمند بین ISP‑های مختلف تقسیم کنید و در عین حال امنیت شبکه را ارتقا دهید.