نیما آقامحمدی
کارشناس ارشد شبکه و زیرساخت

آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

چگونه چند خط اینترنت را با میکروتیک یکی کنیم؟ چگونه در میکروتیک Load Balancing راه اندازی کنیم؟ روش متعادل کردن بار (تقسیم بار) با هدف گسترش ترافیک در لینک های متعدد (برای مثال : چند خط اینترنت) برای بالا بردن کارایی شبکه را Load Balancing می گویند . متعادل سازی را می تواند براساس Packet یا Connection انجام داد. در صورتی که ما میکروتیک خود را درست و منطقی پیکربندی کنیم می توانیم از چندین مزیت که در این روش می باشد استفاده کنیم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
  • افزایش پهنای باند در دسترس برای کاربران
  • توزیع بار و بالا بردن کارایی در شبکه
  • امکان Fail Over در صورت قطع شدن یک ISP

مراحل پیکربندی

  • کانفیگ اولیه Router
  • Input Output Marking
  • Route Marking
  • نوشتن Default Routes اختصاصی
  • نتیجه گیری

کانفیگ اولیه Router

سناریوی ما به این صورت است که ما یک Mikrotik داریم که به دو ISP مجزا و به ترتیب از طریق ether1 و ether2 به آن متصل می باشیم و قراره که این دو لینک اینترنت را از طریق ether3 بین کاربران در شبکه LAN توزیع کنیم. توپولوژی مورد نظر را می توانید در عکس زیر مشاهده کنید:

آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

ما در این سناریو از دستورات ترمیتال میکروتیک برای راحتی کار استفاده می کنیم. ابتدا برای هر کدام از ether ها مانند توپولوژی IP ست می کنیم:

/ip address
add address=192.168.34.134/24 interface=ether1 comment="ISP1"
add address=192.168.150.244/24 interface=ether2 comment="ISP2"
add address=192.168.24.254/24 interface=ether3 comment="LAN Gateway"

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

ست کردن default gateways:

/ip route
add dst-address=0.0.0.0/0 check-gateway=ping gateway=192.168.34.1,192.168.150.4

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

نوشتن (NAT (masquerade برای پورتهای WAN:

/ip firewall nat
add action=masquerade chain=srcnat comment="ISP1" out-interface=ether1
add action=masquerade chain=srcnat comment="ISP2" out-interface=ether2

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

Input Output Marking

یک مشکلاتی که با داشتن بیش از یک WAN داریم این است که بسته های موجود در یک ارتباط WAN ممکن است از طرف دیگر خارج شوند. این مسئله میتواند مشکلاتی را ایجاد کند و شبکه های مبتنی بر VPN را از بین ببرد و حتی در سایتهایی که IP ما چک میشود به مشکل برمی خوریم. ما می خواهیم بسته هایی که متعلق به یک اتصال WAN هستند به داخل و خارج همان پورت WAN بروند. در صورتی که یکی از ISP ها روی یک پورت down شود، می تواند آن را از بین ببرد و سپس دوباره در WAN دیگر برقرار شود.

/ip firewall mangle
add action=mark-connection chain=input comment="ISP1" in-interface=ether1 new-connection-mark="ISP1"
add action=mark-connection chain=input comment="ISP2" in-interface=ether2 new-connection-mark="ISP2"

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

این به روتر کمک می کند تا با مارک کردن Connection ها بتواند بفهمد که هر Connection مربوط به کدام اتصال می باشد.اکنون ما از routing mark استفاده می کنیم فقط برای connection mark بسته هایی که از داخل می رسند. این routing mark می خواهند استفاده شوند بعدا برای مسیریابی ارتباطی که پورت ISP به بیرون دارد.

/ip firewall mangle
add action=mark-routing chain=output comment="ISP1" connection-mark="ISP1 Input" new-routing-mark="ISP1"
add action=mark-routing chain=output comment="ISP2" connection-mark="ISP2 Input" new-routing-mark="ISP2"

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

connection mark ها که مشخص شدند، routing mark را دریافت می کنند تا روتر بتواند مسیری را که می خواهد آماده کند. در مرحله بعد، ما از روتر می خواهیم بسته ها را از طریق connection هایی که از طریق اینترفیس WAN خارج می شود بفرستد.

نکته:

  • chain input : برای پردازش بسته هایی که از طریق یکی از اینترفیس ها به روتر وارد می شود، مورد استفاده قرار می گیرد.
  • mark connection : برای قرار دادن علامت مشخص در کل ارتباطات موجود در یک رول مورد استفاده قرار می گیرد.
  • chain output : برای پردازش بسته هایی که توسط روتر ایجاد شده است، مورد استفاده قرار می گیرد.
  • mark routing : برای قرار دادن یک علامت مشخص بر روی یک بسته فقط برای اهداف مسیریابی، مورد استفاده قرار می گیرد.

LAN Route Marking

این rules به روتر می گوید، برای تعادل ترافیک در (ether3 (LAN، به آدرسی غیر محلی (! local) از طریق اینترنت برود. در این قسمت ترافیک هایی که از سمت شبکه ارسال می شوند را به جریان های برابر تقسیم کرده و با استفاده از mark connection به آدرس مقصد یعنی Wan مورد نظر در مرحله routing می فرستیم.

دستورات زیر، ترافیک ether3 را در دو گروه بالانس می کند:

add action=mark-routing chain=prerouting comment="LAN load balancing 2-0"     dst-address-type=!local in-interface=ether3 new-routing-mark=    "Out ISP1" passthrough=yes per-connection-classifier=    both-addresses-and-ports:2/0
add action=mark-routing chain=prerouting comment="LAN load balancing 2-1"     dst-address-type=!local in-interface=ether3 new-routing-mark=    "Out ISP2" passthrough=yes per-connection-classifier=    both-addresses-and-ports:2/1

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

نوشتن Default Routes اختصاصی

در این مرحله Default Route های خود را اضافه می کنیم ، و از routing mark هایی که در مرحله قبل ایجاد کردیم استفاده می کنیم.

/ip route
add distance=1 gateway=192.168.34.1 routing-mark="Out ISP1"
add distance=1 gateway=192.168.150.4 routing-mark="Out ISP2"

 آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

توجه: این route های که در این مرحله نوشتیم فقط در صورتی که با یک routing mark تطبیق داده شد، اعمال می شود. بسته های نامعلوم از Default Routeی که در مرحله “کانفیگ اولیه Router” نوشتیم استفاده می کنند.

نتیجه گیری

در اینجا نتیجه پیکربندی که انجام دادیم می توانید ببینید:

  • ما دو ارتباط را با هم تجمیع کردیم و پهنای باند بیشتری در اختیار داریم و همچنین همان طور که در عکس زیر مشاهده می کنید سرعت دانلود بالاتری را خواهیم داشت.
  • امکان Fail Over را در شبکه خود داریم یعنی در صورتی که یکی از ارتباطات ما دچار مشکل شود، کل ترافیک به خط دیگر منتقل می شود.
  • در ارتباطاتی که با شبکه WAN خواهیم داشت دچار مشکل نمی شویم.

آموزش یکی کردن چند خط اینترنت در میکروتیک با Load Balancing

امیدوارم از این آموزش لذت برده باشید. در صورت هر گونه مشکل می توانید از طریق راه های ارتباطی با من در تماس باشید ، شاد باشید.


نیما آقامحمدی
نیما آقامحمدی

کارشناس ارشد شبکه و زیرساخت

علاقه مند به یادگیری و آموزش و حرکت در مسیر بهتر شدن:) سعی میکنم هرچیزی رو که بلد نیستم و یادبگیرم و هرچی بلدم رو یاد بدم. عاشق تکنولوژی و چیزای جدید...

نظرات