مسعود رمضانی
کارشناس ارشد شبکه های کامپیوتری و مشاور زیرساخت و امنیت

راه اندازی ISP Failover در میکروتیک! جابجایی بین دو اینترنت

یکی از سوالاتی که بسیاری از متخصصین شبکه های میکروتیک در مورد Redundancy در شبکه ها و پایین آوردن میزان زمان قطعی شبکه دارند، راه اندازی ISP Failover و یا به عبارتی دیگر جابجایی بین دو یا چند اینترنت در صورت قطعی لینک ها می باشد. ما نیز در مقاله زیر قصد داریم تا به روش های مختلف پیاده سازی Internet Failover در میکروتیک بپردازیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

راه اندازی ISP Failoever در میکروتیک

ISP Failover چیست؟

ISP Failover یا Internet Failover یا تعویض اینترنت در زمان قطعی، عملیات اتوماتیک تعویض مسیر اینترنت به یک اینترنت بکآپ در زمان قطعی لینک اصلی می گویند. یعنی زمانیکه اینترنت اصلی شبکه ما قطع شده باشد و قادر به جابجایی ترافیک شبکه نباشد برای کاهش زمان قطعی، به صورت اتوماتیک ترافیک را از مسیر دومی که از پیش تعیین کردیم عبور می دهیم.

بیشتر بخوانید: آشنایی و پیکربندی IP SLA در سیسکو

ISP Failover Scheme

جابجایی بین دو اینترنت در میکروتیک

ساده ترین راه برای راه اندازی Failover در روترهای میکروتیک پیکربندی 2 عدد Default Route با دو مقدار متفاوت Distance می باشد که در این سناریو اینترنت اصلی می بایست Distance پایین تر و اینترنت بکاپ Distance بالاتری را داشته باشد.

/ip route add gateway=1.1.1.1 check-gateway=ping distance=1
/ip route add gateway=2.2.2.2 check-gateway=ping distance=2

Mikrotik 2 different default gateway

در تصویر بالا مشاهده میکنید که Default Roue با Distance بالاتر در جدول روتینگ وجود دارد اما فعال نیست. (رنگ آبی و عدم وجود A در قسمت Status)

بیشتر بخوانید: کامل ترین دوره آموزشی Cisco CCNP Enterprise ENCOR

بررسی قطع و یا وصل بودن لینک ها

به صورت معمول، مانیتورینگ قطع بودن یک لینک به صورت دوره ای بررسی می شود و روتر هر 10 ثانیه یک بسته ICMP به مقصد Gateway ارسال میکند و هر زمانی که بسته ای را بعنوان پاسخ از Gateway دریافت نکند، آن Default Gateway را بعنوان یک لینک قطع شده شناسایی کرده و دیفالت روت دوم را بعنوان دیفالت روت فعال در جدول روتینگ قرار می دهد.

Default Gateway Failover in Mikrotik

مشکلات استفاده از Distance بعنوان روش Failover

در بعضی از مواقع ممکن است که آی پی دیفالت گیتوی ISP که بعنوان شبکه داخلی سرویس دهنده اینترنت محسوب می شود وصل باشد اما اینترنت آن سرویس دهنده قطع باشد. در این موارد استفاده از Distance بعنوان یکی از راه های Failover کارساز نیست و باید راهکاری جایگزین و کامل تر را استفاده کنیم.

The Internet cannot be accessible via ISP1 but the gateway of ISP1 responses ICMP packets correctly

در این مواقع روتر میکروتیک شبکه ما پینگ آی پی گیتوی شبکه سرویس دهنده اینترنت را بدون قطعی دریافت میکند اما در واقع شبکه سرویس دهنده به اینترنت متصل نیست.

راه اندازی ISP Failover در میکروتیک! جابجایی بین دو اینترنت

راهکار جایگزین برای راه اندازی لینک بک آپ اینترنت در میکروتیک

یکی از ابزار های میکروتیک که یکی از کاربرد هایش ایجاد Redundancy در بین لینک های اینترنت در میکروتیک می باشد، ابزار Netwatch است.

عملیاتی که Netwatch انجام می دهد به این گونه می باشد که بجای ارسال بسته های ICMP به آی پی گیتوی، بسته های خود را به یک مقصد دورتر برای مثال یک آی پی در اینترنت (8.8.8.8) ارسال میکند و زمانیکه هرگونه قطعی در این ارتباط ICMP مشاهده کند، دستوری که از قبل برای این ابزار تعریف کرده ایم را اجرا میکند. یکی دیگر از مزیت های این روش این است که Netwatch علاوه بر مانیتور قطعی، مانیتور وصلی لینک را هم انجام میدهد و در صورت بازگشت ارتباط ICMP به مقصد تعیین شده، دستوری را که از پیش برایش تعریف کرده ایم را نیز اجرا میکند.

راه اندازی Netwatch در میکروتیک

برای راه اندازی Netwatch در میکروتیک از منوی Tools گزینه Netwatch را انتخاب میکنیم و در قسمت Host آی پی ای را که قصد مانیتور کردن آن را داریم وارد میکنیم و در کادر Interval بازه زمانی که قصد ارسال بسته های ICMP را داریم وارد میکنیم. برای مثال 00:00:10 برای 10 ثانیه فاصله بین ارسال بسته های ICMP. در بخش Timeout نیز میتوانیم سقف مدت زمانیکه پاسخ بسته ICMP میتواند تاخیر داشته باشد را اعلام میکنیم. برای مثال 1000ms. یعنی اگر پاسخ بسته ICMP ارسالی ما تا 1000 ثانیه بازنگشت، روتر دستوری را که در مرحله بعد وارد میکنیم را اجرایی میکند. 

enable netwatch host on mikrotik

سپس در قسمت Down همین منو، دستوری را که میخواهیم در صورت قطع شدن این ارتباط اجرا کنیم را یاد داشت میکنیم. برای مثال ما میخواهیم که اگر ارتباط ما با اینترنت از طریق لینک اصلی قطع شد، روتر ما به صورت خودکار Default Route اصلی را غیرفعال نمایند تا Default Route دوم که Distance بیشتری داشت بعنوان Default Route فعال انتخاب شود. 

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

راه اندازی ISP Failover در میکروتیک! جابجایی بین دو اینترنت

Mikrotik Netwatch

در تصویر بالا به روتر اعلام کردیم که درصورتی که لینک اصلی قطع و یا وصل شد، دستوری که گفته ایم را اجرا کن. دستور فوق هم این را میگوید که ip route ای را که کامنت ISP1 را دارد فعال/غیرفعال کن. پس نتیجه میگیریم که در زمان راه اندازی Default Route ها می بایست کامنت نیز به آن ها اضافه کنیم.

مراحل فوق را می توان با دستورات زیر انجام داد.

/ip route
add dst-address=0.0.0.0/0 gateway=1.1.1.1 check-gatway=ping distance=1 comment="ISP1 with Netwatch"
add dst-address=0.0.0.0/0 gateway=2.2.2.2 check-gatway=ping distance=2 comment="ISP2 with Netwatch"
add dst-address=8.8.8.8/32 gateway=1.1.1.1 check-gatway=ping distance=1 comment="Netwatch ISP1"
add dst-address=8.8.4.4/32 gateway=2.2.2.2 check-gatway=ping distance=1 comment="Netwatch ISP2"
..
/tool netwatch
add down-scripc="/ip route disable [find comment=ISP1 with Netwatch]" host=8.8.8.8 interval=10s up-script="/ip route enable [find comment=ISP1 with Netwatch]
add down-scripc="/ip route disable [find comment=ISP2 with Netwatch]" host=8.8.4.4 interval=10s up-script="/ip route enable [find comment=ISP2 with Netwatch]

در سناریو فوق هردو Default Route در حالت عادی می بایست فعال باشند. ضمنا به جهت جلوگیری از لوپ شدن فرایند Failover،برای همه آی پی آدرس هایی که به جهت مانیتورینگ در نظر گرفته شده اند، یک روت Static جدا در نظر میگیریم.

در صورتی که اتفاقی برای لینک اصلی بیافتد، روتر به صورت خودکار Default Route اصلی را غیر فعال میکند و مسیر دوم به صورت خودکار بعنوان مسیر فعال قرار میگیرد. و هر زمانیکه ارتباط روتر از طریق لینک اصلی برقرار شود نیز روتر Default Route اصلی را فعال میکند و به صورت اتوماتیک مسیر دوم از مدار خارج می شود.

راه اندازی ISP Failover در میکروتیک! جابجایی بین دو اینترنت

کاربرد های دیگر Netwatch برای راه اندازی Dual-Link Internet

  1. استفاده از VPN در شبکه داخلی و جابجایی ترافیک بین VPN و لینک اصلی با استفاده از Netwatch
  2. جابجایی سریع ترافیک با کمترین میزان قطعی در میکروتیک با استفاده از Netwatch
  3. استفاده از Netwatch برای تغییر Flow دیتا
  4. استفاده از Netwatch برای اعمال هرگونه دستور دیگر. برای مثال فعال کردن یک NAT و یا غیرفعال کردن یک Mangle.

بیشتر بخوانید: 


مسعود رمضانی
مسعود رمضانی

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

رهگذر دنیای دیجیتال، علاقمند به تحصیل و به اشتراک گذاری دانش. کارشناس ارشد فناوری اطلاعات - امنیت شبکه

نظرات