آموزش ساده و کاربردی کانفیگ لود بالانسینگ در میکروتیک
وقتی فضای شبکه میزبان حجم زیادی از داده های ارسالی و دریافتی است و این داده ها به طور همزمان جریان پیدا می کنند، وضعیت ترافیک شبکه پیچیده شوند و امکان برخورد آنها و تکمیل ظرفیت لینک ها، وضعیت را پیچیده تر می کند. اینجاست که کانفیگ لود بالانسینگ در میکروتیک اهمیت پیدا می کند چون با تقسیم این جریان بین چند لینک، بار شبکه به صورت یکنواخت و عادلانه پخش می شود.
لود بالانسر ها یا متعادل کننده های بار نقش مهمی در شبکه های کامپیوتری دارند و با مدیریت و جا به جایی کارآمد داده ها، هم میزان استفاده از منابع را بهینه می کند و هم از بار اضافی بعضی از لینک ها/سرورها/ISPها جلوگیری می کند.
شاید الان متوجه شدید که چرا اکثر متخصصان شبکه، خرید سرور مجازی میکروتیک را در اولویت خود قرار می دهند!
چون با استفاده از آن می توانید ترافیک شبکه را بین چند لینک تقسیم کنید تا وضعیت شبکه به متعادل ترین حالت ممکن برسد. پس اگر شما هم در این مسیر هستید، بهتر است با مراجعه به صفحه خرید سرور مجازی میکروتیک ما، پلن مناسب کسب و کار خود را سفارش دهید و بقیه کارها را به ما بسپارید.
اصلاً نیازی به نگرانی نیست، ما در این مقاله به طور کامل در مورد نحوه کانفیگ لود بالانسینگ در میکروتیک صحبت می کنیم تا خیال شما از بابت کنترل و مدیریت ترافیک شبکه راحت شود.
لود بالانسینگ در میکروتیک چیست؟
شرکت های بزرگی که در شبکه خود بیشتر از یک سرور دارند یا به بیشتر از یک ISP نیاز پیدا می کنند و به دنبال راهی برای استفاده بهینه از منابع و کنترل ترافیک هستند با کانفیگ load balancing در میکروتیک می توانند در بهترین حالت ممکن به هدف خود برسند.
بیاید با یک مثال جلو برویم:
آمازون یکی از شرکت های بزرگ است که برای مدیریت سریع تر درخواست های رابط کاربری خود از سرور های زیادی استفاده می کند. سوال اینجاست که درخواست های کاربران چگونه به سمت این سرور ها هدایت می شوند و انتخاب سرور بر چه اساسی انجام می شود؟ بله! لود بالانسرها این کار را انجام می دهند.
لود بالانسینگ یا متعادل سازی بار فرآیندی است که ترافیک شبکه را بین چند اتصال/ لینک توزیع می کند و همین توزیع از تحمیل بار اضافی روی یک لینک جلوگیری می کند.
در واقع، با ارسال درخواست های به سمت سرورهای متفاوت، قابلیت اطمینان و دسترسی شبکه بالا می رود چون وقتی یک سرور دچار اختلال می شود یا به هر دلیلی آفلاین می شود، از مجموعه لود بالانس خارج می شوند و سرور دیگری جای آن را پر می کند و به درخواست کاربر جواب می دهد.
روش ها و الگوریتم های زیادی برای کانفیگ لود بالانسینگ در میکروتیک وجود دارد که هر کدام از آنها، این تعادل را از جنبه های مختلف برقرار می کنند و مراحل پیکربندی خاص خود دارند.
ولی در حال کلی، همه این روش ها از یک یا هر دو اصل per-packet و per-connection استفاده می کنند.
فرق بین این دو اصل در ماهیت آنهاست.
per-packet – اگر دو لینک داشته باشیم، لود بالانسینگ با این اصل باعث می شود که پکت اول از لینک اول و پکت دوم هم از لینک دوم ارسال شود.
per-connection – وقتی اتصالی بین مبدا و مقصد ایجاد می شود، یک لینک برای این اتصال انتخاب می شود و همه پکت های مربوط به اتصال از روی این لینک عبور داده می شوند. پس تعادل بار بر اساس اتصالات انجام می شود نه پکت ها.
در این مقاله 2 مورد از پرکاربردترین روش های کانفیگ لود بالانسینگ در میکروتیک را معرفی می کنیم و نحوه پیکربندی آنها در میکروتیک را هم آموزش دهیم تا به خوبی از عهده ایجاد لود بالانسینگ در شبکه خود بربیایید.
روش 1) کانفیگ لود بالانسینگ در میکروتیک با ECMP
ECMP یک روش per-connection است و به عنوان یک نسخه پیشرفته از الگوریتم راند رابین برای load balancing در میکروتیک استفاده می شود. به این صورت که اگر از مبدا به مقصد دو لینک داشته باشیم، این دو لینک را به صورت یک در میان برای اتصالات انتخاب می کنیم به شرطی که این دو لینک، هزینه یکسانی داشته باشند. البته، ظرفیت و پهنای باند لینک ها در نحوه توزیع ترافیک هم نقش دارد.
برای آموزش نحوه پیکربندی ECMP در میکروتیک، فرض می کنیم که شرکت برای دسترسی اینترنتی بهتر از اینترنت دو ISP استفاده می کند:
مرحله 1) آدرس IP لینک WLAN و LAN را تعیین کنید.
آدرس های IP پیش فرض در این آموزش:
آدرس آی پی WLAN 1 مربوط به ISP اول: 172.22.15.221/24
آدرس آی پی WLAN 2 مربوط به ISP دوم: 192.168.168.210/24
آدرس آی پی gateway یا دروازه LAN روتر: 192.168.15.254/24
وارد وین باکس شوید.
رابطه های شبکه روتر را به صورت زیر نام گذاری کنید:
رابط ISP اول: ether1-WAN1
رابط ISP دوم: ether2-WAN2
رابط LAN روتر: ether10-LAN
برای این کار روی Interfaces کلیک کنید و از لیست مربوط به رابط ها، اسم رابط های مربوطه را تغییر داده و به ترتیب روی apply و ok کلیک کنید.
رابط ISP1
رابط ISP2
رابط LAN
نوبت به تعیین آدرس IP آنها می رسد. پس روی IP کلیک کنید و Addresses را انتخاب کنید.
روی + کلیک کنید و 3 آدرس IP را همان با نام رابط مخصوص خود به لیست آدرس ها اضافه کنید.
مرحله 2 ) DNS را پیکربندی کنید.
برای این کار از آدرس IP عمومی 8.8.8.8 و 8.8.4.4 استفاده می کنیم. پس کافیست روی IP و سپس DNS کلیک کنید تا تنظیمات DNS باز شود.
بعد دو آدرس بالا را وارد کنید و به ترتیب روی apply و ok کلیک کنید.
مرحله 3) NAT را پیکربندی کنید.
در این مرحله باید قانون Masquerading را برای هر دو رابط WAN1 و WAN2 تنظیم کنید. پس Firewall را باز کنید.
بعد روی NAT و + کلیک کنید.
قانون Masquerade را برای WAN1 تنظیم کنید.
روی تب Action کلیک کنید و از منوی کشویی action، گزینه Masquerade را انتخاب کنید.
بعد روی apply و ok کلیک کنید. همین کار را یکبار دیگر برای WLAN2 هم انجام دهید.
مرحله 4) قانون Mangle را ایجاد کنید.
این مرحله برای علامت گذاری ترافیک ورودی و خروجی روتر انجام می شود تا همه پکت های مربوط به یک اتصال از طریق علامت ها شناسایی شوند. این قانون برای کنترل ترافیک، فیلتر میزان استفاده از پهنای باند و تجمیع پهنای باند ضروری است.
از پنجره فایروال، روی Mangle و سپس + کلیک کنید.
از منوی کشویی chain، گزینه input و از منوی کشویی in.interface هم گزینه WAN1 را انتخاب کنید.
از تب Action، گزینه mark connection و New Connection Mark را هم با wan1-conn مقداردهی کنید. تیک مربوط به Passthrough را بردارید.
روی apply و ok کلیک کنید.
دوباره روی + کلیک کنید و همین مراحل را برای WAN2 طی کنید.
نوبت به تنظیم Mangle برای ترافیک خروجی می رسد.
روی + کلیک کنید. از منوی کشویی chain گزینه output را انتخاب کنید و فیلد Connection Mark را هم با wan1-conn پر کنید.
از تب Action، گزینه Mark Routing را انتخاب کنید. فیلد New Routing Mark را هم با to-wan1 پر کنید. در آخر تیک مربوط به Passthrough را هم بردارید.
به ترتیب روی apply و ok کلیک کنید.
مجدداً روی + کلیک کنید و همین مرحله را برای WAN2 هم طی کنید.
به ترتیب روی apply و ok کلیک کنید و پنجره فایروال را ببندید.
مرحله 5) نحوه مسیریابی را پیکربندی کنید.
رسیدیم به اصلی ترین مرحله ای که نحوه هدایت اتصالات به سمت مقصد را تعیین می شود.
به طور مثال اگر یکی از لینک ها 2 مگابایتی و لینک دوم هم 10 مگابایتی است، کانفیگ لود بالانس در میکروتیک یا ECMP باعث می شود که نسبت اتصالات 1 به 5 باشد.
یعنی 1 اتصال به سمت ISP1 و 5 اتصال بعدی به سمت ISP2 هدایت شود و این ترتیب به طور مداوم تکرار شود.
برای تنظیم مسیر یابی، از تب IP گزینه Routers را انتخاب کنید.
روی + کلیک کنید و فیلد Gateway را با آدرس آی پی (WAN1 (172.22.15.1 تکمیل کنید.
روی فلش کناری کلیک کنید و در فیلد جدید که باز می شود هم آدرس( WAN2 (192.168.168.254 را وارد کنید.
Check Gateway را روی ping تنظیم کنید و روی Apply و Ok کلیک کنید.
بعد نوبت به تنظیم Routing Mark برای این دو لینک می رسد.
روی + کلیک کنید و آدرس 172.22.15.1 را در فیلد Gateway وارد کنید و برای Routing Mark هم to-wan1 را انتخاب کنید.
روی apply و ok کلیک کنید.
مجددا روی + کلیک کنید و همین پروسه را برای لینک دوم هم انجام دهید.
بعد از این 5 مرحله، پروسه کانفیگ لود بالانسینگ در میکروتیک با روش ECMP به پایان می رسد.
روش 2) لود بالانسینگ در میکروتیک با روش PCC
PCC هم یکی دیگر از روش های محبوب برای لود بالانسینگ در میکروتیک است که به روتر کمک می کند که ترافیک را به جریان های یکسانی از بسته ها تقسیم کند.
مراحلی که در ادامه بررسی می کنیم برای این هستند که اتصالات ورودی از طریق یک ISP از همان اتصال ISP خارج شود و این کار را با پیکربندی روش PCC انجام می دهیم.
روش قبل را با رابط گرافیکی وین باکس، تکمیل کردیم ولی در این روش از ترمینال وین باکس کمک میگیریم تا این پروسه را سریع تر طی کنیم.
کافیست ترمینال وین باکس را باز کنید و دستورات زیر را اجرا کنید:
مرحله 1) آدرس آی پی دو ISP و LAN را مشخص کنید.
/ ip address
add address=172.16.10.1/24 network=172.16.10.0 broadcast=172.16.10.255
interface=LAN
add address=192.168.1.2/30 network=192.168.1.0 broadcast=192.168.1.3
interface=ISP1
add address=192.168.2.2/30 network=192.168.2.0 broadcast=192.168.2.3
interface=ISP2
مرحله 2) برای اتصالات بدون علامت، gateway های پیش فرض را تنظیم کنید.
add dst-address=0.0.0.0/0 check-gateway=ping gateway=192.168.1.1,192.168.2.1
مرحله 3) قوانین NAT را برای ترافیک خروجی ISPها تنظیم کنید.
/ip firewall nat
add action=masquerade chain=srcnat comment=”ISP1″ out-interface=ether1
add action=masquerade chain=srcnat comment=”ISP2″ out-interface=ether2
مرحله 4) اتصالات ورودی را علامت گذاری کنید.
/ip firewall mangle
add action=mark-connection chain=input comment=”ISP1_Inbound” in-interface=ether1 new-connection-mark=”ISP1_Inbound”
add action=mark-connection chain=input comment=”ISP2_Inbound” in-interface=ether2 new-connection-mark=”ISP2_Inbound”
مرحله 5) اتصلات خروجی را علامت گذاری کنید.
add action=mark-routing chain=output comment=”ISP1_Outbound” connection-mark=”ISP1_Inbound” new-routing-mark=”ISP1_Outbound”
add action=mark-routing chain=output comment=”ISP2_Outbound” connection-mark=”ISP1_Inbound” new-routing-mark=”ISP2_Outbound”
مرحله 6) جهت طبقه بندی اتصالات، اتصالات LAN را هم علامت گذاری کنید.
/Ip firewall mangle
add action=mark-routing chain=prerouting comment=”LAN load balancing 2-0″ \
dst-address-type=!local in-interface=ether3 new-routing-mark=\
“ISP1_Outbound” 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=\
“ISP2_Outbound” passthrough=yes per-connection-classifier=\
both-addresses-and-ports:2/1
مرحله 7) مسیرهای پیش فرض را ایجاد کنید.
با این کار، علامت گذاری هایی که در مراحل بالا انجام دادید برای تعادل بار در هر دو ISP استفاده می شوند. این مسیرها تضمین می کنند ترافیک هایی که از یک ISP وارد می شوند، از همان ISP هم خارج می شوند.
/ip route
add distance=1 gateway=192.168.1.1 routing-mark=”ISP1_Outbound”
add distance=1 gateway=192.168.2.1 routing-mark=”ISP2_Outbound”
البته، بعضی از اتصالات که علامت گذاری نشده اند هم از طریق مسیر پیش فرض (ISP1) هدایت می شوند و ISP2 هم مسیر پشتیبان است.
کلام آخر
لود بالانسینگ یکی از بایدهای شبکه های بزرگ است چون هم سرور ها و هم میزان استفاده از خطوط اینترنتی نیاز به تعادل دارند. تعادلی که بار اضافی را از دوش بعضی از لینک ها بردارد و از افت عملکرد شبکه جلوگیری کنند. روش های مختلفی برای لود بالانسینگ در میکروتیک وجود دارد که در این مقاله دو مورد از محبوب ترین آن ها را بررسی کردیم.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.
سوالات متداول:
چه ایده هایی پشت روش های لود بالانسینگ پنهان است؟
تجمیع خطوط اینترنتی، تقسیم کاربران به چند گروه و اختصاص هر کدام به ISPهای مختلف، استفاده چرخشی از تمام خطوط اینترنتی، یکسان بودن ISP ورودی و خروجی مربوط به یک اتصال و ... از پرکاربردترین ایده های متعادل سازی بار هستند.