یکی از سوالاتی که بسیاری از متخصصین شبکه های میکروتیک در مورد Redundancy در شبکه ها و پایین آوردن میزان زمان قطعی شبکه دارند، راه اندازی ISP Failover و یا به عبارتی دیگر جابجایی بین دو یا چند اینترنت در صورت قطعی لینک ها می باشد. ما نیز در مقاله زیر قصد داریم تا به روش های مختلف پیاده سازی Internet Failover در میکروتیک بپردازیم.
ISP Failover چیست؟
ISP Failover یا Internet Failover یا تعویض اینترنت در زمان قطعی، عملیات اتوماتیک تعویض مسیر اینترنت به یک اینترنت بکآپ در زمان قطعی لینک اصلی می گویند. یعنی زمانیکه اینترنت اصلی شبکه ما قطع شده باشد و قادر به جابجایی ترافیک شبکه نباشد برای کاهش زمان قطعی، به صورت اتوماتیک ترافیک را از مسیر دومی که از پیش تعیین کردیم عبور می دهیم.
بیشتر بخوانید: آشنایی و پیکربندی IP SLA در سیسکو
جابجایی بین دو اینترنت در میکروتیک
ساده ترین راه برای راه اندازی 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
در تصویر بالا مشاهده میکنید که Default Roue با Distance بالاتر در جدول روتینگ وجود دارد اما فعال نیست. (رنگ آبی و عدم وجود A در قسمت Status)
بیشتر بخوانید: کامل ترین دوره آموزشی Cisco CCNP Enterprise ENCOR
بررسی قطع و یا وصل بودن لینک ها
به صورت معمول، مانیتورینگ قطع بودن یک لینک به صورت دوره ای بررسی می شود و روتر هر 10 ثانیه یک بسته ICMP به مقصد Gateway ارسال میکند و هر زمانی که بسته ای را بعنوان پاسخ از Gateway دریافت نکند، آن Default Gateway را بعنوان یک لینک قطع شده شناسایی کرده و دیفالت روت دوم را بعنوان دیفالت روت فعال در جدول روتینگ قرار می دهد.به دوره های آموزش میکروتیک مجموعه توسینسو یا بصورت ویژه به دوره آموزش MTCNA میکروتیک در این لینک مراجعه کند.
مشکلات استفاده از Distance بعنوان روش Failover
در بعضی از مواقع ممکن است که آی پی دیفالت گیتوی ISP که بعنوان شبکه داخلی سرویس دهنده اینترنت محسوب می شود وصل باشد اما اینترنت آن سرویس دهنده قطع باشد. در این موارد استفاده از Distance بعنوان یکی از راه های 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 ثانیه بازنگشت، روتر دستوری را که در مرحله بعد وارد میکنیم را اجرایی میکند.
سپس در قسمت Down همین منو، دستوری را که میخواهیم در صورت قطع شدن این ارتباط اجرا کنیم را یاد داشت میکنیم. برای مثال ما میخواهیم که اگر ارتباط ما با اینترنت از طریق لینک اصلی قطع شد، روتر ما به صورت خودکار Default Route اصلی را غیرفعال نمایند تا Default Route دوم که Distance بیشتری داشت بعنوان Default Route فعال انتخاب شود.
و همچنین می توانیم در قسمت Up همین منو دستوری را که میخواهیم در صورت وصل شدن این ارتباط اجرا کنیم را یاد داشت میکنیم. برای مثال ما میخواهیم که اگر ارتباط ما با اینترنت از طریق لینک اصلی مجددا برقرار شد، روتر ما به صورت خودکار Default Route اصلی را فعال کند تا Default Route دوم که Distance بیشتری داشت از حالت Default Route فعال خارج شود.
در تصویر بالا به روتر اعلام کردیم که درصورتی که لینک اصلی قطع و یا وصل شد، دستوری که گفته ایم را اجرا کن. دستور فوق هم این را میگوید که 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 اصلی را فعال میکند و به صورت اتوماتیک مسیر دوم از مدار خارج می شود.
کاربرد های دیگر Netwatch برای راه اندازی Dual-Link Internet
- استفاده از VPN در شبکه داخلی و جابجایی ترافیک بین VPN و لینک اصلی با استفاده از Netwatch
- جابجایی سریع ترافیک با کمترین میزان قطعی در میکروتیک با استفاده از Netwatch
- استفاده از Netwatch برای تغییر Flow دیتا
- استفاده از Netwatch برای اعمال هرگونه دستور دیگر. برای مثال فعال کردن یک NAT و یا غیرفعال کردن یک Mangle.
بیشتر بخوانید:
سلام
Netwatch در واقع مثل یک Event Trigger عمل میکنه. به این صورت که یک هاستی رو با استفاده از ICMP مانیتور میکنه و در صورت قطع و یا وصل شدن ارتباط ICMP دستوری رو که از قبل براش مشخص میکنیم اجرا میکنه. یکی از پر استفاده ترین کاربرد های Netwatch همین مقوله ی Failover اینترنت هست.
اما میشه کارهای دیگه ای هم با Netwatch انجام داد. برای مثال فرض کنید که شما یک سروری در مجموعه تون دارید که بعضی اوقات ممکنه که ترافیکش بیش از حد بشه و مجبورید که مثلا ترافیک رو تقسیم کنید بین دو تا Service Provider و یا اینکه مثلا همون سرور در شبکه تون وجود داره اما به دلیل گرون بودن ترافیک یکی از سرویس دهنده هاتون مجبورید که تا زمانیکه سرویس دهنده ارزون تر پهنای باند مورد نظر سرورتون رو تامین میکنه از سرویس دهنده اول استفاده کنید اما به محض اینکه پهنای باند سرورتون از لیمیت سرویس دهنده اول خارج شد، ترافیکتون رو از مسیر سرویس دهنده دوم عبور بدین. برای این کار هم فرض کنید که از قبل دو NAT ساختید که یکیش مربوط به SRC-DST NAT از طریق سرویس دهنده اول هست و یکیش هم مربوط به ISP2. حالا میتونید با استفاده از Netwatch مانیتورینگ رو انجام بدین. (میدونیم که وقتی پهنای باندمون پر میشه، پکت لاس و Latency یکی از عواقبش هست) پس به محض اینکه پکت لاس روی لینک اول دیده میشه روترتون به صورت خودکار NAT مربوط به ISP1 رو غیرفعال و NAT مربوط به ISP2 رو فعال میکنه.
یه دستوری مثل این دستور:
توی این سناریو هم تغییر Flow دیتا (یعنی روند مسیر دیتا) رو داریم و هم استفاده از NAT در Netwatch رو
.
.
میشه در مورد این دو مورد آخر یه توضیح به همراه مثال بگین.
ممنون میشم