Failover در میکروتیک (با استفاده از اسکریپت)

۲۰ اردیبهشت ، ۱۴۰۰

Failover اینترنت به این معناست که ما برای اینکه ارتباط همیشه پایداری داشته باشیم نیازمند دو یا چند لینک اینترنت هستیم به این صورت که یک یا چند لینک اینترنت را به صورت Standby نگه داشته تا زمانی که لینک اصلی دچار مشکل شد این لینک ها جایگزین لینک اصلی شوند .در این مقاله به این موضوع در میکروتیک خواهیم پرداخت .

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

در این جا اسکریپت نوشته شده  به این منظور می باشد که میکروتیک به صورت خودکار لینک را عوض کند و هنگامی که لینک اول وصل شد دوباره به لینک اول بازگردد .

ابتدا کانکشن های PPPOE  را می سازیم و باید تیک مربوط به Default route  را برداریم . برای هر کانکشن اسمی مناسب با آن در نظر میگیریم زیرا این نام ها در اسکریپت مورد استفاده قرار خواهند گرفت .

سپس به قسمت IP > Route  رفته و باید 2  خط route  جدید کنیم :

در این قسمت از یک DNS  سرور که UP Time  بالایی دارد مانند 4.2.2.4 یا 8.8.8.8 استفاده می کنیم و با استفاده از کانکشن های pppoe  که ساختیم به میکروتیک  اجازه می دهیم تا تا با Gateway مورد نظر ما (لینک اصلی اینترنت) آن DNS  سرور را ping   کند.

و یک خط route  برای default route  ایجاد میکنیم : توجه کنید در اینجا  مقدار distance  برابر 2 است

حالا به قسمت System > Scripts  میرویم درآنجا یک اسکریپت جدید به وسیله ADD  ایجاد میکنیم .  یک نام برای اسکریپت انتخاب میکنیم . ودر قسمت source  این اسکریپت را وارد میکنیم .

 


:global host1 4.2.2.4;
:global s;

:global gw1ping [ping $host1 count=15];
:global gw [/ip route get [find comment=A] gateway ];

/interface pppoe-client monitor "Shatel" once do={:set s $status}if ($s = "connected" ) do={ if ( $gw1ping >10) do={ if ($gw!="Shatel") do={/ip route set [find dst-address="0.0.0.0/0"] gateway=Shatel}}} else={/ip route set [find dst-address="0.0.0.0/0"] gateway=Parsonline};

توجه شود که در اینجا لینک اصلی ما shatel  است که در صورت بروز مشکل به لینک دوم ما که parsonline  میباشد سوییچ کرده و در صورت رفع مشکل دوباره به shatel باز میگردد.

بعد از ایجاد اسکریپت ، باید این اسکریپت رو به scheduler  بدهیم تا در بازه های زمانی مشخص آن را اجرا کند برای انجام این کار به قسمت  system > schedule رفته ویک schedule  جدید اضافه میکنیم

در قسمت Name  یک نام به دلخواه برای schedule  اختصاص می دهیم. در قسمت  Start date تاریخی که برای شروع آن در نظر گرفته ایم و در قسمت  start time  زمان اجرا شدن اسکریپت را مشخص میکنیم و در قسمت interval  حدفاصل زمان اجرای اسکریپت می باشد مثلا اگر در اینجا 1 دقیقه می باشد یعنی اسکریپت هر 1 دقیقه اجرا خواهد شد و در آخر در قسمت on event  نام اسکریپت ایجاد شده در مرحله قبل را وارد میکنیم .


میانگین آرا:
82.8% (21 نفر)
رای دهید:
مقالات مرتبط
مشاهده بیشتر...