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

0

پروتکل (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 سطح یک به آدرس 0.us.pool.ntp.org و wwv.nist.gov بهره می گیریم.

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

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

yum  -y  install ntp

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

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

nano  /etc/ntp.conf

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

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

server  0.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 را نخواهیم داد.

 

Parameters Definitions
ignore Deny all packets and queries
kod Send Kiss-Of-Death packet on access violation
nomodify Deny ntpq / ntpdc queries that attempt to modify the server
notrap Deny control message trap service
noquery Deny all ntpq / ntpdc queries
noserve Deny all queries – except ntpq / ntpdc
notrust Deny access unless cryptographically authenticated (ver 4.2 onwards)
nopeer Deny 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

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

chkconfig  ntpd  on

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

service ntpd restart

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

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

 ntpq  -p  0.us.pool.ntp.org

خروجی دستور :

remote              refid         st t     when    poll     reach    delay    offset    jitter
===========================================================================
*clock.sjc.he.ne .CDMA.              1 u     287      1024    377     41.147   2.016    0.376
+clock.fmt.he.ne .CDMA.             1 u     793      1024    377     38.808   0.093     0.123
+clock.nyc.he.ne .CDMA.             1 u     666      1024    377     43.767   -2.950   0.182
-tick.e.mattnord 129.7.1.66         2 u     893      1024    377     0.702   -0.233     0.844

برای همگام سازی صحیح ، اعداد delay ، jitter و  offset باید غیرصفر و علاوه برآن مقدار jitter زیر 100 باشد.

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

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

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

رول برای دسترسی به 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 بهره می گیرد،میکروتیک می باشد.

 منابع :

 http://www.tldp.org/LDP/sag/html/basic-ntp-config.html

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-Date_and_Time_Configuration-Command_Line_Configuration-Network_Time_Protocol.html

  نگارنده : رضا بهروزی

نظرات مسدود است.