زمان برای کامپیوترها از اهمیت ویژهای برخوردار است؛ تا جایی که اگر سیستمهای کامپیوتری از زمان و تاریخ دقیق اطلاع نداشته باشند، نمیتوانند وظایف خود را به درستی انجام دهند. به عنوان مثال اگر در دقیقه خطا داشته باشیم نرمافزارهای احراز هویت به درستی عمل نمیکنند. اگر ساعت تنظیم نباشد، شبکهی ویندوز دچار مشکل میشود. اگر در روز اشتباه داشته باشیم، مجوزهای SSL منقضی میشوند. همچنین زمان نادرست باعث میشود که ارتباطات VPN متوقف شوند و لاگهای سیستمهای کامپیوتری گمراه کننده باشند. در کل زمان و ساعت نادرست بسیار خطرناک است. در ادامه تنظیمات مربوط به زمان را در روترهای میکروتیک بررسی خواهیم کرد.
تنظیمات زمان و تاریخ به صورت دستی
در روترهای میکروتیک تنظیم زمان به صورت دستی امکانپذیر است؛ برای این منظور از بخش System وارد پنجرهی Clock میشویم. در پنجرهی Clock می توانیم زمان و تاریخ روتربرد را به صورت دستی تنظیم کنیم. در این بخش علاوه بر زمان و تاریخ میتوانیم Time Zone مربوط به منطقه خود را نیز انتخاب کنیم.
تنظیم زمان به صورت دستی ممکن است با خاموش روشن شدن روتر از بین برود (برخی از روتربردهای میکروتیک، برای نگهداری زمان و تاریخ سیستم هنگام خاموش بودن دستگاه، باتری ندارند)، در نتیجه نیاز به روشی داریم که روتربرد بتواند به صورت خودکار تنظیمات ساعت و تاریخ را انجام دهد. برای تنظیم خودکار زمان میتوان از پروتکل NTP استفاده کرد که مخفف Network Time Protocol است که با استفاده از آن میتوان زمان سیستمهای کامپیوتری را با ساعت جهانی تنظیم کرد. در روترهای میکروتیک پیکیج NTP به صورت پیشفرض وجود ندارد اما میتوان آن را به RouterOS اضافه کرد. این پکیج به صورت Extra packages در سایت میکروتیک موجود است. در میکروتیک به صورت پیشفرض نسخه SNTP که مخفف Simple Network Time Protocol است، روی روترها نصب شده است.
نکته: هنگامی که پکیج NTP را نصب کنیم، SNTP به صورت خودکار پنهان میشود.
تنظیمات SNTP در میکروتیک
از بخش System گزینه SNTP Client را انتخاب میکنیم.
ابتدا تیک Enabled را میزنیم سپس گزینههای Primary و Secondary برای NTP سرور را روی ۰.۰.۰.۰ تنظیم میکنیم و در بخش Server DNS Names آدرس NTP Server خود را وارد میکنیم (به عنوان مثال asia.pool.ntp.org). حدود ۱۰ تا ۶۰ ثانیه طول میکشد تا زمان سیستم بهروز شود. در شکل زیر این تنظیمات را ملاحظه میکنید.
البته میتوانید به صورت مستقیم آدرس IP سرورهای NTP خود را در بخشهای Primary و Secondary وارد کنید.
تنظیم زمان با استفاده از Cloud
یک روش دیگر برای تنظیم ساعت استفاده از Cloud است. برای این منظور از بخش IP گزینه Cloud را انتخاب میکنیم. سرویس dynamic DNS / cloud در میکروتیک به شما این امکان را میدهد که زمان روتر را بهروز کنید. این روش بسیار سادهتر از تنظیمات NTP است. هر چند ممکن است گاهی اوقات این روش کار نکند.
تنظیمات NTP
همان طور که قبلا هم اشاره کردیم برای این که بتوانیم از NTP استفاده کنیم باید پکیج مربوط به آن را به میکروتیک اضافه کنیم. با نصب NTP در روتر میتوان سرویسهای NTP Client یا NTP Server راهاندازی کرد. در این آموزش ما راهاندازی NTP Client را بررسی خواهیم کرد.
با کلیک روی NTP Client پنجرهی زیر برای ما باز خواهد شد.
برای فعالسازی سرویس باید تیک Enabled را بزنیم. میگذاریم نوع Mode روی همان unicast بماند. برای Primary NTP Server و Secondary NTP Server میتوانیم آدرس IP سرورهای NTP را وارد کنیم اما روش دیگری هم وجود دارد و آن اینکه به جای استفاده از IP آدرس از pool.ntp.org استفاده کنیم. برای آشنایی با pool.ntp.org میتوانید به آدرس www.ntppool.org مراجعه کنید. به طور خلاصه میتوان گفت که ایده pool.ntp.org شامل ساختار هرمی از سرورهای NTP است که پشت این نام قرار گرفتهاند. به عنوان مثال زمانی که شما pool.ntp.org را lookup میکنید هر بار IP آدرسهای متفاوتی برای شما برگردانده میشود. با استفاده از این روش حجم درخواستهای NTP توزیع میشود.
در شکل زیر ملاحظه میکنید که برای اولین سرور مقدار asia.pool.ntp.org و برای دومی pool.ntp.org را وارد میکنیم.
در نهایت گزینهی Apply را انتخاب میکنیم. در شکل زیر ملاحظه میکنید که آدرسها به IP تبدیل شدهاند. در نوار وضعیت مشاهده میکنید که وضعیت از stopped به synchronized تغییر یافته است. synchronized به این معنی است که زمان دستگاه با زمان سرور همخوان شده است.
نکته: تبدیل pool.ntp.org به IP آدرس فقط یک بار صورت میگیرد و آدرس IP به صورت ثابت ذخیره میشود. در نتیجه ممکن است بعد از مدتی سرور NTP از کار بیافتد و دریافت زمان متوقف شود. در ادامه روشی را بررسی خواهیم کرد که این مشکل را نداشته باشد.
اسکریپت زمان بندی شده برای NTP Client
با استفاده از اسکریپت میتوانیم به راحتی نام سرورها را به IP آدرس تبدیل کنیم و سپس آنها را در تنظیمات NTP Client وارد میکنیم.
یک اسکریپت با محتوای زیر ایجاد میکنیم:
{
:local IranNtpServer “ir.pool.ntp.org”
:local AsiaNtpServer “asia.pool.ntp.org”
:local primary [resolve $IranNtpServer]
:local secondary [resolve $AsiaNtpServer]
/system ntp client set enabled=yes
/system ntp client set primary-ntp $primary
/system ntp client set secondary-ntp $secondary
}
در اسکریپت بالا ابتدا سرورهای NTP را مشخص میکنیم (میتوانیم از سرورهای ایران ir.pool.ntp.org هم استفاده کنیم) سپس نام سرورها را resolve کرده و در آخر آنها را در تنظیمات NTP Client اعمال میکنیم.
برای ایجاد اسکریپت از بخش System گزینه Scripts را انتخاب میکنیم و مطابق شکل زیر عمل خواهیم کرد.
برای این که از درست بودن عملکرد اسکریپت اطمینان حاصل کنیم، میتوانیم از طریق گزینهی Run Script به تنظیمات NTP Client رفته یا از طریق ترمینال از صحت عملکرد آن مطمئن شویم.
در گام آخر باید یک Scheduler برای اسکریپت خود بنویسیم. برای این کار از بخش System گزینهی Scheduler را انتخاب میکنیم. مطابق شکل زیر تنظیمات را انجام میدهیم. با استفاده از این زمانبندی اسکریپت به صورت دورهای اجرا میشود و هر بار نام سرورها به IP تبدیل شده و در نهایت به تنظیمات NTP Client اضافه میشود.