نحوه راه اندازی Load Balance در روتربردهای میکروتیک


در این سناریو ما می خواهیم 2 خط اینترنت خود را که از 2 ISP مجزا گرفته ایم در اختیار کاربران شبکه قرار دهیم.


ISP 1 = Sabanet
ISP 2 = Shatel

مزیت استفاه از Load Balance

1- استفاده از پهنای باند هر دو خط برای نمونه اگر ما یک سرویس 8 مگابایت و یک سرویس 12 مگابایت واقعی داشته باشیم با استفاده از این روش ما می توانیم 20 مگابایت اینترنت در اختیار کاربران قرار دهیم.

2- قابلیت بعدی امکان FailOver است که این امکان را در اختیار ما قرار می دهد که اگر یکی از سرویس ها قطع شود خود کارروتر بر روی خط بعدی سوئیچ می کند.

راه اندازی Load Balance

ما در این سناریو به دلیل مراحل زیاد و پیچیده از دستورات ترمیتال میکروتیک استفاده کرده ایم ما به شما پیشنهاد می کنیم که این کار را انجام دهید.


نوشتن nat

در این مرحله برای هر یک از سرویس های خود یک Nat با اکشن masquerade می نویسیم.


ip firewall nat/
add action=masquerade chain=srcnat out-interface=Shatel
add action=masquerade chain=srcnat out-interface=SabaNet

نشانه گذاری پکت ها و توزیع پکت های ورودی و خروجی

این بخش مهمترین بخش راه اندازی مبحث Load Balance است در این مرحله تمام پکت ها نشانه گذاری می شود و مشخص می شود از کدام سرویس خارج یا وارد شوند.


Ip – firwall – mangle


add action=mark-connection chain=input in-interface=SabaNet new-connection-mark=SabaNet passthrough=no
add action=mark-connection chain=input in-interface=Shatel new-connection-mark=Shatel passthrough=no
add action=mark-routing chain=output connection-mark=SabaNet new-routing-mark=SabaNet passthrough=no

add action=mark-routing chain=output connection-mark=Shatel new-routing-mark=
Shatel passthrough=no
add action=mark-connection chain=prerouting dst-address-type=!local in-nterface= Ether9 new-connection-mark=SabaNet per-connection-classifier=src-port:2/0
add action=mark-connection chain=prerouting dst-address-type=!local in-nterface= ther9 new-connection-mark= Shatel per-connection-classifier=src-port:2/1


نکته 1 : Ether9 اینترفیس کلاینت های متصل به روتر است.
نکته 2 : per-connection-classifier در قسمت Src- Port عدد اول باید بر اساس فرمول زیر تعریف شود.
بر فرض مثال اگر ما 3 سرویس با سرعت های 512 ، 1024 و 2048 مگابایت داشته باشیم این دسته بندی براساس فرمول زیر انجام می شود.
ابتدا هر یک را بر کمترین سرعت تقسیم میکنیم و مجموع همه این ها میشود عدد اول per-connection-classifier و عدد دوم از صفر شروع می کنیم.

سرویس 1 :


512/512= 1
per-connection-classifier=src-port:7/0


سرویس 2 :


1024/512= 2
per-connection-classifier=src-port:7/1
per-connection-classifier=src-port:7/2


سرویس 3 :


2048/512=4
per-connection-classifier=src-port:7/3
per-connection-classifier=src-port:7/4
per-connection-classifier=src-port:7/5
per-connection-classifier=src-port:7/6


نکته ی مهم : برای هر یک از اینها باید یک prerouting بنویسیم.

add action=mark-routing chain=prerouting connection-mark=SabaNet
in-interface=Erher9 new-routing-mark=SabaNet passthrough=no

=\add action=mark-routing chain=prerouting connection-mark=Shatel in-interface
Ether9 new-routing-mark=Shatel passthrough=no

تعریفIP Route

add check-gateway=ping distance=1 gateway=SabaNet routing-mark=SabaNet
add check-gateway=ping distance=2 gateway=Shatel routing-mark=Shatel


این نکته را نباید فراموش کنید که حتما قابلیت ping بر روی این Route فعال شود با فعال کردن ping روتر در زمانهای مشخص خودش را چک می کند و به محض اینکه ping این ارتباط قطع شود ارتباط به سرویس با Distance بالاتر منتقل می شود برای مثال اگر ارتباط با ISP صبانت قطع شود سریع همه ترافیک از طریق ISP شاتل تامین می شود.

پاسخ دهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای اجباری مشخص شده اند *
شما می توانید از این تگ های HTML و ویژگی ها استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>