NTPD(8) System Manager's Manual NTPD(8)

ntpd — دیمن پروتکل زمان شبکه (NTP)

ntpd [-dnv] [-f file] [-p file]

دیمن ntpd ساعت محلی را با یک یا چند سرور دوردست NTP یا حسگرهای اختلاف زمانی محلی همگام‌سازی می‌کند. ntpd همچنین می‌تواند خودش به عنوان یک سرور NTP عمل کرده و زمان محلی را بازتوزیع کند. این برنامه پروتکل زمان شبکه ساده نسخه ۴ را همان‌گونه که در RFC 5905 شرح داده شده، و پروتکل زمان شبکه نسخه ۳ را همان‌گونه که در RFC 1305 شرح داده شده است پیاده‌سازی می‌کند. زمان همچنین می‌تواند از سرورهای TLS HTTPS دریافت شود تا اثر حملات مرد میانی (man-in-the-middle) در NTP بدون احراز هویت کاهش یابد.

گزینه‌ها به شرح زیر هستند:

به صورت دیمن اجرا نشود. اگر این گزینه مشخص شود، ntpd در پیش‌زمینه اجرا شده و لاگ‌ها را در ثبت می‌کند.
file
استفاده از file به عنوان فایل پیکربندی، به جای فایل پیش‌فرض /etc/ntpd.conf.
حالت آزمایش پیکربندی (Configtest). تنها معتبر بودن فایل پیکربندی را بررسی می‌کند.
این گزینه به ntpd اجازه می‌دهد تا پیام‌هایی با اولویت اشکال‌زدایی (DEBUG) را به syslog ارسال کند.
file
نوشتن شناسه فرایند (PID) در file

ntpd از فراخوان سیستمی adjtime(2) برای تصحیح زمان محلی سیستم بدون ایجاد جهش‌های زمانی استفاده می‌کند. تنظیمات ۳۲ میلی‌ثانیه و بیشتر با استفاده از syslog(3) ثبت می‌شوند. مقدار آستانه به این منظور انتخاب شده است تا از پر شدن بیهوده فایل‌های لاگ توسط انحراف ساعت محلی جلوگیری شود. چنانچه ntpd با گزینه -d یا -v راه‌اندازی شود، تمام فراخوانی‌های adjtime(2) ثبت خواهند شد.

در زمان بوت، ntpd حداکثر به مدت ۱۵ ثانیه در پیش‌زمینه می‌ماند و در صورتی که محدودیت‌ها پیکربندی و برآورده شده باشند یا سرورها یا حسگرهای مورد اعتماد نتایجی بازگردانند، و به شرطی که ساعت به عقب برگردانده نشود، تلاش می‌کند زمان را بررسی و تصحیح کند.

پس از همگام‌سازی ساعت محلی، ntpd فرکانس ساعت را با استفاده از فراخوان سیستمی adjfreq(2) تنظیم می‌کند تا انحراف سامان‌مند (systematic drift) جبران شود.

ntpd به‌طور پیش‌فرض در زمان بوت از طریق ntpd_flags در /etc/rc.conf راه‌اندازی می‌شود. برای اطلاعات بیشتر درباره فرایند بوت و فعال‌سازی دیمن‌ها به rc(8) و rc.conf(8) مراجعه کنید.

هنگامی که ntpd شروع به کار می‌کند، تنظیمات را از فایل پیکربندی خود، معمولاً ntpd.conf(5), و انحراف اولیه ساعت را از /var/ntpd.drift می‌خواند. انحراف ساعت پس از آن به‌طور دوره‌ای در فایل drift نوشته می‌شود.

/etc/ntpd.conf
فایل پیکربندی پیش‌فرض.
/var/ntpd.drift
فایل انحراف زمان (drift).
/var/run/ntpd.sock
فایل سوکت برای ارتباط با ntpctl(8).

date(1), adjfreq(2), adjtime(2), ntpd.conf(5), ntpctl(8), rc(8), rc.conf(8), rdate(8)

David L. Mills, Network Time Protocol (Version 3): Specification, Implementation and Analysis, RFC 1305, March 1992.

David L. Mills, Jim Martin, Jack Burbank, and William Kasch, Network Time Protocol Version 4: Protocol and Algorithms Specification, RFC 5905, June 2010.

برنامه ntpd نخستین بار در OpenBSD 3.6 ظاهر شد.

March 2, 2023 Linux 6.12.107+deb13-amd64