نصب و راه اندازی سرویس NTP در لینوکس

پروتکل (Network Time Protocol (NTP برای تنظیم و همگام سازی دقیق ساعت سیستم ها و دستگاه ها با ساعت های اتمی مورد استفاده قرار می گیرد.سرورهای NTP از یک ساختار سلسه مراتبی پیروی می کند که اصطلاحا به آنها Stratum گفته می شود.

Stratum 1 – مستقیما به ساعت های اتمی متصل هستند و خود را با آنها همگام می کنند.

Stratum 2 – به سرورهای Stratum 1 متصل هستند.

هر چه سطح Stratum ها پایین تر می آید ،از سرورهای با دقت کمتری برای همگام سازی استفاده می کنند.

تصویر یک Stratum 0

The U.S. Naval Observatory Alternate Master Clock at Schriever AFB (Colorado) is a Stratum 0 source for NTP

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

در این آموزش ما از سرورهای Stratum سطح یک به آدرس ۰٫us.pool.ntp.org و wwv.nist.gov بهره می گیریم.

مرحله اول – نصب :

برای نصب در لینوکس های ردهتی از قبیل فدورا و سنت او اس با استفاده از YUM بدین طریق عمل کنید :

yum -y install ntp

مرحله دوم – تنظیمات :

با استفاده از ادیتورهای لینوکسی از قبیل nano یا vi مطابق دستور زیر به فایل تنظیم سرویس به آدرس etc/ntp.conf/ بروید.

nano /etc/ntp.conf

تنظیمات زیر را انجام دهید :

۱- ابتدا سرورهای Startum مد نظر خود را مشخص کنید:

server ۰٫us.pool.ntp.org
server wwv.nist.gov

2-نوع دسترسی سرویس های فوق را مشخص کنید :

  • restrict 0.us.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery restrict
  • wwv.nist.gov mask 255.255.255.255 nomodify notrap noquery

در تنظیمات بالا ما به سرورها اجازه ویرایش تنظیمات یا سوال و پرس و جو از سرور NTP را نخواهیم داد.

ParametersDefinitions
ignoreDeny all packets and queries
kodSend Kiss-Of-Death packet on access violation
nomodifyDeny ntpq / ntpdc queries that attempt to modify the server
notrapDeny control message trap service
noqueryDeny all ntpq / ntpdc queries
noserveDeny all queries – except ntpq / ntpdc
notrustDeny access unless cryptographically authenticated (ver 4.2 onwards)
nopeerDeny all packets that attempt to establish a peer association

3-همانند همه سرویس های دیگر ،به خود سرور دسترسی کامل را می دهیم :

restrict 127.0.0.1

4-رنج آدرس IP هایی که می خواهیم اجازه پرس و جوی زمان از سرور را داشته باشند به طریق زیر اضافه می کنیم :

  • restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

۵- تنظیم سرویس تا در زمان استارت آپ روشن و مشغول به کار شود :

chkconfig ntpd on

6- روش کردن سرویس NTP

service ntpd restart

مرحله سوم – بررسی عملکرد سرویس :

بهتر این است که همان شروع کار درستی عملکرد سرویس را مورد بررسی قرار دهیم :

 ntpq -p ۰٫us.pool.ntp.org

با استفاده از دستور pgrep ntpd می توانید اطمینان حاصل کنید که سرویس NTP مشغول به کار می باشد و در جواب باید شناسه پروسس سرویس را برگرداند.

مرجله چهارم – ایجاد دسترسی در فایروال :

سرویس NTP از پورت ۱۲۳ UDP برای ارتباط با سرورها و کلاینت ها استفاده می کند.برای این منظور ۲ رول برای دسترسی سرور ما برای همگام سازی با سرورهای مد نظرمان نیاز است و ۲ رول برای دسترسی کلاینت ها به سرور محلی ما

رول برای دسترسی به Stratum سرورها :

  • iptables -A OUTPUT -p udp –dport 123 -j ACCEPT iptables -A INPUT -p udp –sport 123 -j ACCEPT

رول برای دسترسی کلاینت ها به سرور :

  • iptables -A INPUT -p udp –dport 123 -j ACCEPT iptables -A OUTPUT -p udp –sport 123 -j ACCEPT

و در آخر برای ذخیره سازی دستور ها :

/etc/init.d/iptables save

توجه داشته باشید که شما می توانید این رول ها را بر اساس نیازهای خود ویرایش کنید،برای مثال آدرس سرورها برای همگام سازی یا آدرس کلاینت ها را به رول ها اضافه کنید.

SNTP :

پروتکل SNTP مدل ساده شده ی NTP می باشد که به دلیل عدم ذخیره سازی وضعیت در دوره های طولانی مدت بر روی دستگاه ها و سرورهایی که نیازی به زمان دقیق ندارند مورد استفاده قرار می گیرد.نمونه این دستگاه ها و سیستم عامل ها که از پروتکل SNTP بهره می گیرد،میکروتیک می باشد.

منابع :

وبسایت NTP