'\" t .\" Title: chrony.conf .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-04-30 .\" Manual: Configuration Files .\" Source: chrony 4.8 .\" Language: English .\" .TH "CHRONY.CONF" "5" "2026-04-30" "chrony 4.8" "Configuration Files" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" chrony.conf \- پرونده پیکربندی دیمن همگام‌سازی زمان chrony .SH "خلاصه (SYNOPSIS)" .sp \fBchrony.conf\fP .SH "توضیحات (DESCRIPTION)" .sp این پرونده دیمن \fBchronyd\fP را پیکربندی می‌کند. مکان پیش‌فرض کامپایل‌شده آن \fI/etc/chrony.conf\fP است. مکان‌های دیگر را می‌توان در خط فرمان \fBchronyd\fP با گزینه \fB\-f\fP مشخص کرد. .sp هر دستورالعمل در پرونده پیکربندی در یک خط جداگانه قرار می‌گیرد. بخش‌های زیر هر یک از دستورالعمل‌ها را به نوبه خود شرح می‌دهند. دستورالعمل‌ها به بزرگی و کوچکی حروف حساس نیستند. به طور کلی، دستورالعمل‌ها می‌توانند با هر ترتیبی در پرونده قرار گیرند و اگر یک دستورالعمل چند بار مشخص شود، تنها آخرین مورد موثر خواهد بود. موارد استثنا در توضیحات ذکر شده است. .sp دستورالعمل‌های پیکربندی را می‌توان مستقیماً در خط فرمان \fBchronyd\fP نیز مشخص کرد. در این حالت، هر آرگومان به عنوان یک خط جدید تجزیه می‌شود و از پرونده پیکربندی صرف‌نظر می‌گردد. .sp اگرچه تعداد دستورالعمل‌های پشتیبانی‌شده زیاد است، اما معمولاً تنها به تعداد کمی از آن‌ها نیاز است. برای پیکربندی در سناریوهای عملیاتی معمول، به بخش \fBمثال‌ها (EXAMPLES)\fP مراجعه کنید. .sp پرونده پیکربندی ممکن است حاوی خطوط توضیحات باشد. خط توضیح خطی است که با صفر یا چند فاصله و به دنبال آن یکی از نویسه‌های زیر آغاز می‌شود: \fB!\fP، \fB;\fP، \fB#\fP، \fB%\fP. هر خطی با این قالب نادیده گرفته خواهد شد. .SH "دستورالعمل‌ها (DIRECTIVES)" .SS "منابع زمان (Time sources)" .sp \fBserver\fP \fIhostname\fP [\fIoption\fP].\|.\|. .RS 4 دستورالعمل \fBserver\fP یک سرور NTP را مشخص می‌کند که می‌تواند به عنوان یک منبع زمان استفاده شود. رابطه کلاینت-سرور کاملاً سلسه‌مراتبی است: یک کلاینت ممکن است زمان سیستم خود را با زمان سرور همگام کند، اما زمان سیستم سرور هرگز تحت تأثیر کلاینت قرار نخواهد گرفت. .sp سرور را می‌توان با نام میزبان یا نشانی IP آن مشخص کرد. اگر نام میزبان در هنگام راه‌اندازی قابل تفکیک نباشد، \fBchronyd\fP در فواصل زمانی افزایشی مجدداً تلاش خواهد کرد، و همچنین زمانی که دستور \fBonline\fP در \fBchronyc\fP صادر شود. .sp رکورد DNS ممکن است در طول زمان تغییر کند. نشانی استفاده‌شده با یک نشانی تازه تفکیک‌شده جایگزین خواهد شد، هنگامی که سرور غیرقابل دسترس شود (یعنی هیچ پاسخ معتبری به ۸ درخواست آخر دریافت نشود)، از حالت همگام خارج شود، یک falseticker شود (یعنی با اکثریت منابع دیگر همخوانی نداشته باشد)، یا فاصله ریشه بیش از حد بزرگ باشد (حد آن می‌تواند با دستورالعمل \fBmaxdistance\fP پیکربندی شود). جایگزینی خودکار حداکثر یک بار در هر ۳۰ دقیقه رخ می‌دهد و در هر زمان فقط یک سرور می‌تواند جایگزین شود. همچنین هنگامی که سرور به طور عادی کار می‌کند، نشانی به صورت دوره‌ای تازه‌سازی می‌شود (این فاصله زمانی را می‌توان با دستورالعمل \fBrefresh\fP پیکربندی کرد). .sp این دستورالعمل می‌تواند چندین بار برای مشخص کردن چندین سرور استفاده شود. هر سرور باید نشانی IP متفاوتی داشته باشد تا برای \fBchronyd\fP قابل استفاده باشد. اگر سروری با نام میزبانی مشخص شود که تنها به نشانی‌هایی تفکیک می‌شود که قبلاً توسط سرورهای دیگر استفاده شده‌اند، با آن سرور به عنوان سروری با نشانی ناشناخته رفتار خواهد شد (مثلاً توسط دستور \fBactivity\fP در \fBchronyc\fP گزارش می‌شود). .sp این دستورالعمل از گزینه‌های زیر پشتیبانی می‌کند: .sp \fBminpoll\fP \fIpoll\fP .RS 4 این گزینه حداقل فاصله بین درخواست‌های ارسال‌شده به سرور را به صورت توانی از ۲ بر حسب ثانیه مشخص می‌کند. به عنوان مثال، \fBminpoll 5\fP به این معنی است که فاصله نظرسنجی نباید کمتر از ۳۲ ثانیه شود. مقدار پیش‌فرض ۶ (۶۴ ثانیه)، حداقل \-7 (۱/۱۲۸ ثانیه) و حداکثر ۲۴ (۶ ماه) است. توجه داشته باشید که فواصل کوتاه‌تر از ۶ (۶۴ ثانیه) معمولاً نباید برای سرورهای عمومی در اینترنت استفاده شوند، زیرا ممکن است سوءاستفاده تلقی شود. فاصله زمانی زیر یک ثانیه تنها زمانی فعال می‌شود که سرور در دسترس باشد و تأخیر رفت و برگشت کمتر از ۱۰ میلی‌ثانیه باشد، یعنی سرور باید در یک شبکه محلی باشد. .RE .sp \fBmaxpoll\fP \fIpoll\fP .RS 4 این گزینه حداکثر فاصله بین درخواست‌های ارسال‌شده به سرور را به صورت توانی از ۲ بر حسب ثانیه مشخص می‌کند. به عنوان مثال، \fBmaxpoll 9\fP نشان می‌دهد که فاصله نظرسنجی باید در حد ۹ یا کمتر از آن (۵۱۲ ثانیه) باقی بماند. مقدار پیش‌فرض ۱۰ (۱۰۲۴ ثانیه)، حداقل \-7 (۱/۱۲۸ ثانیه) و حداکثر ۲۴ (۶ ماه) است. .RE .sp \fBiburst\fP .RS 4 با این گزینه، \fBchronyd\fP با رگباری از ۴ تا ۸ درخواست شروع می‌کند تا اولین به‌روزرسانی ساعت را سریع‌تر انجام دهد. همچنین هر بار که منبع با دستور \fBonline\fP در \fBchronyc\fP از حالت آفلاین به آنلاین تغییر وضعیت دهد، این رگبار تکرار خواهد شد. .RE .sp \fBburst\fP .RS 4 با این گزینه، زمانی که \fBchronyd\fP نتواند اندازه‌گیری مناسبی از سرور دریافت کند، رگباری تا سقف ۴ درخواست ارسال می‌کند. تعداد درخواست‌ها در رگبار توسط فاصله نظرسنجی فعلی محدود می‌شود تا میانگین فاصله در حد حداقل فاصله یا بالاتر از آن باقی بماند، یعنی فاصله فعلی باید حداقل دو برابر طولانی‌تر از حداقل فاصله باشد تا رگباری با دو درخواست مجاز شود. .RE .sp \fBkey\fP \fIID\fP .RS 4 پروتکل NTP از یک کد اصالت‌سنجی پیام (MAC) برای جلوگیری از به هم ریختن زمان سیستم رایانه‌ها توسط بسته‌های سرکش ارسال‌شده به آن‌ها پشتیبانی می‌کند. این MAC به عنوان تابعی از یک کلید مشخص‌شده در پرونده کلید تولید می‌شود، که توسط دستورالعمل \fBkeyfile\fP تعیین می‌گردد. .sp گزینه \fBkey\fP مشخص می‌کند که \fBchronyd\fP باید از کدام کلید (با شناسه‌ای در محدوده ۱ تا 2^32\-1) برای احراز اصالت درخواست‌های ارسالی به سرور و تأیید پاسخ‌های آن استفاده کند. سرور نیز باید همین کلید را برای این شماره پیکربندی کرده باشد؛ در غیر این صورت هیچ ارتباطی بین رایانه‌ها امکان‌پذیر نخواهد بود. .sp اگر سرور در حال اجرای \fBntpd\fP باشد و اندازه خروجی تابع هش استفاده‌شده توسط کلید بیشتر از ۱۶۰ بیت باشد (مانند SHA256)، گزینه \fBversion\fP باید برای سازگاری روی ۴ تنظیم شود. .RE .sp \fBnts\fP .RS 4 این گزینه احراز اصالت را با استفاده از سازوکار امنیت زمان شبکه (NTS) فعال می‌کند. برخلاف گزینه \fBkey\fP، نیازی نیست سرور و کلاینت کلیدی را در یک پرونده کلید به اشتراک بگذارند. NTS دارای یک پروتکل برقراری کلید (NTS\-KE) است که از پروتکل امنیت لایه انتقال (TLS) برای دریافت کلیدها و کوکی‌های مورد نیاز NTS جهت احراز اصالت بسته‌های NTP استفاده می‌کند. .sp با این گزینه، نام میزبان مشخص‌شده در دستورالعمل server یا pool به ترتیب همان سرور NTS\-KE یا استخر سرورهای NTS\-KE است. سرور NTP معمولاً روی همان میزبان اجرا می‌شود، اما می‌تواند از سرور NTS\-KE جدا باشد (نام میزبان یا نشانی سرور NTP توسط سرور NTS\-KE به کلاینت ارائه می‌شود). .sp سرور NTS\-KE را می‌توان با نشانی IP مشخص کرد، به شرطی که در گواهی سرور به عنوان Subject Alternative Name (SAN) گنجانده شده باشد. .RE .sp \fBcertset\fP \fIID\fP .RS 4 این گزینه مشخص می‌کند که در هنگام فعال بودن گزینه \fBnts\fP، کدام مجموعه از گواهی‌های معتبر باید برای تأیید گواهی سرور استفاده شود. مجموعه‌های گواهی را می‌توان با دستورالعمل \fBntstrustedcerts\fP مشخص کرد. مجموعه پیش‌فرض 0 است، که به طور پیش‌فرض شامل گواهی‌های مراجع صدور گواهی معتبر پیش‌فرض سیستم است. .RE .sp \fBmaxdelay\fP \fIdelay\fP .RS 4 \fBchronyd\fP از تأخیر رفت و برگشت شبکه به سرور استفاده می‌کند تا تعیین کند که یک اندازه‌گیری خاص احتمالاً چقدر دقیق است. تأخیرهای طولانی رفت و برگشت نشان می‌دهند که درخواست، پاسخ یا هر دو دچار تأخیر شده‌اند. اگر تنها یکی از پیام‌ها به تأخیر افتاده باشد، خطای اندازه‌گیری احتمالاً قابل توجه خواهد بود. .sp برای تغییرات کوچک در تأخیر رفت و برگشت، \fBchronyd\fP هنگام پردازش اندازه‌گیری‌ها از یک طرح وزن‌دهی استفاده می‌کند. با این حال، فراتر از یک سطح معین از تأخیر، اندازه‌گیری‌ها احتمالاً چنان مخدوش می‌شوند که بلااستفاده خواهند بود. (این امر به ویژه در شبکه‌های بی‌سیم و سایر پیوندهای کند صادق است، جایی که یک تأخیر طولانی احتمالاً نشان‌دهنده یک تأخیر بسیار نامتقارن ناشی از انتظار پاسخ پشت تعداد زیادی بسته مربوط به نوعی بارگیری است). .sp اگر کاربر بداند که تأخیرهای رفت و برگشت بالاتر از یک سطح مشخص باید باعث نادیده گرفتن اندازه‌گیری شود، این سطح را می‌توان با گزینه \fBmaxdelay\fP تعریف کرد. به عنوان مثال، \fBmaxdelay 0.3\fP نشان می‌دهد که اندازه‌گیری‌های با تأخیر رفت و برگشت بیش از ۰.۳ ثانیه باید نادیده گرفته شوند. مقدار پیش‌فرض ۳ ثانیه و حداکثر مقدار ۱۰۰۰ ثانیه است. .RE .sp \fBmaxdelayratio\fP \fIratio\fP .RS 4 این گزینه مشابه گزینه \fBmaxdelay\fP در بالا است. \fBchronyd\fP رکوردی از حداقل تأخیر رفت و برگشت در بین اندازه‌گیری‌های قبلی که بافر کرده است را نگه می‌دارد. اگر یک اندازه‌گیری دارای تأخیر رفت و برگشتی باشد که بیشتر از نسبت مشخص‌شده برابر حداقل تأخیر باشد، رد خواهد شد. به طور پیش‌فرض، این آزمون غیرفعال است. .RE .sp \fBmaxdelaydevratio\fP \fIratio\fP .RS 4 اگر در یک اندازه‌گیری، نسبت افزایش تأخیر رفت‌وبرگشت (از کمینه تأخیر میان اندازه‌گیری‌های قبلی) به انحراف معیار اندازه‌گیری‌های قبلی بزرگ‌تر از نسبت مشخص‌شده باشد، آن اندازه‌گیری رد خواهد شد. مقدار پیش‌فرض 10.0 است. .RE .sp \fBmaxdelayquant\fP \fIp\fP .RS 4 این گزینه آزمون \fBmaxdelaydevratio\fP را غیرفعال کرده و بیشینه تأخیر قابل‌قبول را به‌جای تابعی از کمینه تأخیر میان اندازه‌گیری‌های بافر شده، به‌صورت چندک (quantile) تأخیر رفت‌وبرگشت مشخص می‌کند. اگر یک اندازه‌گیری دارای تأخیر رفت‌وبرگشتی بزرگ‌تر از برآورد بلندمدت چندک \fIp\fP باشد، رد خواهد شد. .sp مقدار \fIp\fP تعیین‌شده باید بین 0.05 و 0.95 باشد. برای نمونه، \fBmaxdelayquant 0.2\fP نشان می‌دهد که تنها اندازه‌گیری‌هایی با کمترین ۲۰ درصد تأخیر رفت‌وبرگشت باید پذیرفته شوند. توجه داشته باشید رسیدن چندک برآوردشده به مقدار مورد انتظار ممکن است نیازمند اندازه‌گیری‌های بسیاری باشد. این گزینه برای همگام‌سازی در شبکه‌های محلی عمدتاً ایستا با فواصل نظرسنجی بسیار کوتاه در نظر گرفته شده و امکان ترکیب با گزینه \fBfilter\fP را دارد. به‌طور پیش‌فرض، این آزمون به نفع آزمون \fBmaxdelaydevratio\fP غیرفعال است. .RE .sp \fBmindelay\fP \fIdelay\fP .RS 4 این گزینه یک کمینه تأخیر رفت‌وبرگشت ثابت را مشخص می‌کند تا به‌جای کمینه تأخیر میان اندازه‌گیری‌های قبلی استفاده شود. این قابلیت در شبکه‌هایی با پیکربندی ایستا برای بهبود پایداری تصحیحات نوسان (jitter) نامتقارن، وزن‌دهی اندازه‌گیری‌ها و آزمون‌های \fBmaxdelayratio\fP و \fBmaxdelaydevratio\fP کاربرد دارد. مقدار باید به‌دقت تنظیم شود تا تأثیر مثبتی بر همگام‌سازی داشته باشد. .RE .sp \fBasymmetry\fP \fIratio\fP .RS 4 این گزینه عدم تقارن نوسان شبکه در مسیر منبع را مشخص می‌کند که برای اصلاح انحراف (offset) اندازه‌گیری‌شده بر اساس تأخیر به کار می‌رود. عدم تقارن می‌تواند بین \-0.5 و +0.5 باشد. مقدار منفی یعنی تغییرات تأخیر بسته‌های ارسالی به منبع بیشتر از تغییرات تأخیر بسته‌های بازگشتی از منبع است. به‌طور پیش‌فرض، \fBchronyd\fP عدم تقارن را به‌صورت خودکار برآورد می‌کند. .RE .sp \fBoffset\fP \fIoffset\fP .RS 4 این گزینه تصحیحی (به ثانیه) را تعیین می‌کند که بر انحراف‌های اندازه‌گیری‌شده با این منبع اعمال خواهد شد. این گزینه به‌ویژه برای جبران عدم تقارن مشخص در تأخیر شبکه یا خطاهای برچسب‌گذاری زمانی (timestamping) مفید است. برای نمونه، اگر بسته‌های ارسالی به منبع به‌طور میانگین ۱۰۰ میکروثانیه بیشتر از بسته‌های بازگشتی از منبع تأخیر داشته باشند، تصحیح برابر با \-0.00005 (\-50 میکروثانیه) خواهد بود. مقدار پیش‌فرض 0.0 است. .RE .sp \fBminsamples\fP \fIsamples\fP .RS 4 حداقل تعداد نمونه‌های نگه‌داری‌شده برای این منبع را تنظیم می‌کند. این گزینه دستورالعمل \fBminsamples\fP را بازنویسی می‌کند. .RE .sp \fBmaxsamples\fP \fIsamples\fP .RS 4 حداکثر تعداد نمونه‌های نگه‌داری‌شده برای این منبع را تنظیم می‌کند. این گزینه دستورالعمل \fBmaxsamples\fP را بازنویسی می‌کند. .RE .sp \fBmaxunreach\fP \fIpolls\fP .RS 4 این گزینه حداکثر تعداد نظرسنجی‌هایی را مشخص می‌کند که این منبع هنگام دردسترس نبودن (عدم دریافت پاسخ معتبر به ۸ درخواست آخر) می‌تواند برای همگام‌سازی انتخاب‌شده باقی بماند. فقط منابعی قابل انتخاب هستند که حداقل یک نمونه تازه‌تر از قدیمی‌ترین نمونه تمام منابع دردسترس داشته باشند. مقدار پیش‌فرض 100000 است. .RE .sp \fBfilter\fP \fIpolls\fP .RS 4 این گزینه یک فیلتر میانه (median filter) را برای کاهش نوفه در اندازه‌گیری‌های NTP فعال می‌کند. فیلتر، نمونه‌های جمع‌آوری‌شده در تعداد نظرسنجی‌های مشخص‌شده را در قالب یک نمونه واحد پردازش خواهد کرد. این گزینه برای استفاده با فواصل نظرسنجی بسیار کوتاه در شبکه‌های محلی با ترافیک بالای مجاز NTP در نظر گرفته شده است. .RE .sp \fBoffline\fP .RS 4 اگر سرور هنگام شروع \fBchronyd\fP در دسترس نباشد، می‌توان گزینه \fBoffline\fP را مشخص کرد. \fBchronyd\fP تا زمان فعال‌سازی (با دستور \fBonline\fP در \fBchronyc\fP)، تلاشی برای نظرسنجی از سرور نخواهد کرد. .RE .sp \fBauto_offline\fP .RS 4 با این گزینه، در صورت عدم موفقیت در ارسال درخواست (مانند نبود مسیر شبکه)، سرور آفلاین در نظر گرفته می‌شود. این گزینه نیاز به اجرای دستی دستور \fBoffline\fP در \fBchronyc\fP هنگام قطع اتصال شبکه را رفع می‌کند. (برای شروع مجدد اندازه‌گیری‌ها هنگام برقراری پیوند، همچنان استفاده از دستور \fBonline\fP لازم خواهد بود.) .RE .sp \fBprefer\fP .RS 4 این منبع را بر سایر منابع قابل انتخاب فاقد گزینه \fBprefer\fP ترجیح می‌دهد. .RE .sp \fBnoselect\fP .RS 4 هرگز این منبع را انتخاب نمی‌کند. این گزینه برای پایش (monitoring) کاربرد دارد. .RE .sp \fBtrust\fP .RS 4 زمان این منبع همواره معتبر فرض می‌شود. این منبع در گزینش منابع تنها در صورتی به‌عنوان falseticker رد می‌شود که منبع دیگری با همین گزینه با آن مغایرت داشته باشد. .RE .sp \fBrequire\fP .RS 4 پیش از به‌روزرسانی ساعت، مستلزم آن است که حداقل یکی از منابع مشخص‌شده با این گزینه قابل انتخاب باشد (اخیراً دردسترس بوده و falseticker نباشد). همراه با گزینه \fBtrust\fP، امکان ترکیب ایمن یک منبع احرازهویت‌شده معتمد با منابع احرازهویت‌نشده را برای بهبود دقت ساعت فراهم می‌کند. این منابع تنها در صورت توافق با منبع معتمد و الزامی انتخاب و استفاده خواهند شد. .RE .sp \fBxleave\fP .RS 4 این گزینه حالت درهم‌تنیده (interleaved mode) پروتکل NTP (استاندارد RFC 9769) را فعال می‌کند. به سرور اجازه می‌دهد با برچسب‌های زمانی ارسال دقیق‌تر (مانند برچسب‌های زمانی کرنل یا سخت‌افزاری) پاسخ دهد که امکان گنجاندن آن‌ها در خود بسته ارسالی وجود ندارد و باید به بسته پیشین ارجاع داده شوند. این امر دقت و پایداری اندازه‌گیری‌ها را به‌طور چشمگیری بهبود می‌بخشد. .sp حالت درهم‌تنیده با سرورهایی که فقط از حالت پایه پشتیبانی می‌کنند سازگار است. توجه داشته باشید سرورهای پشتیبانی‌کننده از حالت درهم‌تنیده نیز ممکن است در حالت پایه پاسخ دهند، زیرا این حالت نیازمند نگه‌داری وضعیت (state) برای هر کلاینت است و این وضعیت در صورت کثرت کلاینت‌ها (مانند کوچک بودن \fBclientloglimit\fP) ممکن است حذف شود، یا توسط سایر کلاینت‌های دارای نشانی IP مشترک (مانند سیستم‌های پشت NAT یا درخواست‌های با نشانی مبدأ جعلی) بازنویسی گردد. .sp گزینه \fBxleave\fP می‌تواند با گزینه \fBpresend\fP ترکیب شود تا بازه نگه‌داری وضعیت توسط سرور جهت پاسخ‌گویی در حالت درهم‌تنیده کوتاه‌تر گردد. .RE .sp \fBpolltarget\fP \fItarget\fP .RS 4 تعداد اندازه‌گیری‌های هدف برای الگوریتم رگرسیون که \fBchronyd\fP با تنظیم بازه نظرسنجی بین \fBminpoll\fP و \fBmaxpoll\fP برای حفظ آن تلاش می‌کند. مقدار هدف بالاتر موجب تمایل \fBchronyd\fP به بازه‌های نظرسنجی کوتاه‌تر می‌شود. پیش‌فرض 8 است و دامنه مناسب آن از 6 تا 60 می‌باشد. .RE .sp \fBport\fP \fIport\fP .RS 4 امکان تعیین درگاه UDP دریافت‌کننده درخواست‌های NTP سرور را فراهم می‌کند. برای سرورهای معمولی به این گزینه نیازی نیست (پیش‌فرض 123، درگاه استاندارد NTP است). .RE .sp \fBntsport\fP \fIport\fP .RS 4 درگاه TCP گوش‌به‌زنگ سرور برای اتصالات NTS\-KE را در صورت فعال بودن گزینه \fBnts\fP مشخص می‌کند. پیش‌فرض 4460 است. .RE .sp \fBpresend\fP \fIpoll\fP .RS 4 اگر اندازه‌گیری‌های زمانی \fBchronyd\fP تنها داده‌های شبکه مبادله‌شده میان دو رایانه باشد، ممکن است برخی اندازه‌گیری‌ها به دلیل نیاز کلاینت یا سرور به انجام جستجوی ARP پیش از ارسال بسته، به‌شدت منحرف شوند. این مشکل در فواصل طولانی نمونه‌برداری که هم‌زمان با انقضای مدخل‌های حافظه نهان ARP ماشین‌هاست، بیشتر رخ می‌دهد. .sp برای جلوگیری از این مشکل، گزینه \fBpresend\fP به کار می‌رود. این گزینه یک آرگومان عدد صحیح دریافت می‌کند که کوچک‌ترین بازه نظرسنجی برای تبادل یک جفت بسته NTP اضافی بین کلاینت و سرور پیش از اندازه‌گیری واقعی است. برای نمونه، در صورت تعریف گزینه زیر در دستورالعمل \fBserver\fP: .sp .if n .RS 4 .nf .fam C presend 9 .fam .fi .if n .RE .sp هنگامی که فاصله نظرسنجی ۵۱۲ ثانیه یا بیشتر باشد، اندکی قبل (۲ ثانیه) از انجام اندازه‌گیری اصلی، یک بسته کلاینت NTP اضافه به سرور فرستاده خواهد شد. .sp اگر گزینه \fBpresend\fP همراه با گزینه \fBxleave\fP استفاده شود، \fBchronyd\fP به جای یک بسته، دو بسته اضافی ارسال خواهد کرد. .RE .sp \fBminstratum\fP \fIstratum\fP .RS 4 هنگامی که منبع همگام‌سازی از میان منابع موجود انتخاب می‌شود، منابع با stratum پایین‌تر معمولاً کمی ترجیح داده می‌شوند. این گزینه می‌تواند برای افزایش stratum منبع به حداقل تعیین‌شده استفاده شود، تا \fBchronyd\fP از انتخاب آن منبع خودداری کند. این ویژگی برای منابع دارای stratum پایین که نامطمئن یا غیردقیق شناخته شده‌اند و تنها باید در صورت غیرقابل دسترس بودن سایر منابع استفاده شوند، مفید است. .RE .sp \fBversion\fP \fIversion\fP .RS 4 این گزینه نسخه NTP بسته‌های ارسالی به سرور را تعیین می‌کند. این می‌تواند زمانی مفید باشد که سرور از پیاده‌سازی قدیمی NTP استفاده می‌کند که به درخواست‌های دارای نسخه جدیدتر پاسخ نمی‌دهد. نسخه پیش‌فرض به گزینه‌های دیگر بستگی دارد. اگر از گزینه \fBextfield\fP یا \fBxleave\fP استفاده شود، نسخه پیش‌فرض ۴ است. اگر از این گزینه‌ها استفاده نشود و گزینه \fBkey\fP کلیدی را با استفاده از تابع درهم‌سازی با اندازه خروجی بیش از ۱۶۰ بیت (مانند SHA256) تعیین کند، نسخه پیش‌فرض برای سازگاری با سرورهای قدیمی‌تر \fBchronyd\fP برابر ۳ است. در سایر موارد، نسخه پیش‌فرض ۴ است. .RE .sp \fBcopy\fP .RS 4 این گزینه مشخص می‌کند که سرور و کلاینت ارتباط نزدیکی با هم دارند، پیکربندی آن‌ها اجازه تشکیل حلقه همگام‌سازی را نمی‌دهد، و کلاینت مجاز است reference ID و stratum سرور را به خود اختصاص دهد. این زمانی مفید است که چندین نمونه از \f(CRchronyd\fP روی یک رایانه در حال اجرا باشند (مثلاً به دلایل امنیتی یا کارایی)، یکی عمدتاً به عنوان کلاینت برای همگام‌سازی ساعت سیستم کار کند و نمونه‌های دیگر با گزینه \fB\-x\fP راه‌اندازی شوند تا به عنوان سرورهای NTP برای سایر رایانه‌ها با ساعت‌های NTP همگام‌شده با نمونه اول عمل کنند. .RE .sp \fBextfield\fP \fItype\fP .RS 4 این گزینه یک فیلد افزونه NTPv4 را که با نوع آن به صورت یک عدد هگزادسیمال مشخص شده است، فعال می‌کند. این فیلد در درخواست‌های ارسالی به سرور گنجانده شده و در پاسخ‌های دریافتی، در صورت پشتیبانی سرور، پردازش می‌شود. توجه داشته باشید که برخی از پیاده‌سازی‌های سرور به درخواست‌های حاوی فیلد افزونه ناشناخته پاسخ نمی‌دهند (\fBchronyd\fP به عنوان سرور از نسخه ۲.۰ به این درخواست‌ها پاسخ داده است). .sp این گزینه می‌تواند چندین بار برای فعال کردن چندین فیلد افزونه استفاده شود. .sp فیلدهای افزونه زیر پشتیبانی می‌شوند: .sp \fIF323\fP .RS 4 یک فیلد افزونه آزمایشی برای فعال کردن چندین بهبود که برای نسخه بعدی پروتکل NTP (NTPv5) پیشنهاد شده بودند. این فیلد شامل root delay و dispersion با تفکیک‌پذیری بالاتر و یک برچسب زمانی دریافت یکنواخت (monotonic) است که انتقال فرکانس بین سرور و کلاینت را برای بهبود چشمگیر پایداری همگام‌سازی امکان‌پذیر می‌سازد. این فیلد فقط باید برای سرورهایی فعال شود که مشخص است نسخه \fBchronyd\fP ۴.۲ یا بالاتر را اجرا می‌کنند. .RE .sp \fIF324\fP .RS 4 یک فیلد افزونه آزمایشی برای فعال کردن استفاده از فیلد تصحیح Precision Time Protocol (PTP) در پیام‌های NTP\-over\-PTP که توسط ساعت‌های شفاف سرتاسری (end\-to\-end) یک‌مرحله‌ای (one\-step) در سوئیچ‌ها و روترهای شبکه به‌روزرسانی می‌شوند، تا دقت و پایداری همگام‌سازی را به طور چشمگیری بهبود بخشد. NTP\-over\-PTP می‌تواند با دستورالعمل \fBptpport\fP و تنظیم گزینه \fBport\fP روی پورت PTP فعال شود. تصحیحات فقط روی اندازه‌گیری‌های NTP با برچسب‌های زمانی سخت‌افزاری (فعال‌شده با دستورالعمل \fBhwtimestamp\fP) اعمال می‌شوند. این فیلد فقط باید برای سرورهایی فعال شود که مشخص است نسخه \fBchronyd\fP ۴.۵ یا بالاتر را اجرا می‌کنند. .RE .RE .sp \fBipv4\fP, \fBipv6\fP .RS 4 این گزینه‌ها \fBchronyd\fP را مجبور می‌کنند که به ترتیب فقط از آدرس‌های IPv4 یا IPv6 برای این منبع استفاده کند. آن‌ها گزینه \fB\-4\fP یا \fB\-6\fP را در خط فرمان \fBchronyd\fP لغو نمی‌کنند. .RE .sp .RS 4 .RE .RE .sp \fBpool\fP \fIname\fP [\fIoption\fP].\|.\|. .RS 4 نحو این دستورالعمل مشابه دستورالعمل \fBserver\fP است، با این تفاوت که به جای یک سرور NTP منفرد، برای تعیین یک استخر (pool) از سرورهای NTP استفاده می‌شود. انتظار می‌رود نام استخر به چندین آدرس ترجمه شود که ممکن است در طول زمان تغییر کنند. .sp این دستورالعمل می‌تواند چندین بار برای تعیین چندین استخر استفاده شود. .sp تمام گزینه‌های معتبر در دستورالعمل \fBserver\fP می‌توانند در این دستورالعمل نیز استفاده شوند. یک گزینه مخصوص دستورالعمل \fBpool\fP وجود دارد: .sp \fBmaxsources\fP \fIsources\fP .RS 4 این گزینه تعداد منابع مورد نظر برای استفاده از استخر را تعیین می‌کند. \fBchronyd\fP به طور مکرر تلاش خواهد کرد نام را ترجمه کند تا زمانی که این تعداد منبعِ پاسخ‌دهنده به درخواست‌ها را به دست آورد. مقدار پیش‌فرض ۴ و حداکثر مقدار ۱۶ است. .sp یک مثال از دستورالعمل \fBpool\fP: .sp .if n .RS 4 .nf .fam C pool pool.ntp.org iburst maxsources 3 .fam .fi .if n .RE .RE .RE .sp \fBpeer\fP \fIhostname\fP [\fIoption\fP].\|.\|. .RS 4 نحو این دستورالعمل کاملاً شبیه دستورالعمل \fBserver\fP است، با این تفاوت که به جای یک ارتباط کلاینت/سرور با سرور NTP، یک ارتباط متقارن با یک همتای (peer) در NTP را مشخص می‌کند. یک ارتباط متقارن منفرد به همتاها اجازه می‌دهد که همزمان سرور و کلاینت یکدیگر باشند. این عمدتاً زمانی مفید است که پیاده‌سازی NTP همتا (مانند \fBntpd\fP) از ارتباطات متقارن زودگذر (ephemeral) پشتیبانی کند و نیازی به پیکربندی با آدرس این میزبان نداشته باشد. \fBchronyd\fP از ارتباطات زودگذر پشتیبانی نمی‌کند. .sp این دستورالعمل می‌تواند چندین بار برای تعیین چندین همتا استفاده شود. .sp گزینه‌های زیر از دستورالعمل \fBserver\fP در دستورالعمل \fBpeer\fP کار نمی‌کنند: \fBiburst\fP، \fBburst\fP، \fBnts\fP، \fBpresend\fP، \fBcopy\fP. .sp هنگام استفاده از گزینه \fBxleave\fP، هر دو همتا باید از حالت درهم‌تنیده (interleaved mode) پشتیبانی کرده و آن را فعال داشته باشند؛ در غیر این صورت همگام‌سازی فقط در یک جهت کار خواهد کرد. هنگامی که کلیدی توسط گزینه \fBkey\fP برای فعال‌سازی احراز هویت مشخص می‌شود، هر دو همتا باید از همان کلید و همان شماره کلید استفاده کنند. .sp توجه داشته باشید که حالت متقارن امنیت کمتری نسبت به حالت کلاینت/سرور دارد. یک حمله منع سرویس (denial\-of\-service) روی ارتباطات متقارن احراز‌نشده امکان‌پذیر است، یعنی زمانی که همتا بدون گزینه \fBkey\fP مشخص شده باشد. مهاجمی که ترافیک شبکه بین دو میزبان را نمی‌بیند، اما می‌داند که آن‌ها با یکدیگر ارتباط همتا دارند، می‌تواند به طور دوره‌ای بسته‌های احرازشده‌نشده با آدرس‌های مبدا جعلی برای آن‌ها ارسال کند تا وضعیت NTP آن‌ها را مختل کرده و از همگام‌سازی آن‌ها با یکدیگر جلوگیری کند. هنگامی که ارتباط احراز هویت شده باشد، مهاجمی که ترافیک شبکه را می‌بیند، اما نمی‌تواند مانع رسیدن بسته‌ها به میزبان دیگر شود، همچنان می‌تواند با بازپخش بسته‌های قدیمی وضعیت را مختل کند. مهاجم عملاً همان قدرت یک مهاجم مرد میانی (man\-in\-the\-middle) را دارد. یک حفاظت جزئی در برابر این حمله در \fBchronyd\fP پیاده‌سازی شده است که می‌تواند از همتاها محافظت کند اگر آن‌ها از بازه زمانی پرسش (polling interval) یکسانی استفاده کنند و هرگز بسته‌ای احرازشده با برچسب زمانی از آینده ارسال نکرده باشند، اما نباید به آن تکیه کرد زیرا اطمینان از برآورده شدن این شرایط دشوار است. اگر دو میزبان باید بتوانند در هر دو جهت با یکدیگر همگام شوند، توصیه می‌شود به جای آن از دو ارتباط کلاینت/سرور مجزا (مشخص‌شده توسط دستورالعمل \fBserver\fP در هر دو میزبان) استفاده شود. .RE .sp \fBinitstepslew\fP \fIstep\-threshold\fP [\fIhostname\fP].\|.\|. .RS 4 (این دستورالعمل به نفع دستورالعمل \fBmakestep\fP منسوخ شده است.) .sp هدف از دستورالعمل \fBinitstepslew\fP این است که به \fBchronyd\fP اجازه دهد اندازه‌گیری سریعی از خطای ساعت سیستم در زمان بوت انجام دهد و ساعت سیستم را با جهش (stepping) قبل از شروع کارکرد عادی تصحیح کند. از آنجا که این کار معمولاً فقط در یک نقطه مناسب در توالی بوت سیستم انجام می‌شود، هیچ نرم‌افزار دیگری نباید تحت تأثیر منفی این جهش قرار گیرد. .sp اگر تصحیح مورد نیاز کمتر از آستانه مشخص‌شده باشد، به جای آن از تغییر تدریجی (slew) استفاده می‌شود. این امر راه‌اندازی مجدد \fBchronyd\fP را در حین کارکرد عادی سیستم ایمن‌تر می‌کند. .sp دستورالعمل \fBinitstepslew\fP یک آستانه و فهرستی از سرورهای NTP را به عنوان آرگومان می‌پذیرد. هر یک از سرورها به سرعت چندین بار مورد پرسش قرار می‌گیرند و از یک سازوکار رأی‌گیری اکثریت برای یافتن محتمل‌ترین محدوده خطای ساعت سیستم استفاده می‌شود. یک جهش یا تغییر تدریجی برای تصحیح این خطا بر روی ساعت سیستم اعمال می‌گردد. سپس \fBchronyd\fP وارد حالت کارکرد عادی خود می‌شود. .sp یک مثال از استفاده از این دستورالعمل: .sp .if n .RS 4 .nf .fam C initstepslew 30 ntp1.example.net ntp2.example.net ntp3.example.net .fam .fi .if n .RE .sp جایی که ۳ سرور NTP برای انجام اندازه‌گیری استفاده می‌شوند. مقدار \fI30\fP نشان می‌دهد که اگر خطای سیستم ۳۰ ثانیه یا کمتر تشخیص داده شود، برای تصحیح آن از تغییر تدریجی (slew) استفاده می‌شود؛ اگر خطا بیش از ۳۰ ثانیه باشد، از یک جهش (step) استفاده خواهد شد. .sp دستورالعمل \fBinitstepslew\fP همچنین می‌تواند در یک محیط LAN ایزوله، جایی که ساعت‌ها به صورت دستی تنظیم می‌شوند، استفاده شود. پایدارترین رایانه به عنوان سرور اصلی انتخاب می‌شود و سایر رایانه‌ها کلاینت‌های آن هستند. اگر هر یک از کلاینت‌ها با دستورالعمل \fBlocal\fP پیکربندی شده باشد، سرور را می‌توان با یک دستورالعمل \fBinitstepslew\fP راه‌اندازی کرد که به برخی یا همه کلاینت‌ها اشاره دارد. سپس، اگر دستگاه سرور مجبور به راه‌اندازی مجدد شود، می‌توان به کلاینت‌ها اعتماد کرد که به طور مشابه با یک چرخ طیار (flywheel) عمل کنند و زمان را برای یک دوره کوتاه در حالی که سرور راه‌اندازی مجدد خود را کامل می‌کند، حفظ نمایند. .sp دستورالعمل \fBinitstepslew\fP از نظر عملکردی مشابه ترکیبی از دستورالعمل‌های \fBmakestep\fP و \fBserver\fP همراه با گزینه \fBiburst\fP است. تفاوت اصلی این است که سرورهای \fBinitstepslew\fP تنها پیش از آغاز عملکرد عادی استفاده می‌شوند و فرایند پیش‌زمینه \fBchronyd\fP تا پایان یافتن \fBinitstepslew\fP پیش از خروج منتظر می‌ماند. این امر مانع از آن می‌شود که برنامه‌های اجرا شده در توالی راه‌اندازی سیستم پس از \fBchronyd\fP، ساعت را پیش از تنظیم پله‌ای بخوانند. با دستورالعمل \fBmakestep\fP، می‌توان به‌جای آن از فرمان \fBwaitsync\fP در \fBchronyc\fP استفاده کرد. .RE .sp \fBrefclock\fP \fIdriver\fP \fIparameter\fP[:\fIoption\fP].\|.\|. [\fIoption\fP].\|.\|. .RS 4 دستورالعمل \fBrefclock\fP یک ساعت مرجع سخت‌افزاری را برای استفاده به‌عنوان منبع زمان تعیین می‌کند. این دستور دارای دو پارامتر اجباری است: نام راه‌انداز و یک پارامتر ویژه راه‌انداز. پس از این دو پارامتر، صفر یا چند گزینه refclock قرار می‌گیرد. برخی راه‌اندازها گزینه‌های ویژه‌ای دارند که می‌توان آن‌ها را با استفاده از نویسه \fB:\fP به پارامتر ویژه راه‌انداز ضمیمه کرد. .sp این دستورالعمل می‌تواند چندین بار برای تعیین چندین ساعت مرجع استفاده شود. .sp پنج راه‌انداز در \fBchronyd\fP گنجانده شده است: .sp \fBPPS\fP .RS 4 راه‌انداز برای رابط کاربری برنامه‌نویسی (API) پالس بر ثانیه (PPS) هسته. پارامتر، مسیر دستگاه PPS است (معمولاً \fI/dev/pps?\fP). از آنجا که ساعت‌های مرجع PPS زمان کامل را ارائه نمی‌دهند، منبع زمان دیگری (مانند سرور NTP یا ساعت مرجع غیر PPS) برای تکمیل نمونه‌های ارسالی از ساعت مرجع PPS مورد نیاز است. یک جایگزین، فعال‌سازی دستورالعمل \fBlocal\fP برای اجازه همگام‌سازی با یک انحراف ناشناخته اما ثابت است. این راه‌انداز از گزینه زیر پشتیبانی می‌کند: .sp \fBclear\fP .RS 4 به‌طور پیش‌فرض، ساعت مرجع PPS از رویدادهای assert (لبه بالا رونده) برای همگام‌سازی استفاده می‌کند. با این گزینه، به‌جای آن از رویدادهای clear (لبه پایین رونده) استفاده خواهد کرد. .RE .RE .sp .RS 4 مثال‌ها: .sp .if n .RS 4 .nf .fam C refclock PPS /dev/pps0 lock NMEA refid GPS1 refclock SOCK /var/run/chrony.clk.ttyS0.sock offset 0.5 delay 0.2 refid NMEA noselect refclock PPS /dev/pps1:clear refid GPS2 .fam .fi .if n .RE .RE .sp \fBSOCK\fP .RS 4 راه‌انداز سوکت دامنه یونیکس (Unix domain socket). این راه‌انداز از یک سوکت دیتاگرام برای دریافت نمونه‌ها از برنامه‌ای دیگر در حال اجرا روی سیستم استفاده می‌کند. پارامتر، مسیر سوکتی است که \fBchronyd\fP هنگام شروع ایجاد خواهد کرد. ساختار پیام‌ها در پرونده \fIrefclock_sock.c\fP در کد منبع chrony توصیف شده است. .sp برنامه‌ای که از پروتکل SOCK پشتیبانی می‌کند، دیمن \fBgpsd\fP است. این برنامه می‌تواند با استفاده از سیگنال PPS گیرنده، اندازه‌گیری‌های دقیقی ارائه دهد و از نسخه 3.25 به بعد، همچنین اندازه‌گیری‌های (بسیار کم‌دقت‌تر) بر اساس زمان‌بندی داده‌های سریال (مانند NMEA) فراهم کند؛ که این قابلیت در زمان عدم ارائه سیگنال PPS توسط گیرنده یا عدم امکان اتصال آن به رایانه مفید است. مسیرهایی که \fBgpsd\fP انتظار دارد سوکت‌ها توسط \fBchronyd\fP ایجاد شوند در صفحه راهنمای \fBgpsd(8)\fP توصیف شده است. توجه داشته باشید که \fBgpsd\fP باید پس از \fBchronyd\fP راه‌اندازی شود تا بتواند به سوکت متصل گردد. .sp مثال‌ها: .sp .if n .RS 4 .nf .fam C refclock SOCK /var/run/chrony.ttyS0.sock refid GPS1 poll 2 filter 4 refclock SOCK /var/run/chrony.clk.ttyUSB0.sock refid GPS2 offset 0.2 delay 0.1 .fam .fi .if n .RE .RE .sp \fBSHM\fP .RS 4 راه‌انداز حافظه اشتراکی NTP. این راه‌انداز پروتکل راه‌انداز نوع 28 در \fBntpd\fP را پیاده‌سازی می‌کند. این راه‌انداز از نظر عملکردی مشابه راه‌انداز SOCK است، اما به‌جای سوکت از یک بخش حافظه اشتراکی استفاده می‌کند. پارامتر، شماره واحد است؛ معمولاً عددی کوچک مانند 0، 1، 2 یا 3 که کلید بخش حافظه از آن به‌صورت 0x4e545030 + unit مشتق می‌شود. .sp این راه‌انداز از گزینه زیر پشتیبانی می‌کند: .sp \fBperm\fP=\fImode\fP .RS 4 این گزینه مجوزهای دسترسی بخش حافظه اشتراکی ایجاد شده توسط \fBchronyd\fP را تعیین می‌کند. این مجوزها به‌صورت یک حالت عددی مشخص می‌شوند. مقدار پیش‌فرض 0600 است (دسترسی خواندن-نوشتن فقط برای مالک). .RE .RE .sp .RS 4 .sp برخلاف راه‌انداز SOCK، هیچ ترتیبی برای راه‌اندازی \fBchronyd\fP و برنامه ارائه‌دهنده اندازه‌گیری‌ها تعیین نشده است. انتظار می‌رود در صورت عدم وجود بخش حافظه، هر دو آن را ایجاد کنند. \fBchronyd\fP به بخش موجود متصل خواهد شد حتی اگر مالکی غیر از root یا مجوزهایی متفاوت با آنچه در گزینه \fBperm\fP آمده داشته باشد. این بخش باید پیش از اجرای کد توسط برنامه‌ها یا کاربران غیرقابل اعتماد ایجاد شود تا از ارسال داده‌های نادرست توسط مهاجم به \fBchronyd\fP جلوگیری شود. مالک و مجوزهای بخش را می‌توان با دستور \fBipcs \-m\fP بررسی کرد. به همین دلیل، راه‌انداز SHM به نفع SOCK منسوخ شده است. .sp مثال‌ها: .sp .if n .RS 4 .nf .fam C refclock SHM 0 poll 3 refid GPS1 refclock SHM 1:perm=0644 refid GPS2 .fam .fi .if n .RE .RE .sp \fBPHC\fP .RS 4 راه‌انداز ساعت سخت‌افزاری پی‌تی‌پی (PHC). پارامتر، مسیر مطلق به دستگاه ساعت PTP است که باید به‌عنوان منبع زمان استفاده شود، یا نام رابط شبکه‌ای که ساعت PTP آن مورد استفاده قرار می‌گیرد. اگر ساعت به‌جای UTC در TAI نگهداری می‌شود (مثلاً توسط یک دیمن PTP همگام‌سازی می‌شود)، انحراف کنونی UTC\-TAI باید با گزینه \fBoffset\fP مشخص شود. همچنین می‌توان گزینه refclock مربوط به \fBpps\fP را فعال کرد تا با PHC مانند یک ساعت مرجع PPS رفتار شود و تنها از انحراف زیر-ثانیه برای همگام‌سازی استفاده گردد. این راه‌انداز از گزینه‌های زیر پشتیبانی می‌کند: .sp \fBnocrossts\fP .RS 4 این گزینه استفاده از برچسب‌گذاری زمانی متقاطع دقیق (cross timestamping) را غیرفعال می‌کند. .RE .sp \fBextpps\fP .RS 4 این گزینه حالت PPS را فعال می‌کند که در آن ساعت PTP پالس‌های یک سیگنال PPS خارجی متصل به ساعت را برچسب‌گذاری زمانی می‌کند. ساعت نیازی به همگام‌سازی ندارد، اما برای تکمیل نمونه‌های PPS به منبع زمان دیگری نیاز است. توجه داشته باشید که برخی ساعت‌های PTP را نمی‌توان طوری پیکربندی کرد که فقط رویدادهای assert یا clear را برچسب‌گذاری کنند؛ بنابراین استفاده از گزینه \fBwidth\fP برای فیلتر کردن نمونه‌های نادرست PPS ضروری است. .RE .sp \fBpin\fP=\fIindex\fP .RS 4 این گزینه شناسه پایه (pin) فعال برای برچسب‌گذاری زمانی PPS را مشخص می‌کند. اگر PHC دارای پایه‌های قابل‌پیکربندی نباشد (یعنی عملکرد کانال ثابت باشد)، شناسه باید روی \-1 تنظیم شود تا پیکربندی پایه غیرفعال گردد. مقدار پیش‌فرض 0 است. .RE .sp \fBchannel\fP=\fIindex\fP .RS 4 این گزینه شناسه کانال را برای حالت PPS مشخص می‌کند. مقدار پیش‌فرض 0 است. .RE .sp \fBclear\fP .RS 4 این گزینه برچسب‌گذاری زمانی رویدادهای clear (لبه پایین رونده) را به‌جای رویدادهای assert (لبه بالا رونده) در حالت PPS فعال می‌کند. این ویژگی ممکن است با برخی ساعت‌ها کار نکند. .RE .RE .sp .RS 4 .sp مثال‌ها: .sp .if n .RS 4 .nf .fam C refclock PHC /dev/ptp0 poll 0 dpoll \-2 offset \-37 refclock PHC /dev/ptp1:nocrossts poll 3 pps refclock PHC /dev/ptp2:extpps:pin=1 width 0.2 poll 2 .fam .fi .if n .RE .RE .sp \fBRTC\fP .RS 4 راه‌انداز برای استفاده از ساعت زمان واقعی (RTC) به‌عنوان ساعت مرجع. پارامتر، مسیر دستگاه نویسه‌ای RTC است که باید به‌عنوان منبع زمان استفاده شود. این راه‌انداز را نمی‌توان همراه با دستورالعمل‌های \fBrtcfile\fP یا \fBrtcsync\fP استفاده کرد. این راه‌انداز از گزینه زیر پشتیبانی می‌کند: .sp \fButc\fP .RS 4 فرض می‌کند که RTC به‌جای زمان محلی، زمان هماهنگ جهانی (UTC) را نگه می‌دارد. .RE .RE .sp .RS 4 .sp مثال‌ها: .sp .if n .RS 4 .nf .fam C refclock RTC /dev/rtc0:utc .fam .fi .if n .RE .RE .RE .sp .RS 4 دستورالعمل \fBrefclock\fP از گزینه‌های زیر پشتیبانی می‌کند: .sp \fBpoll\fP \fIpoll\fP .RS 4 برچسب‌های زمانی تولیدشده توسط راه‌اندازهای refclock بلافاصله استفاده نمی‌شوند، بلکه ذخیره شده و توسط یک پالایه میانه در بازه نظرسنجی مشخص‌شده با این گزینه پردازش می‌شوند. این مقدار به صورت توانی از ۲ تعریف می‌شود و می‌تواند منفی باشد تا بازه زیر یک ثانیه را مشخص کند. مقدار پیش‌فرض ۴ (۱۶ ثانیه) است. یک بازه کوتاه‌تر به \fBchronyd\fP اجازه می‌دهد تا سریع‌تر به تغییرات بسامد ساعت سیستم واکنش نشان دهد، اما در صورتی که نمونه‌ها دارای لغزش زیادی باشند ممکن است بر دقت آن تأثیر منفی بگذارد. .RE .sp \fBdpoll\fP \fIdpoll\fP .RS 4 برخی راه‌اندازها به رویدادهای خارجی گوش نمی‌دهند و سعی می‌کنند نمونه‌ها را در بازه نظرسنجی خود تولید کنند. این مقدار به صورت توانی از ۲ تعریف می‌شود و می‌تواند منفی باشد تا بازه زیر یک ثانیه را مشخص کند. مقدار پیش‌فرض ۰ (۱ ثانیه) است. .RE .sp \fBrefid\fP \fIrefid\fP .RS 4 این گزینه برای مشخص کردن شناسه مرجع refclock به صورت حداکثر چهار نویسه ASCII استفاده می‌شود. شناسه مرجع پیش‌فرض از سه نویسه اول نام راه‌انداز و شماره refclock تشکیل می‌شود. هر refclock باید یک شناسه مرجع یکتا داشته باشد. .RE .sp \fBlock\fP \fIrefid\fP .RS 4 این گزینه می‌تواند برای قفل کردن یک refclock از نوع PPS به یک refclock دیگر، که با شناسه مرجع آن مشخص می‌شود، استفاده شود. در این حالت، نمونه‌های PPS دریافتی مستقیماً با نمونه‌های خام حاصل از refclock مشخص‌شده جفت می‌شوند. .RE .sp \fBrate\fP \fIrate\fP .RS 4 این گزینه نرخ پالس‌ها در سیگنال PPS را (بر حسب هرتز) تعیین می‌کند. این گزینه نحوه تکمیل پالس‌ها با زمان واقعی را کنترل می‌کند. برای دریافت بیش از یک پالس در ثانیه، باید یک \fBdpoll\fP منفی مشخص شود (\-3 برای یک سیگنال ۵ هرتز). مقدار پیش‌فرض ۱ است. .RE .sp \fBmaxlockage\fP \fIpulses\fP .RS 4 این گزینه حداکثر قدمت نمونه‌ها از refclock مشخص‌شده توسط گزینه \fBlock\fP را بر حسب تعداد پالس‌ها برای جفت شدن با پالس‌ها تعیین می‌کند. افزایش این مقدار زمانی مفید است که نمونه‌ها با نرخی کمتر از پالس‌ها تولید شوند. مقدار پیش‌فرض ۲ است. .RE .sp \fBwidth\fP \fIwidth\fP .RS 4 این گزینه پهنای پالس‌ها را (بر حسب ثانیه) مشخص می‌کند. این گزینه برای پالایش نمونه‌های PPS زمانی استفاده می‌شود که راه‌انداز نمونه‌ها را برای هر دو لبه بالارونده و پایین‌رونده ارائه می‌دهد. توجه داشته باشید که این گزینه حداکثر خطای مجاز منبع زمانی که نمونه‌های PPS را تکمیل می‌کند، کاهش می‌دهد. اگر چرخه کار (duty cycle) قابل پیکربندی است، ۵۰٪ باید ترجیح داده شود تا خطای مجاز بیشینه شود. .RE .sp \fBpps\fP .RS 4 این گزینه \fBchronyd\fP را وادار می‌کند تا با هر refclock (مانند SHM یا PHC) مانند یک refclock از نوع PPS رفتار کند. این می‌تواند زمانی مفید باشد که refclock زمان را با یک انحراف متغیر از تعداد ثانیه‌های کامل ارائه می‌دهد (مانند استفاده از TAI به جای UTC). برای تکمیل نمونه‌های حاصل از refclock به یک منبع زمان دیگر نیاز است. .RE .sp \fBoffset\fP \fIoffset\fP .RS 4 این گزینه می‌تواند برای جبران یک خطای ثابت استفاده شود. افست مشخص‌شده (بر حسب ثانیه) بر تمام نمونه‌های تولیدشده توسط ساعت مرجع اعمال می‌شود. مقدار پیش‌فرض 0.0 است. .RE .sp \fBdelay\fP \fIdelay\fP .RS 4 این گزینه تأخیر NTP منبع را (بر حسب ثانیه) تنظیم می‌کند. نیمی از این مقدار در حداکثر خطای مفروض که در الگوریتم انتخاب منبع استفاده می‌شود، گنجانده می‌شود. افزایش تأخیر برای جلوگیری از عدم وجود اکثریت در انتخاب منبع یا ترجیح دادن منابع دیگر مفید است. مقدار پیش‌فرض 1e\-9 (۱ نانوثانیه) است. .RE .sp \fBstratum\fP \fIstratum\fP .RS 4 این گزینه لایه (stratum) مربوط به NTP را برای refclock تعیین می‌کند. این می‌تواند زمانی مفید باشد که refclock زمان را با لایه‌ای غیر از ۰ ارائه می‌دهد. مقدار پیش‌فرض ۰ است. .RE .sp \fBprecision\fP \fIprecision\fP .RS 4 این گزینه دقت ساعت مرجع را (بر حسب ثانیه) تعیین می‌کند. مقدار پیش‌فرض، دقت تخمینی ساعت سیستم است. .RE .sp \fBmaxdispersion\fP \fIdispersion\fP .RS 4 حداکثر پراکندگی مجاز برای نمونه‌های پالایش‌شده (بر حسب ثانیه). نمونه‌هایی با پراکندگی تخمینی بزرگ‌تر نادیده گرفته می‌شوند. به‌طور پیش‌فرض، این محدودیت غیرفعال است. .RE .sp \fBfilter\fP \fIsamples\fP .RS 4 این گزینه حداکثر تعداد نمونه‌هایی را که می‌توانند در پالایه میانه بین نظرسنجی‌های منبع ذخیره شوند، تعیین می‌کند. این پالایه حدود ۶۰ درصد از نمونه‌های نزدیک‌تر به افست میانه را در یک نمونه ترکیب می‌کند. اگر نمونه‌های بیشتری توسط راه‌انداز در بین نظرسنجی‌ها دریافت شود، قدیمی‌ترین نمونه‌ها دور ریخته می‌شوند. یک نمونه در هر نظرسنجی برای قابل انتخاب بودن منبع کافی است. مقدار پیش‌فرض ۶۴ است. توجه داشته باشید که راه‌انداز PHC دارای پالایش اضافی بر اساس تأخیر خواندن است. .RE .sp \fBprefer\fP .RS 4 این منبع را نسبت به سایر منابع قابل انتخاب بدون گزینه \fBprefer\fP ترجیح می‌دهد. .RE .sp \fBnoselect\fP .RS 4 هرگز این منبع انتخاب نشود. این گزینه برای پایش یا برای منابعی که چندان دقیق نیستند اما با یک refclock از نوع PPS قفل شده‌اند مفید است. .RE .sp \fBtrust\fP .RS 4 فرض می‌شود زمان این منبع همیشه درست است. این منبع در فرایند انتخاب منبع تنها زمانی می‌تواند به عنوان یک falseticker رد شود که منبع دیگری با این گزینه با آن موافق نباشد. .RE .sp \fBrequire\fP .RS 4 الزام می‌کند که حداقل یکی از منابع مشخص‌شده با این گزینه قبل از به‌روزرسانی ساعت قابل انتخاب باشد (یعنی اخیراً در دسترس بوده و یک falseticker نباشد). همراه با گزینه \fBtrust\fP، این می‌تواند برای امکان ترکیب ایمن یک ساعت مرجع قابل اعتماد اما با دقت نه چندان بالا با منابع احراز هویت‌نشده NTP به منظور بهبود دقت ساعت مفید باشد. آنها تنها در صورتی می‌توانند انتخاب شده و برای همگام‌سازی استفاده شوند که با منبع مورد اعتماد و الزامی موافق باشند. .RE .sp \fBtai\fP .RS 4 این گزینه مشخص می‌کند که ساعت مرجع زمان را به جای UTC در قالب TAI نگه می‌دارد و \fBchronyd\fP باید افست آن را بر اساس افست فعلی TAI\-UTC تصحیح کند. دستورالعمل \fBleapsectz\fP یا \fBleapseclist\fP باید همراه با این گزینه استفاده شود و پایگاه‌داده باید به‌روز نگه داشته شود تا این تصحیح همان‌طور که انتظار می‌رود عمل کند. این گزینه برای ساعت‌های مرجع PPS کاربردی ندارد. .RE .sp \fBlocal\fP .RS 4 این گزینه مشخص می‌کند که ساعت مرجع یک ساعت همگام‌نشده است که پایدارتر از ساعت سیستم می‌باشد (مانند TCXO، OCXO یا ساعت اتمی) و باید به عنوان یک استاندارد محلی برای تثبیت ساعت سیستم استفاده شود. این refclock فرایند انتخاب منبع را دور می‌زند. باید حداکثر یک refclock با این گزینه مشخص شده باشد و باید کوتاه‌ترین بازه نظرسنجی را در میان تمام منابع پیکربندی‌شده داشته باشد. .RE .sp \fBminsamples\fP \fIsamples\fP .RS 4 حداقل تعداد نمونه‌های نگه‌داری‌شده برای این منبع را تنظیم می‌کند. این گزینه بر دستورالعمل \fBminsamples\fP ارجحیت دارد. .RE .sp \fBmaxsamples\fP \fIsamples\fP .RS 4 حداکثر تعداد نمونه‌های نگه‌داری‌شده برای این منبع را تنظیم می‌کند. این گزینه بر دستورالعمل \fBmaxsamples\fP ارجحیت دارد. .RE .sp \fBmaxunreach\fP \fIpolls\fP .RS 4 این گزینه حداکثر تعداد نظرسنجی‌هایی را مشخص می‌کند که این منبع می‌تواند در صورت غیرقابل دسترس بودن (یعنی در ۸ نظرسنجی گذشته هیچ نمونه معتبری دریافت نشده باشد)، برای همگام‌سازی در حالت انتخاب‌شده باقی بماند. تنها منابعی که حداقل یک نمونه تازه‌تر از قدیمی‌ترین نمونه تمام منابع در دسترس داشته باشند می‌توانند انتخاب شوند. مقدار پیش‌فرض 100000 است. .RE .RE .sp \fBmanual\fP .RS 4 دستورالعمل \fBmanual\fP پشتیبانی هنگام اجرا را برای دستور \fBsettime\fP در \fBchronyc\fP فعال می‌کند. اگر هیچ دستورالعمل \fBmanual\fP درج نشده باشد، هرگونه تلاش برای استفاده از دستور \fBsettime\fP در \fBchronyc\fP با پیام خطا مواجه خواهد شد. .sp توجه داشته باشید که دستور \fBsettime\fP می‌تواند در زمان اجرا با استفاده از دستور \fBmanual\fP در \fBchronyc\fP فعال شود. (ایده این دو دستور این است که دستور \fBmanual\fP رفتار راه‌انداز ساعت دستی را کنترل می‌کند، در حالی که دستور \fBsettime\fP اجازه می‌دهد نمونه‌های زمان واردشده به‌صورت دستی ارائه شوند.) .RE .sp \fBacquisitionport\fP \fIport\fP .RS 4 به‌طور پیش‌فرض، \fBchronyd\fP به‌عنوان یک کلاینت NTP برای هر درخواست یک سوکت جدید باز می‌کند که پورت مبدأ آن به‌صورت تصادفی توسط سیستم‌عامل انتخاب می‌شود. دستورالعمل \fBacquisitionport\fP می‌تواند برای مشخص کردن پورت مبدأ و استفاده از تنها یک سوکت (به ازای هر خانواده آدرس IPv4 یا IPv6) برای تمام سرورهای پیکربندی‌شده به کار رود. این می‌تواند برای عبور از برخی فایروال‌ها مفید باشد. در صورت عدم ضرورت نباید استفاده شود زیرا تأثیر اندکی بر امنیت کلاینت دارد. اگر روی 0 تنظیم شود، پورت مبدأ سوکت دائمی به‌صورت تصادفی توسط سیستم‌عامل انتخاب خواهد شد. .sp می‌توان آن را روی همان پورتی که توسط سرور NTP استفاده می‌شود (که می‌تواند با دستورالعمل \fBport\fP پیکربندی شود) تنظیم کرد تا فقط از یک سوکت برای تمام بسته‌های NTP استفاده شود. .sp نمونه‌ای از دستورالعمل \fBacquisitionport\fP: .sp .if n .RS 4 .nf .fam C acquisitionport 1123 .fam .fi .if n .RE .sp این کار پورت مبدأ استفاده‌شده برای درخواست‌های کلاینت را به پورت UDP 1123 تغییر می‌دهد. سپس می‌توانید از مدیر فایروال بخواهید که آن پورت را باز کند. .RE .sp \fBbindacqaddress\fP \fIaddress\fP .RS 4 دستورالعمل \fBbindacqaddress\fP یک آدرس IP محلی را مشخص می‌کند که \fBchronyd\fP سوکت‌های کلاینت NTP و NTS\-KE خود را به آن مقید (bind) می‌کند. نحو آن مشابه دستورالعمل‌های \fBbindaddress\fP و \fBbindcmdaddress\fP است. .sp برای هر یک از پروتکل‌های IPv4 و IPv6، تنها یک دستورالعمل \fBbindacqaddress\fP می‌تواند مشخص شود. .RE .sp \fBbindacqdevice\fP \fIinterface\fP .RS 4 دستورالعمل \fBbindacqdevice\fP سوکت‌های کلاینت را به یک دستگاه شبکه مشخص‌شده با نام رابط متصل (bind) می‌کند. این می‌تواند زمانی که آدرس محلی پویا است یا برای فعال‌سازی یک منبع NTP مشخص‌شده با آدرس link\-local IPv6 مفید باشد. این دستورالعمل می‌تواند تنها یک رابط را مشخص کند و فقط در Linux پشتیبانی می‌شود. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C bindacqdevice eth0 .fam .fi .if n .RE .RE .sp \fBdscp\fP \fIpoint\fP .RS 4 دستورالعمل \fBdscp\fP مقدار Differentiated Services Code Point (DSCP) را در بسته‌های NTP ارسالی روی مقدار مشخص‌شده تنظیم می‌کند. این می‌تواند پایداری اندازه‌گیری‌های NTP را در شبکه‌های محلی که سوییچ‌ها یا روترها برای اولویت‌بندی ارسال بسته‌ها با مقادیر DSCP خاص پیکربندی شده‌اند، بهبود بخشد. مقدار پیش‌فرض 0 و حداکثر مقدار 63 است. .sp نمونه‌ای از این دستورالعمل (تنظیم کلاس Expedited Forwarding): .sp .if n .RS 4 .nf .fam C dscp 46 .fam .fi .if n .RE .RE .sp \fBdumpdir\fP \fIdirectory\fP .RS 4 برای محاسبه نرخ جلو یا عقب افتادن زمان، \fBchronyd\fP باید یک تاریخچه اندازه‌گیری را برای هر یک از منابع زمانی که استفاده می‌کند ذخیره کند. .sp تمام سیستم‌های پشتیبانی‌شده، به استثنای macOS 10.12 و پیش از آن، دارای پشتیبانی سیستم‌عامل برای تنظیم نرخ جلو یا عقب افتادن جهت جبران خطاهای شناخته‌شده هستند. (در macOS 10.12 و پیش از آن، \fBchronyd\fP باید چنین قابلیتی را با تغییر تدریجی (slew) دوره‌ای ساعت سیستم به جلو یا عقب به میزان مناسب برای جبران خطای انباشته‌شده از زمان تغییر قبلی شبیه‌سازی کند.) .sp برای چنین سیستم‌هایی، ذخیره تاریخچه اندازه‌گیری در میان راه‌اندازی‌های مجدد \fBchronyd\fP امکان‌پذیر است (با فرض اینکه هیچ تغییری در رفتار ساعت سیستم در زمان عدم اجرای آن ایجاد نشود). دستورالعمل \fBdumpdir\fP شاخه‌ای را تعریف می‌کند که تاریخچه‌های اندازه‌گیری هنگام خروج \fBchronyd\fP یا اجرای دستور \fBdump\fP در \fBchronyc\fP در آن ذخیره می‌شوند. .sp اگر شاخه وجود نداشته باشد، به‌طور خودکار ایجاد می‌شود. .sp گزینه \fB\-r\fP در \fBchronyd\fP بارگیری پرونده‌های dump را هنگام شروع فعال می‌کند. تمام پرونده‌های dump یافت‌شده در شاخه پس از شروع حذف خواهند شد، حتی اگر گزینه \fB\-r\fP وجود نداشته باشد. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C dumpdir /var/run/chrony .fam .fi .if n .RE .sp منبعی که آدرس IP آن \fI1.2.3.4\fP باشد، تاریخچه اندازه‌گیری‌اش در پرونده \fI/var/run/chrony/1.2.3.4.dat\fP ذخیره می‌شود. تاریخچه ساعت‌های مرجع در پرونده‌هایی با نام شناسه مرجع آن‌ها به صورت \fIrefid:XXXXXXXX.dat\fP ذخیره می‌شود. .RE .sp \fBmaxsamples\fP \fIsamples\fP .RS 4 دستورالعمل \fBmaxsamples\fP حداکثر تعداد پیش‌فرض نمونه‌هایی را که \fBchronyd\fP باید برای هر منبع نگه دارد، تعیین می‌کند. این تنظیم می‌تواند برای منابع مجزا در دستورالعمل‌های \fBserver\fP و \fBrefclock\fP بازنویسی شود. مقدار پیش‌فرض 0 است که محدودیت قابل تنظیم را غیرفعال می‌کند. محدوده کاربردی 4 تا 64 است. .sp به‌عنوان یک حالت خاص، تنظیم \fBmaxsamples\fP روی 1 ردیابی فرکانس را غیرفعال می‌کند تا منابع بلافاصله و تنها با یک نمونه قابل انتخاب باشند. این می‌تواند زمانی که \fBchronyd\fP با گزینه \fB\-q\fP یا \fB\-Q\fP شروع می‌شود مفید باشد. .RE .sp \fBminsamples\fP \fIsamples\fP .RS 4 دستورالعمل \fBminsamples\fP حداقل تعداد پیش‌فرض نمونه‌هایی را که \fBchronyd\fP باید برای هر منبع نگه دارد، تعیین می‌کند. این تنظیم می‌تواند برای منابع مجزا در دستورالعمل‌های \fBserver\fP و \fBrefclock\fP بازنویسی شود. مقدار پیش‌فرض 6 است. محدوده کاربردی 4 تا 64 است. .sp مجبور کردن \fBchronyd\fP به نگهداری نمونه‌های بیشتر از حد معمول، نویز را در فرکانس و آفست برآوردشده کاهش می‌دهد، اما پاسخ‌دهی به تغییرات در فرکانس و آفست ساعت را کُند می‌کند. آفست‌ها در گزارش‌های \fBtracking\fP و \fBsourcestats\fP (و پرونده‌های \fItracking.log\fP و \fIstatistics.log\fP) ممکن است کوچک‌تر از آفست‌های واقعی باشند. .RE .sp \fBntsaeads\fP \fIID\fP.\|.\|. .RS 4 این دستورالعمل فهرستی از شناسه‌های الگوریتم‌های Authenticated Encryption with Associated Data (AEAD) فعال‌شده برای احراز هویت NTS در پیام‌های NTP را مشخص می‌کند. الگوریتم‌ها به ترتیب نزولی اولویت مشخص می‌شوند. الگوریتم‌هایی که توسط نسخه نصب‌شده کتابخانه رمزنگاری (Nettle، GnuTLS) پشتیبانی نمی‌شوند نادیده گرفته می‌شوند. .sp شناسه‌های زیر پشتیبانی می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} 15: AES\-SIV\-CMAC\-256 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} 30: AES\-128\-GCM\-SIV .RE .RE .sp .RS 4 .sp فهرست پیش‌فرض شناسه‌ها \fI30 15\fP است. AES\-128\-GCM\-SIV به دلیل کلیدهای کوتاه‌تر نسبت به AES\-SIV\-CMAC\-256 ارجحیت دارد، که باعث کوتاه‌تر شدن کوکی‌های NTS می‌شود و قابلیت اطمینان NTS را در شبکه‌هایی که پیام‌های NTP طولانی‌تر را مسدود یا محدود می‌کنند، بهبود می‌بخشد. .sp شناسه الگوریتم استفاده‌شده برای هر کارساز توسط فرمان \fBauthdata\fP گزارش می‌شود. .sp یک مثال از این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsaeads 15 .fam .fi .if n .RE .sp این فهرست توسط کارساز NTS نیز استفاده می‌شود. .RE .sp \fBntsdumpdir\fP \fIdirectory\fP .RS 4 این دستورالعمل دایرکتوری‌ای را برای کلاینت مشخص می‌کند تا کوکی‌های NTS دریافت‌شده از کارساز را در آن ذخیره کند، به این منظور که هنگام راه‌اندازی مجدد \fBchronyd\fP از برقراری درخواست NTS\-KE جلوگیری شود. کوکی‌ها برای هر منبع NTP به صورت جداگانه در پرونده‌هایی به نام آدرس IP کارساز NTS\-KE (مانند \fI1.2.3.4.nts\fP) ذخیره می‌شوند. به طور پیش‌فرض، کلاینت کوکی‌ها را ذخیره نمی‌کند. .sp اگر دایرکتوری وجود نداشته باشد، به صورت خودکار ایجاد خواهد شد. .sp یک مثال از این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsdumpdir /var/lib/chrony .fam .fi .if n .RE .sp این دایرکتوری توسط کارساز NTS نیز برای ذخیره کلیدها استفاده می‌شود. .RE .sp \fBntsrefresh\fP \fIinterval\fP .RS 4 این دستورالعمل بیشینه بازه زمانی بین دست‌تکانی‌های NTS\-KE (به ثانیه) را برای تازه‌سازی کلیدهای اصالت‌سنجی بسته‌های NTP مشخص می‌کند. مقدار پیش‌فرض 2419200 (۴ هفته) و بیشینه مقدار 2^31\-1 (۶۸ سال) است. .sp این بازه باید طولانی‌تر از بازه‌های نظرسنجی تمام منابع NTP پیکربندی‌شده با استفاده از NTS باشد، در غیر این صورت منبع با بازه نظرسنجی طولانی‌تر در هر نظرسنجی کلیدها را تازه‌سازی می‌کند و هیچ بسته NTP مبادله نخواهد شد. .RE .sp \fBntstrustedcerts\fP [\fIset\-ID\fP] \fIfile\fP|\fIdirectory\fP .RS 4 این دستورالعمل پرونده یا دایرکتوری حاوی گواهی‌های مورد اعتماد (در قالب PEM) را مشخص می‌کند که برای اعتبارسنجی گواهی‌های کارسازهای NTS\-KE لازم هستند، مانند گواهی‌های مراجع صدور گواهی (CA) معتمد یا گواهی‌های خودامضاشده کارسازها. .sp آرگومان اختیاری \fIset\-ID\fP عددی در محدوده 0 تا 2^32\-1 است که مجموعه گواهی‌هایی را انتخاب می‌کند که گواهی‌های پرونده یا دایرکتوری مشخص‌شده به آن اضافه می‌شوند. شناسه پیش‌فرض 0 است، که مجموعه‌ای حاوی CAهای مورد اعتماد پیش‌فرض سیستم است (مگر اینکه دستورالعمل \fBnosystemcert\fP موجود باشد). تمام مجموعه‌های دیگر به طور پیش‌فرض خالی هستند. یک مجموعه گواهی می‌تواند برای اعتبارسنجی یک کارساز NTS با گزینه \fBcertset\fP در دستورالعمل \fBserver\fP یا \fBpool\fP انتخاب شود. .sp این دستورالعمل می‌تواند چندین بار برای تعیین یک یا چند مجموعه از گواهی‌های مورد اعتماد، که هرکدام شامل گواهی‌هایی از یک یا چند پرونده و/یا دایرکتوری هستند، استفاده شود. .sp در صورت تغییر گواهی‌ها (مثلاً پس از تمدید)، راه‌اندازی مجدد \fBchronyd\fP برای بارگذاری مجدد آن‌ها لازم نیست. .sp یک مثال: .sp .if n .RS 4 .nf .fam C ntstrustedcerts /etc/pki/nts/ca1.example.net.crt ntstrustedcerts 1 /etc/pki/nts/ca2.example.net.crt ntstrustedcerts 1 /etc/pki/nts/ca3.example.net.crt ntstrustedcerts 2 /etc/pki/nts/ntp2.example.net.crt .fam .fi .if n .RE .RE .sp \fBnosystemcert\fP .RS 4 این دستورالعمل CAهای مورد اعتماد پیش‌فرض سیستم را غیرفعال می‌کند. تنها گواهی‌های مشخص‌شده توسط دستورالعمل \fBntstrustedcerts\fP مورد اعتماد خواهند بود. .RE .sp \fBnocerttimecheck\fP \fIlimit\fP .RS 4 این دستورالعمل بررسی زمان‌های فعال‌سازی و انقضای گواهی‌ها را برای تعداد مشخص‌شده‌ای از به‌روزرسانی‌های ساعت غیرفعال می‌کند. این دستورالعمل به سازوکار اصالت‌سنجی NTS اجازه می‌دهد تا در رایانه‌هایی که با زمان نادرست شروع به کار می‌کنند (مثلاً به دلیل نداشتن RTC یا باتری پشتیبان) استفاده شود. غیرفعال کردن بررسی‌های زمان پیامدهای امنیتی مهمی دارد و باید فقط به عنوان آخرین راه‌حل، ترجیحاً با حداقل تعداد گواهی‌های مورد اعتماد استفاده شود. مقدار پیش‌فرض 0 است، به این معنی که بررسی‌های زمان همیشه فعال هستند. .sp یک مثال از این دستورالعمل: .sp .if n .RS 4 .nf .fam C nocerttimecheck 1 .fam .fi .if n .RE .sp این کار بررسی‌های زمان را تا زمانی که ساعت برای بار اول به‌روزرسانی شود غیرفعال می‌کند، با این فرض که اولین به‌روزرسانی ساعت را تصحیح کرده و بررسی‌های بعدی می‌توانند با زمان درست کار کنند. .RE .sp \fBrefresh\fP \fIinterval\fP .RS 4 این دستورالعمل حداقل بازه زمانی (به ثانیه) بین تازه‌سازی آدرس‌های IP منابع NTP مشخص‌شده با نام میزبان را تعیین می‌کند. اگر نام میزبان دیگر به آدرس در حال استفاده حل نشود، با یکی از آدرس‌های جدید جایگزین می‌شود تا از استفاده از کارسازی که دیگر برای سرویس‌دهی در نظر گرفته نشده جلوگیری شود، حتی اگر همچنان به درستی پاسخ دهد و به عنوان دسترس‌ناپذیر جایگزین نشود. در هر زمان تنها یک منبع تازه‌سازی می‌شود و فقط زمانی که پاسخی معتبر دریافت شود (منابع دسترس‌ناپذیر به صورت مستقل جایگزین می‌شوند). مقدار پیش‌فرض 1209600 (۲ هفته) و بیشینه مقدار 2^31\-1 (۶۸ سال) است. مقدار 0 تازه‌سازی دوره‌ای را غیرفعال می‌کند. .sp فرمان \fBrefresh\fP می‌تواند برای تازه‌سازی فوری تمام منابع استفاده شود. .RE .SS "انتخاب منبع (Source selection)" .sp \fBauthselectmode\fP \fImode\fP .RS 4 منابع NTP می‌توانند با گزینه \fBkey\fP یا \fBnts\fP مشخص شوند تا اصالت‌سنجی به منظور محدود کردن اثر حملات مرد میانی (man\-in\-the\-middle) فعال شود. مهاجمان می‌توانند بسته‌های NTP را حذف کنند یا به تاخیر بیندازند (تا سقف محدودیت‌های \fBmaxdelay\fP و \fBmaxdistance\fP)، اما نمی‌توانند برچسب‌های زمانی موجود در بسته‌ها را تغییر دهند. این حمله تنها می‌تواند یک انحراف یا پرش محدود ایجاد کند، و همچنین باعث شود ساعت تندتر یا کندتر از زمان واقعی کار کند (تا دو برابر محدودیت \fBmaxdrift\fP). .sp هنگامی که اصالت‌سنجی برای یک منبع NTP فعال است، مهم است که منابع NTP بدون اصالت‌سنجی که ممکن است در حمله مورد سوءاستفاده قرار گیرند غیرفعال شوند، مثلاً اگر فقط از طریق یک شبکه مورد اعتماد در دسترس نباشند. به عنوان جایگزین، انتخاب منبع می‌تواند با گزینه‌های \fBrequire\fP و \fBtrust\fP پیکربندی شود تا همگام‌سازی با منابع غیراصالت‌سنجی‌شده تنها در صورتی انجام شود که آن‌ها با منابع اصالت‌سنجی‌شده هم‌نظر باشند و احتمالاً اثر مثبتی بر دقت ساعت داشته باشند. توجه داشته باشید که در این حالت اثر حمله بیشتر است. مهاجمان نمی‌توانند پرش یا انحراف دلخواه بزرگی ایجاد کنند، اما کنترل بیشتری روی بسامد ساعت دارند و می‌توانند باعث شوند \fBchronyd\fP اطلاعات نادرست گزارش دهد، مانند root delay و پراکندگی (dispersion) به مراتب کمتر. .sp این دستورالعمل گزینه‌های انتخاب پیش‌فرض را برای منابع اصالت‌سنجی‌شده و غیراصالت‌سنجی‌شده تعیین می‌کند تا پیکربندی با پرونده پیکربندی و فرمان‌های \fBchronyc\fP ساده‌تر شود. این دستورالعمل یک خط‌مشی برای اصالت‌سنجی تنظیم می‌کند. .sp منابع مشخص‌شده با گزینه \fBnoselect\fP نادیده گرفته می‌شوند (نه به عنوان اصالت‌سنجی‌شده و نه غیراصالت‌سنجی‌شده شمرده می‌شوند)، و آن‌ها همیشه فقط گزینه‌های انتخاب مشخص‌شده در پیکربندی را دارند. .sp چهار حالت وجود دارد: .sp \fBrequire\fP .RS 4 در این حالت، اصالت‌سنجی برای منابع NTP اکیداً الزامی است. اگر هر منبع NTP بدون اصالت‌سنجی مشخص شود، به طور خودکار گزینه \fBnoselect\fP را دریافت می‌کند تا از انتخاب آن برای همگام‌سازی جلوگیری شود. .RE .sp \fBprefer\fP .RS 4 در این حالت، اصالت‌سنجی اختیاری و ارجح است. اگر حداقل برای یک منبع NTP فعال باشد، تمام منابع NTP بدون اصالت‌سنجی گزینه \fBnoselect\fP را دریافت خواهند کرد. .RE .sp \fBmix\fP .RS 4 در این حالت، اصالت‌سنجی اختیاری است و همگام‌سازی با ترکیبی از منابع NTP اصالت‌سنجی‌شده و بدون اصالت‌سنجی مجاز است. اگر هم منابع NTP اصالت‌سنجی‌شده و هم بدون اصالت‌سنجی مشخص شوند، تمام منابع NTP اصالت‌سنجی‌شده و ساعت‌های مرجع گزینه‌های \fBrequire\fP و \fBtrust\fP را دریافت می‌کنند تا از همگام‌سازی با منابع NTP بدون اصالت‌سنجی در صورتی که با اکثریت منابع اصالت‌سنجی‌شده و ساعت‌های مرجع توافق نداشته باشند جلوگیری شود. این حالت پیش‌فرض است. .RE .sp \fBignore\fP .RS 4 در این حالت، اصالت‌سنجی در انتخاب منبع نادیده گرفته می‌شود. تمام منابع فقط گزینه‌های انتخابی را خواهند داشت که در پرونده پیکربندی یا فرمان \fBchronyc\fP مشخص شده بودند. این رفتار \fBchronyd\fP در نسخه‌های پیش از 4.0 بود. .RE .RE .sp .RS 4 .sp به عنوان مثال، پیکربندی زیر با استفاده از حالت پیش‌فرض \fBmix\fP: .sp .if n .RS 4 .nf .fam C server ntp1.example.net nts server ntp2.example.net nts server ntp3.example.net refclock SOCK /var/run/chrony.ttyS0.sock .fam .fi .if n .RE .sp معادل پیکربندی زیر با استفاده از حالت \fBignore\fP است: .sp .if n .RS 4 .nf .fam C authselectmode ignore server ntp1.example.net nts require trust server ntp2.example.net nts require trust server ntp3.example.net refclock /var/run/chrony.ttyS0.sock require trust .fam .fi .if n .RE .RE .sp \fBcombinelimit\fP \fIlimit\fP .RS 4 هنگامی که \fBchronyd\fP چندین منبع در دسترس برای همگام‌سازی دارد، باید یک منبع را به عنوان منبع همگام‌سازی انتخاب کند. با این حال، آفست‌ها و فرکانس‌های اندازه‌گیری‌شده ساعت سیستم نسبت به سایر منابع می‌توانند با منبع انتخاب‌شده ترکیب شوند تا دقت ساعت سیستم بهبود یابد. .sp دستورالعمل \fBcombinelimit\fP تعیین می‌کند کدام منابع در الگوریتم ترکیب گنجانده شوند. فاصله همگام‌سازی آن‌ها باید کوتاه‌تر از فاصله منبع انتخاب‌شده ضرب در مقدار حد (limit) باشد. همچنین، فرکانس‌های اندازه‌گیری‌شده آن‌ها باید نزدیک به فرکانس منبع انتخاب‌شده باشد. اگر منبع انتخاب‌شده با گزینه \fBprefer\fP مشخص شده باشد، تنها می‌تواند با سایر منابع مشخص‌شده با این گزینه ترکیب شود. .sp به‌طور پیش‌فرض، مقدار حد 3 است. تنظیم حد روی 0 الگوریتم ترکیب منابع را عملاً غیرفعال می‌کند و تنها از منبع انتخاب‌شده برای کنترل ساعت سیستم استفاده خواهد شد. .RE .sp \fBmaxdistance\fP \fIdistance\fP .RS 4 دستورالعمل \fBmaxdistance\fP حداکثر فاصله ریشه (root distance) یک منبع را برای پذیرفته شدن جهت همگام‌سازی ساعت تعیین می‌کند. منابعی که فاصله‌ای بیشتر از مقدار مشخص‌شده دارند رد خواهند شد. این فاصله حداکثر خطای منبع را تخمین می‌زند و شامل پراکندگی ریشه (root dispersion) و نصف تاخیر ریشه (root delay یا زمان رفت‌وبرگشت) انباشته‌شده در مسیر به منبع اولیه است. .sp به‌طور پیش‌فرض، حداکثر فاصله ریشه ۳ ثانیه است. .sp تنظیم \fBmaxdistance\fP روی مقداری بزرگ‌تر می‌تواند برای مجاز کردن همگام‌سازی با سروری مفید باشد که اتصال بسیار نادری به منابع خود دارد و می‌تواند پراکندگی زیادی بین به‌روزرسانی‌های ساعت خود انباشته کند. .RE .sp \fBmaxjitter\fP \fIjitter\fP .RS 4 دستورالعمل \fBmaxjitter\fP حداکثر ژیتر مجاز منابع را برای رد نشدن توسط الگوریتم انتخاب منبع تعیین می‌کند. این کار از همگام‌سازی با منابعی که فاصله ریشه کمی دارند اما زمان آن‌ها بسیار متغیر است جلوگیری می‌کند. .sp به‌طور پیش‌فرض، حداکثر ژیتر ۱ ثانیه است. .RE .sp \fBminsources\fP \fIsources\fP .RS 4 دستورالعمل \fBminsources\fP حداقل تعداد منابعی را که باید در الگوریتم انتخاب منبع به عنوان قابل انتخاب در نظر گرفته شوند پیش از به‌روزرسانی ساعت محلی، تعیین می‌کند. مقدار پیش‌فرض ۱ است. .sp تنظیم این گزینه روی عددی بزرگ‌تر می‌تواند برای بهبود قابلیت اطمینان استفاده شود. منابع بیشتری باید با یکدیگر توافق داشته باشند، و زمانی که تنها یک منبع (که ممکن است زمان نادرست ارائه دهد) در دسترس باشد، ساعت به‌روزرسانی نخواهد شد. .RE .sp \fBreselectdist\fP \fIdistance\fP .RS 4 هنگامی که \fBchronyd\fP یک منبع همگام‌سازی را از بین منابع موجود انتخاب می‌کند، منبعی با کوتاه‌ترین فاصله همگام‌سازی را ترجیح می‌دهد. با این حال، برای جلوگیری از انتخاب مجدد مکرر در صورت وجود منابعی با فاصله مشابه، یک فاصله ثابت به فاصله منابعی که در حال حاضر انتخاب نشده‌اند اضافه می‌شود. این مقدار می‌تواند با دستورالعمل \fBreselectdist\fP تنظیم شود. به‌طور پیش‌فرض، این فاصله ۱۰۰ میکروثانیه است. .RE .sp \fBstratumweight\fP \fIdistance\fP .RS 4 دستورالعمل \fBstratumweight\fP تعیین می‌کند به ازای هر stratum چه مقدار فاصله باید به فاصله همگام‌سازی اضافه شود، هنگامی که \fBchronyd\fP منبع همگام‌سازی را از بین منابع موجود انتخاب می‌کند. .sp به‌طور پیش‌فرض، این وزن 0.001 ثانیه است. این بدان معناست که stratum منابع در فرآیند انتخاب تنها زمانی اهمیت دارد که تفاوت بین فاصله‌ها در حد میلی‌ثانیه باشد. .RE .SS "ساعت سیستم (System clock)" .sp \fBclockprecision\fP \fIprecision\fP .RS 4 دستورالعمل \fBclockprecision\fP دقت ساعت سیستم را (به ثانیه) مشخص می‌کند. این مقدار توسط \fBchronyd\fP برای تخمین حداقل نویز در اندازه‌گیری‌های NTP و تصادفی‌سازی بیت‌های مرتبه پایین برچسب‌های زمانی در پاسخ‌های NTP استفاده می‌شود. به‌طور پیش‌فرض، دقت در زمان راه‌اندازی به عنوان حداقل زمان لازم برای خواندن ساعت اندازه‌گیری می‌شود. .sp مقدار اندازه‌گیری‌شده در اکثر موارد به خوبی کار می‌کند. با این حال، معمولاً دقت را بیش از حد برآورد می‌کند و می‌تواند به سرعت CPU حساس باشد که ممکن است برای صرفه‌جویی در مصرف انرژی در طول زمان تغییر کند. در برخی موارد با یک منبع ساعت با دقت بالا (مانند Time Stamp Counter مربوط به CPU) و برچسب‌گذاری زمانی سخت‌افزاری، تنظیم دقت روی سرور با یک مقدار کوچک‌تر می‌تواند پایداری اندازه‌گیری‌های NTP کلاینت‌ها را بهبود بخشد. دقت سرور در کلاینت‌ها توسط دستور \fBntpdata\fP گزارش می‌شود. .sp یک مثال برای تنظیم دقت روی ۸ نانوثانیه: .sp .if n .RS 4 .nf .fam C clockprecision 8e\-9 .fam .fi .if n .RE .RE .sp \fBcorrtimeratio\fP \fIratio\fP .RS 4 هنگامی که \fBchronyd\fP برای اصلاح آفست، ساعت سیستم را شیب‌دهی (slew) می‌کند، نرخی که با آن شیب‌دهی انجام می‌شود به خطای فرکانس ساعت اضافه می‌شود. در تمام سیستم‌های پشتیبانی‌شده، به استثنای macOS 12 و نسخه‌های قبل‌تر، این نرخ قابل کنترل است. .sp دستورالعمل \fBcorrtimeratio\fP نسبت بین مدت زمانی که ساعت برای یک تصحیح میانگین طبق تاریخچه منبع شیب‌دهی می‌شود و بازه‌ای که در آن تصحیحات انجام می‌شود (معمولاً بازه نظرسنجی NTP) را تعیین می‌کند. تصحیحات بزرگ‌تر از میانگین زمان کمتری می‌برند و تصحیحات کوچک‌تر زمان بیشتری نیاز دارند؛ مقدار تصحیح و زمان تصحیح نسبت معکوس دارند. .sp افزایش \fBcorrtimeratio\fP خطای فرکانس کلی ساعت سیستم را بهبود می‌بخشد، اما خطای زمانی کلی را افزایش می‌دهد زیرا تصحیحات زمان بیشتری می‌برند. .sp به‌طور پیش‌فرض، این نسبت روی ۳ تنظیم شده است، دقت زمانی ساعت بر دقت فرکانس آن ترجیح داده می‌شود. .sp حداکثر نرخ شیب‌دهی مجاز را می‌توان با دستورالعمل \fBmaxslewrate\fP تعیین کرد. تصحیح باقی‌مانده فعلی در گزارش \fBtracking\fP به صورت مقدار \fBSystem time\fP نشان داده می‌شود. .RE .sp \fBdriftfile\fP \fIfile\fP [\fBinterval\fP \fIinterval\fP] .RS 4 یکی از فعالیت‌های اصلی برنامه \fBchronyd\fP تعیین نرخی است که ساعت سیستم نسبت به زمان واقعی جلو می‌افتد یا عقب می‌ماند. .sp هر زمان که \fBchronyd\fP مقدار جدیدی از نرخ پیشی‌گرفتن یا عقب‌ماندن را محاسبه می‌کند، مطلوب است که آن را در جایی ثبت کند. این کار به \fBchronyd\fP اجازه می‌دهد تا هر زمان که بازراه‌اندازی می‌شود، جبران ساعت سیستم را با همان نرخ آغاز کند، حتی قبل از اینکه فرصت پیدا کند در طول اجرای جدید به تخمین به همان اندازه خوبی از نرخ دست یابد. (این فرآیند می‌تواند حداقل چندین دقیقه طول بکشد.) .sp دستورالعمل \fBdriftfile\fP اجازه می‌دهد پرونده‌ای مشخص شود که \fBchronyd\fP می‌تواند اطلاعات نرخ را در آن ذخیره کند. دو پارامتر در پرونده ثبت می‌شود. اولی نرخی است که ساعت سیستم زمان کسب می‌کند یا از دست می‌دهد، که بر حسب قسمت در میلیون (ppm) بیان می‌شود و مقادیر مثبت نشان‌دهنده جلو افتادن هستند. بنابراین، مقدار 100.0 نشان می‌دهد که وقتی ساعت سیستم یک ثانیه جلو رفته است، در واقعیت ۱۰۰ میکروثانیه جلو افتاده است (بنابراین زمان واقعی تنها ۹۹۹۹۰۰ میکروثانیه پیش رفته است). دومین پارامتر تخمینی از کران خطای اطراف مقدار اول است که نرخ واقعی در آن قرار دارد. .sp گزینه \fBinterval\fP حداقل بازه بین به‌روزرسانی‌های پرونده را به ثانیه مشخص می‌کند. پرونده تنها هنگام به‌روزرسانی ساعت محلی نوشته می‌شود. بازه پیش‌فرض ۳۶۰۰ ثانیه است. .sp یک مثال از دستورالعمل driftfile: .sp .if n .RS 4 .nf .fam C driftfile /var/lib/chrony/drift .fam .fi .if n .RE .RE .sp \fBfallbackdrift\fP \fImin\-interval\fP \fImax\-interval\fP .RS 4 دریفت‌های جایگزین (Fallback drifts) میانگین‌های بلندمدت رانش ساعت سیستم هستند که در بازه‌های افزایشیِ نمایی محاسبه می‌شوند. آن‌ها برای جلوگیری از انحراف سریع از زمان واقعی استفاده می‌شوند، زمانی که ساعت برای مدت طولانی‌تری به‌روزرسانی نشده باشد و قبل از توقف به‌روزرسانی‌ها یک انحراف کوتاه‌مدت در رانش وجود داشته باشد. .sp این دستورالعمل کمینه و بیشینه بازه زمانی پس از آخرین به‌روزرسانی ساعت را برای تغییر بین مقادیر انحراف پشتیبان مشخص می‌کند. این مقادیر به‌صورت توانی از ۲ (به ثانیه) تعریف می‌شوند. نحو دستور به شرح زیر است: .sp .if n .RS 4 .nf .fam C fallbackdrift 16 19 .fam .fi .if n .RE .sp در این مثال، کمینه بازه ۱۶ (۱۸ ساعت) و بیشینه بازه ۱۹ (۶ روز) است. بسامد ساعت سیستم ۱۸ ساعت پس از آخرین به‌روزرسانی ساعت روی اولین مقدار پشتیبان، پس از ۳۶ ساعت روی دومین مقدار و به همین ترتیب تنظیم خواهد شد. این ممکن است تنظیم مناسبی برای پوشش تغییرات بسامد ناشی از نوسانات دمایی روزانه و هفتگی باشد. هنگامی که بسامد روی یک مقدار پشتیبان تنظیم شود، وضعیت ساعت به \(oqNot synchronised\(cq تغییر خواهد کرد. .sp به‌طور پیش‌فرض (یا اگر بیشینه یا کمینه مشخص‌شده ۰ باشد)، هیچ مقدار پشتیبانی استفاده نمی‌شود و بسامد ساعت تنها با اندازه‌گیری‌های جدید از منابع NTP، ساعت‌های مرجع، یا ورودی دستی تغییر می‌کند. .RE .sp \fBleapsecmode\fP \fImode\fP .RS 4 ثانیه کبیسه تنظیمی است که گهگاه بر UTC اعمال می‌شود تا آن را به زمان میانگین خورشیدی نزدیک نگه دارد. هنگام درج ثانیه کبیسه، آخرین روز ژوئن یا دسامبر یک ثانیه اضافی 23:59:60 دارد. .sp برای ساعت‌های رایانه‌ای این یک مشکل است. زمان Unix به‌صورت تعداد ثانیه‌های سپری‌شده از 00:00:00 UTC در ۱ ژانویه ۱۹۷۰ بدون ثانیه‌های کبیسه تعریف شده است. ساعت سیستم نمی‌تواند زمان 23:59:60 داشته باشد، بر اساس تعریف هر دقیقه ۶۰ ثانیه و هر روز ۸۶۴۰۰ ثانیه دارد. ثانیه کبیسه درج‌شده نادیده گرفته می‌شود و ساعت ناگهان یک ثانیه از UTC جلو می‌افتد. دستورالعمل \fBleapsecmode\fP نحوه تصحیح این خطا را مشخص می‌کند. چهار گزینه وجود دارد: .sp \fBsystem\fP .RS 4 هنگام درج ثانیه کبیسه، کرنل با رسیدن ساعت به 00:00:00 UTC ساعت سیستم را با پرش یک ثانیه به عقب بازمی‌گرداند. هنگام حذف ثانیه کبیسه، با رسیدن ساعت به 23:59:59 UTC آن را با پرش یک ثانیه به جلو می‌برد. این حالت پیش‌فرض در زمانی است که گرداننده سیستم از ثانیه‌های کبیسه پشتیبانی می‌کند (یعنی تمام سیستم‌های پشتیبانی‌شده به استثنای macOS 12 و نسخه‌های پیشین). .RE .sp \fBstep\fP .RS 4 مشابه حالت \fBsystem\fP است، با این تفاوت که پرش ساعت به جای کرنل توسط \fBchronyd\fP انجام می‌شود. برای جلوگیری از اشکالات موجود در کد کرنل که در حالت \fBsystem\fP اجرا می‌شوند مفید است. این حالت پیش‌فرض در زمانی است که گرداننده سیستم از ثانیه‌های کبیسه پشتیبانی نمی‌کند. .RE .sp \fBslew\fP .RS 4 ساعت با تنظیم تدریجی (slewing) تصحیح می‌شود که در زمان درج ثانیه کبیسه از 00:00:00 UTC و در زمان حذف ثانیه کبیسه از 23:59:59 UTC آغاز می‌گردد. زمانی که برنامه‌های در حال اجرا روی سیستم به جهش‌های زمانی حساس هستند و خارج از تنظیم بودن ساعت برای مدتی طولانی‌تر قابل قبول است، این حالت می‌تواند نسبت به حالت‌های \fBsystem\fP و \fBstep\fP ترجیح داده شود. در Linux با مقدار پیش‌فرض \fBmaxslewrate\fP این تصحیح ۱۲ ثانیه طول می‌کشد. .RE .sp \fBignore\fP .RS 4 هیچ تصحیحی برای ثانیه کبیسه بر روی ساعت اعمال نمی‌شود. ساعت بعداً در کارکرد عادی با انجام اندازه‌گیری‌های جدید و لحاظ شدن خطای یک‌ثانیه‌ای در آفست برآوردی تصحیح خواهد شد. این گزینه به‌ویژه زمانی کاربرد دارد که چندین نمونه از \fBchronyd\fP روی سیستم در حال اجرا باشند؛ یکی ساعت سیستم را کنترل می‌کند و سایرین با گزینه \fB\-x\fP اجرا شده‌اند که باید برای تصحیح ساعت سیستم به نمونه اول تکیه کرده و آن را در تصحیح ساعت NTP خود که روی ساعت سیستم اجرا می‌شود نادیده بگیرند. .RE .RE .sp .RS 4 .sp هنگام ارائه زمان به کارخواهان NTP که امکان پیکربندی آن‌ها برای تصحیح ساعت با تنظیم تدریجی در ثانیه کبیسه وجود ندارد، یا کارخواهانی که با نرخ‌های متفاوتی تصحیح می‌کنند در حالی که نزدیک نگه‌داشتن زمان آن‌ها به یکدیگر ضروری است، حالت \fBslew\fP می‌تواند با دستورالعمل \fBsmoothtime\fP ترکیب شود تا leap smear سرور فعال گردد. .sp هنگام پخش تدریجی ثانیه کبیسه (leap smear)، وضعیت کبیسه روی سرور پنهان می‌شود و زمان ارائه‌شده به جای پرش، با تنظیم تدریجی به‌آرامی تصحیح می‌گردد. کارخواهان به هیچ پیکربندی خاصی نیاز ندارند زیرا از وجود ثانیه کبیسه مطلع نمی‌شوند و از زمان سرور پیروی می‌کنند که در نهایت آن‌ها را به UTC بازمی‌گرداند. باید دقت شود که آن‌ها برای همگام‌سازی فقط از سرورهای NTP استفاده کنند که ثانیه کبیسه را دقیقاً به همان روش پخش تدریجی می‌کنند. .sp این ویژگی باید با احتیاط استفاده شود، زیرا سرور عمداً بهترین برآورد خود از زمان واقعی را ارائه نمی‌دهد. .sp پیکربندی توصیه‌شده برای فعال‌سازی leap smear سرور عبارت است از: .sp .if n .RS 4 .nf .fam C leapsecmode slew maxslewrate 1000 smoothtime 400 0.001024 leaponly .fam .fi .if n .RE .sp دستورالعمل اول برای غیرفعال‌سازی پرش ساعت ضروری است که می‌توانست فرایند هموارسازی را بازنشانی کند. دستورالعمل دوم نرخ تنظیم تدریجی ساعت محلی را به 1000 ppm محدود می‌کند که پایداری فرایند هموارسازی را در زمان شروع و پایان تصحیح محلی بهبود می‌بخشد. دستورالعمل سوم فرایند هموارسازی زمان سرور را فعال می‌کند. این فرایند با رسیدن ساعت به 00:00:00 UTC آغاز شده و تکمیل آن ۶۲۵۰۰ ثانیه (حدود ۱۷.۳۶ ساعت) طول خواهد کشید. آفست بسامد به میزان 0.001024 ppm بر ثانیه تغییر خواهد کرد و پس از ۳۱۲۵۰ ثانیه به بیشینه 32 ppm می‌رسد. گزینه \fBleaponly\fP مدت زمان leap smear را ثابت می‌کند و به کارخواهان اجازه می‌دهد با چند سرور leap smear با پیکربندی یکسان به‌طور ایمن همگام شوند. .sp مدت زمان leap smear را می‌توان از مقدار wander مشخص‌شده محاسبه کرد: .sp .if n .RS 4 .nf .fam C duration = sqrt(4 / wander) .fam .fi .if n .RE .RE .sp \fBleapsectz\fP \fItimezone\fP .RS 4 این دستورالعمل یک منطقه زمانی را در پایگاه‌داده مناطق زمانی سیستم مشخص می‌کند که \fBchronyd\fP می‌تواند از آن برای تعیین زمان وقوع ثانیه کبیسه بعدی و آفست فعلی میان TAI و UTC استفاده کند. این دستورالعمل به‌طور دوره‌ای معتبر بودن زمان‌های 23:59:59 و 23:59:60 در آن منطقه زمانی را بررسی می‌کند. این ویژگی معمولاً با منطقه زمانی \fIright/UTC\fP کار می‌کند. .sp هنگام اعلام ثانیه کبیسه، منطقه زمانی باید حداقل ۱۲ ساعت پیش از ثانیه کبیسه به‌روزرسانی شود. نیازی به راه‌اندازی مجدد \fBchronyd\fP نیست. .sp این دستورالعمل برای ساعت‌های مرجع و سایر منابع زمانی مفید است که ثانیه‌های کبیسه را اعلام نمی‌کنند، یا آن را دیرتر از موعدی اعلام می‌کنند که سرور NTP بتواند به کارخواهان خود فوروارد کند. کارخواهان سرورهای leap smear نباید از این دستورالعمل استفاده کنند. .sp همچنین زمانی کاربرد دارد که ساعت سیستم نیازمند آفست صحیح TAI\-UTC باشد. توجه داشته باشید که آفست تنها زمانی تنظیم می‌شود که ثانیه‌های کبیسه توسط کرنل مدیریت شوند، یعنی \fBleapsecmode\fP روی \fBsystem\fP تنظیم شده باشد. .sp منطقه زمانی مشخص‌شده به عنوان منبع انحصاری اطلاعات درباره ثانیه‌های کبیسه استفاده نمی‌شود. اگر اکثریت منابع زمانی در آخرین روز ژوئن یا دسامبر اعلام کنند که یک ثانیه کبیسه باید درج یا حذف شود، حتی اگر در منطقه زمانی گنجانده نشده باشد نیز پذیرفته خواهد شد. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C leapsectz right/UTC .fam .fi .if n .RE .sp دستور شل زیر بررسی می‌کند که آیا منطقه زمانی حاوی ثانیه‌های کبیسه است و می‌تواند با این دستورالعمل استفاده شود: .sp .if n .RS 4 .nf .fam C $ TZ=right/UTC date \-d \*(AqDec 31 2008 23:59:60\*(Aq Wed Dec 31 23:59:60 UTC 2008 .fam .fi .if n .RE .RE .sp \fBleapseclist\fP \fIfile\fP .RS 4 این دستورالعمل مسیر فایلی شامل فهرستی از ثانیه‌های کبیسه و آفست‌های TAI\-UTC در قالب NIST/IERS را مشخص می‌کند. توصیه می‌شود از فایل \fIleap\-seconds.list\fP استفاده شود که معمولاً همراه با پایگاه‌داده مناطق زمانی سیستم ارائه می‌شود. رفتار این دستورالعمل در سایر موارد معادل \fBleapsectz\fP است. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C leapseclist /usr/share/zoneinfo/leap\-seconds.list .fam .fi .if n .RE .RE .sp \fBmakestep\fP \fIthreshold\fP \fIlimit\fP .RS 4 به‌طور معمول \fBchronyd\fP باعث می‌شود سیستم با کند کردن یا تند کردن ساعت بر حسب نیاز، هرگونه آفست زمانی را به‌صورت تدریجی تصحیح کند. در شرایط خاص، مثلاً هنگام راه‌اندازی اولیه \fBchronyd\fP، ساعت سیستم ممکن است چنان دچار انحراف شده باشد که این فرایند تصحیح تدریجی زمان بسیار زیادی برای اصلاح ساعت سیستم ببرد. .sp این دستورالعمل \fBchronyd\fP را مجبور می‌کند که در صورت بزرگ‌تر بودن میزان تنظیم از مقدار آستانه، ساعت سیستم را جهش (step) دهد، اما تنها در صورتی که تعداد به‌روزرسانی‌های ساعت از زمان شروع \fBchronyd\fP از حد مشخص‌شده بیشتر نباشد. یک مقدار منفی این محدودیت را غیرفعال می‌کند. .sp در بیشتر سیستم‌ها، مطلوب است که ساعت سیستم فقط هنگام بوت، پیش از شروع برنامه‌هایی که متکی به پیشروی یکنواخت زمان به جلو هستند، جهش داده شود. .sp نمونه‌ای از استفاده این دستورالعمل: .sp .if n .RS 4 .nf .fam C makestep 0.1 3 .fam .fi .if n .RE .sp این مورد در صورتی که تنظیم بزرگ‌تر از 0.1 ثانیه باشد، ساعت سیستم را جهش می‌دهد، اما فقط در سه به‌روزرسانی اول ساعت. .sp توجه داشته باشید که اگر کنترل ساعت سیستم توسط گزینهٔ \fB\-x\fP در \fBchronyd\fP غیرفعال شده باشد، این دستورالعمل کار نمی‌کند و نباید استفاده شود. .RE .sp \fBmaxchange\fP \fIoffset\fP \fIstart\fP \fIignore\fP .RS 4 این دستورالعمل حداکثر آفست (انحراف زمانی) قابل قبول در یک به‌روزرسانی ساعت را تعیین می‌کند. آفست نسبت به برآورد فعلی از زمان واقعی سنجیده می‌شود، که در صورت پایان نیافتن تغییر تدریجی (slew) قبلی، با زمان سیستم متفاوت است. .sp این بررسی پس از تعداد مشخص‌شده به‌روزرسانی ساعت فعال می‌شود تا امکان اصلاح انحراف اولیهٔ بزرگ هنگام شروع فراهم باشد. انحراف‌های بزرگ‌تر از حداکثر مشخص‌شده به تعداد دفعات تعیین‌شده نادیده گرفته خواهند شد. یک انحراف بزرگ دیگر باعث تسلیم شدن و خروج \fBchronyd\fP می‌شود. از یک مقدار منفی می‌توان برای غیرفعال کردن محدودیت جهت نادیده گرفتن تمام انحراف‌های بزرگ استفاده کرد. هنگام نادیده گرفته شدن یک انحراف یا خروج ناشی از آن، یک پیام syslog تولید خواهد شد. .sp نمونه‌ای از استفاده این دستورالعمل: .sp .if n .RS 4 .nf .fam C maxchange 1000 1 2 .fam .fi .if n .RE .sp پس از نخستین به‌روزرسانی ساعت، \fBchronyd\fP آفست را در هر به‌روزرسانی ساعت بررسی خواهد کرد، دو تنظیم بزرگ‌تر از 1000 ثانیه را نادیده می‌گیرد و با بروز انحراف بعدی خارج می‌شود. .RE .sp \fBmaxclockerror\fP \fIerror\-in\-ppm\fP .RS 4 دستورالعمل \fBmaxclockerror\fP حداکثر خطای فرکانسی مفروضی را تعیین می‌کند که ساعت سیستم می‌تواند به خودی خود بین به‌روزرسانی‌های ساعت کسب کند. این دستورالعمل پایداری ساعت را توصیف می‌کند. .sp به‌طور پیش‌فرض، حداکثر خطا 1 ppm است. .sp مقادیر معمول برای \fIerror\-in\-ppm\fP ممکن است 10 برای یک ساعت با کیفیت پایین و 0.1 برای یک ساعت با کیفیت بالا با استفاده از نوسان‌ساز کریستالی با جبران دما باشد. .RE .sp \fBmaxdrift\fP \fIdrift\-in\-ppm\fP .RS 4 این دستورالعمل حداکثر رانش (خطای فرکانسی) مفروض ساعت سیستم را مشخص می‌کند. این دستورالعمل تنظیم فرکانسی مجاز برای \fBchronyd\fP جهت تصحیح رانش اندازه‌گیری‌شده را محدود می‌کند. این یک محدودیت اضافی برای حداکثر تنظیمی است که توسط درایور سیستم قابل اعمال است (100000 ppm در Linux، 500 ppm در FreeBSD، NetBSD و macOS 10.13+، 32500 ppm در illumos). .sp به‌طور پیش‌فرض، حداکثر رانش مفروض 500000 ppm است، یعنی میزان تنظیم به‌جای این دستورالعمل، توسط درایور سیستم محدود می‌شود. .RE .sp \fBmaxupdateskew\fP \fIskew\-in\-ppm\fP .RS 4 یکی از وظایف \fBchronyd\fP تعیین میزان تندتر یا کندتر کار کردن ساعت رایانه نسبت به منابع مرجع آن است. علاوه بر این، برآوردی از حدود خطا در اطراف مقدار برآوردشده را محاسبه می‌کند. .sp اگر دامنهٔ خطا بیش از حد بزرگ باشد، احتمالاً نشان می‌دهد که اندازه‌گیری‌ها هنوز تثبیت نشده‌اند، و نرخ افزایش یا کاهش برآوردشده چندان قابل اعتماد نیست. .sp دستورالعمل \fBmaxupdateskew\fP آستانه را برای تشخیص اینکه آیا یک برآورد ممکن است آن‌قدر غیرقابل اعتماد باشد که نباید استفاده شود، تنظیم می‌کند. به‌طور پیش‌فرض، آستانه 1000 ppm است. .sp مقادیر معمول برای \fIskew\-in\-ppm\fP ممکن است 100 برای منابع NTP نظرسنجی‌شده از طریق شبکهٔ بی‌سیم، و 10 یا کمتر برای منابع روی یک شبکهٔ سیمی محلی باشد. .sp باید توجه داشت که این تنها ابزار محافظت در برابر استفاده از برآوردهای غیرقابل اعتماد نیست. در تمام زمان‌ها، \fBchronyd\fP هم نرخ افزایش یا کاهش برآوردشده و هم حد خطای برآورد را ردیابی می‌کند. هنگامی که یک برآورد جدید پس از اندازه‌گیری دیگری از یکی از منابع ایجاد می‌شود، از یک الگوریتم ترکیب وزنی برای به‌روزرسانی برآورد موجود استفاده می‌شود. اگر حدود خطای آن به‌طور قابل توجهی کوچک‌تر از برآورد جدید باشد، برآورد موجود بر مقدار ترکیبی جدید غالب خواهد بود. .RE .sp \fBmaxslewrate\fP \fIrate\-in\-ppm\fP .RS 4 دستورالعمل \fBmaxslewrate\fP حداکثر نرخی را که \fBchronyd\fP مجاز است زمان را به‌صورت تدریجی تغییر دهد (slew)، تعیین می‌کند. این دستورالعمل نرخ تغییر تدریجی کنترل‌شده توسط نسبت زمان تصحیح (که می‌تواند با دستورالعمل \fBcorrtimeratio\fP تنظیم شود) را محدود می‌کند و فقط در سیستم‌هایی مؤثر است که \fBchronyd\fP قادر به کنترل نرخ باشد (یعنی تمام سیستم‌های پشتیبانی‌شده به استثنای macOS 12 یا قدیمی‌تر). .sp برای هر سیستم حداکثر آفست فرکانسی ساعتی وجود دارد که می‌تواند توسط درایور تنظیم شود. در Linux این مقدار 100000 ppm است، در FreeBSD، NetBSD و macOS 10.13+ برابر 5000 ppm است، و در illumos برابر 32500 ppm است. همچنین، به دلیل محدودیت هسته، تنظیم \fBmaxslewrate\fP در FreeBSD، NetBSD، macOS 10.13+ روی مقداری بین 500 ppm و 5000 ppm عملاً آن را روی 500 ppm تنظیم می‌کند. .sp به‌طور پیش‌فرض، حداکثر نرخ تغییر تدریجی روی 83333.333 ppm (یک دوازدهم) تنظیم شده است. .RE .sp \fBtempcomp\fP \fIfile\fP \fIinterval\fP \fIT0\fP \fIk0\fP \fIk1\fP \fIk2\fP, \fBtempcomp\fP \fIfile\fP \fIinterval\fP \fIpoints\-file\fP .RS 4 به‌طور معمول، تغییرات در نرخ رانش ساعت سیستم عمدتاً ناشی از تغییرات در دمای نوسان‌ساز کریستالی روی مادربرد است. .sp اگر اندازه‌گیری‌های دمایی از یک حسگر نزدیک به نوسان‌ساز در دسترس باشد، دستورالعمل \fBtempcomp\fP می‌تواند برای جبران تغییرات دما و بهبود پایداری و دقت ساعت استفاده شود. .sp نتیجه به عوامل زیادی از جمله دقت حسگر، میزان نویز در اندازه‌گیری‌ها، بازهٔ زمانی پرس‌وجو از منبع زمان، بازهٔ زمانی به‌روزرسانی جبران، نحوهٔ مشخص شدن مشخصات جبران، و میزان نزدیکی حسگر به نوسان‌ساز بستگی دارد. هنگامی که به‌خوبی کار کند، فرکانس گزارش‌شده در پروندهٔ \fItracking.log\fP پایدارتر و حداکثر آفست به‌دست‌آمده کوچک‌تر است. .sp دو شکل از این دستورالعمل وجود دارد. شکل اول شش پارامتر دارد: یک مسیر به پروندهٔ حاوی دمای فعلی از حسگر (در قالب متنی)، بازهٔ زمانی به‌روزرسانی جبران (به ثانیه)، و ضرایب دمایی \fIT0\fP، \fIk0\fP، \fIk1\fP، \fIk2\fP. .sp جبران فرکانس (به ppm) به صورت زیر محاسبه می‌شود: .sp .if n .RS 4 .nf .fam C comp = k0 + (T \- T0) * k1 + (T \- T0)^2 * k2 .fam .fi .if n .RE .sp نتیجه باید بین \-10 ppm و 10 ppm باشد، در غیر این صورت اندازه‌گیری نامعتبر تلقی شده و نادیده گرفته خواهد شد. ضریب \fIk0\fP را می‌توان طوری تنظیم کرد که جبران در آن محدوده باقی بماند. .sp نمونه‌ای از استفاده: .sp .if n .RS 4 .nf .fam C tempcomp /sys/class/hwmon/hwmon0/temp2_input 30 26000 0.0 0.000183 0.0 .fam .fi .if n .RE .sp دمای اندازه‌گیری‌شده هر 30 ثانیه از پرونده در سیستم‌پروندهٔ sysfs در Linux خوانده می‌شود. هنگامی که دما 26000 (26 درجهٔ سلسیوس) باشد، تصحیح فرکانس صفر خواهد بود. هنگامی که 27000 (27 درجهٔ سلسیوس) باشد، ساعت تنظیم می‌شود تا 0.183 ppm سریع‌تر کار کند، و غیره. .sp شکل دوم سه پارامتر دارد: مسیر پروندهٔ حسگر، بازهٔ به‌روزرسانی، و مسیری به پرونده‌ای حاوی فهرستی از نقاط (دما، جبران)، که جبران از روی آن‌ها به‌صورت خطی درون‌یابی یا برون‌یابی می‌شود. .sp یک نمونه: .sp .if n .RS 4 .nf .fam C tempcomp /sys/class/hwmon/hwmon0/temp2_input 30 /etc/chrony.tempcomp .fam .fi .if n .RE .sp که در آن پروندهٔ \fI/etc/chrony.tempcomp\fP می‌تواند حاوی مقادیر زیر باشد: .sp .if n .RS 4 .nf .fam C 20000 1.0 21000 0.64 22000 0.36 23000 0.16 24000 0.04 25000 0.0 26000 0.04 27000 0.16 28000 0.36 29000 0.64 30000 1.0 .fam .fi .if n .RE .sp اندازه‌گیری‌های معتبر با جبران‌سازی‌های متناظر در صورت فعال بودن با دستورالعمل \fBlog tempcomp\fP در پرونده \fItempcomp.log\fP ثبت می‌شوند. .RE .SS "کارساز NTP (NTP server)" .sp \fBallow\fP [\fBall\fP] [\fIsubnet\fP] .RS 4 دستورالعمل \fBallow\fP برای تعیین زیرشبکه‌ای خاص استفاده می‌شود که کارخواه‌های NTP در آن مجاز به دسترسی به رایانه به عنوان یک کارساز NTP هستند. این دستورالعمل همچنین دسترسی کارخواه‌های NTS\-KE را هنگام فعال بودن NTS روی کارساز کنترل می‌کند. .sp به طور پیش‌فرض هیچ کارخواهی مجاز به دسترسی نیست، یعنی \fBchronyd\fP صرفاً به عنوان یک کارخواه NTP عمل می‌کند. در صورت استفاده از دستورالعمل \fBallow\fP، دیمن \fBchronyd\fP هم کارخواه کارسازهای خود و هم کارسازی برای سایر کارخواه‌ها خواهد بود. .sp این دستورالعمل می‌تواند چندین بار استفاده شود. .sp نمونه‌های استفاده از این دستورالعمل به شرح زیر است: .sp .if n .RS 4 .nf .fam C allow 1.2.3.4 allow 3.4.5.0/24 allow 3.4.5 allow 2001:db8::/32 allow 0/0 allow ::/0 allow .fam .fi .if n .RE .sp دستورالعمل اول اجازه دسترسی از یک نشانی IPv4 را می‌دهد. دستورالعمل دوم اجازه دسترسی از تمام رایانه‌های یک زیرشبکه IPv4 مشخص‌شده در قالب CIDR را می‌دهد. دستورالعمل سوم همان زیرشبکه را با استفاده از نشانه‌گذاری ساده‌تری که در آن طول پیشوند با تعداد نقطه‌ها مشخص می‌شود تعیین می‌کند. دستورالعمل چهارم یک زیرشبکه IPv6 را مشخص می‌کند. دستورالعمل‌های پنجم و ششم به ترتیب اجازه دسترسی از تمام نشانی‌های IPv4 و IPv6 را می‌دهند. دستورالعمل هفتم اجازه دسترسی از همه نشانی‌ها (هم IPv4 و هم IPv6) را می‌دهد. .sp شکل دوم دستورالعمل، \fBallow all\fP، تأثیر بیشتری دارد که به ترتیب دستورالعمل‌ها در پرونده پیکربندی بستگی دارد. برای نشان دادن این اثر، دو مثال زیر را در نظر بگیرید: .sp .if n .RS 4 .nf .fam C allow 1.2.3.4 deny 1.2.3.0/24 allow 1.2.0.0/16 .fam .fi .if n .RE .sp و .sp .if n .RS 4 .nf .fam C allow 1.2.3.4 deny 1.2.3.0/24 allow all 1.2.0.0/16 .fam .fi .if n .RE .sp در مثال اول، اثر صرف‌نظر از ترتیبی که این سه دستورالعمل در آن داده شده‌اند یکسان است؛ بنابراین زیرشبکه \fI1.2.0.0/16\fP مجاز است، به جز زیرشبکه \fI1.2.3.0/24\fP که رد می‌شود، در حالی که میزبان \fI1.2.3.4\fP مجاز است. .sp در مثال دوم، دستورالعمل \fBallow all 1.2.0.0/16\fP اثر \fIهر\fP دستورالعمل قبلی مربوط به یک زیرشبکه درون زیرشبکه مشخص‌شده را لغو می‌کند. درون یک پرونده پیکربندی این قابلیت شاید چندان مطرح نباشد؛ با این حال، برای بازپیکربندی در زمان اجرا از طریق \fBchronyc\fP با دستور \fBallow all\fP کاربرد بیشتری دارد. .sp قواعد به صورت داخلی به عنوان درختی از جدول‌ها با یک سطح به ازای هر چهار بیت از نشانی IPv4 یا IPv6 نمایش داده می‌شوند. ترتیب دستورالعمل‌های \fBallow\fP و \fBdeny\fP در صورتی اهمیت دارد که رکوردهای یکسانی از یک جدول را تغییر دهند، یعنی اگر یک زیرشبکه در زیرشبکه دیگر گنجانده شده باشد و طول پیشوند آن‌ها در یک سطح باشد. برای نمونه، \fI1.2.3.0/28\fP و \fI1.2.3.0/29\fP در جدول‌های متفاوتی قرار دارند، اما \fI1.2.3.0/25\fP و \fI1.2.3.0/28\fP در یک جدول هستند. پیکربندی را می‌توان برای نشانی‌های منفرد با دستور \fBaccheck\fP در \fBchronyc\fP بررسی کرد. .sp می‌توان به جای نشانی IP از نام میزبان در دستورالعمل‌ها استفاده کرد، اما نام باید هنگام شروع \fBchronyd\fP قابل تحلیل باشد، یعنی شبکه فعال بوده و DNS کار کند. اگر نام میزبان به چندین نشانی تحلیل شود، فقط نخستین نشانی (به ترتیبی که توسط تحلیل‌گر سامانه بازگردانده می‌شود) مجاز یا رد خواهد شد. .sp توجه داشته باشید اگر دستورالعمل \fBinitstepslew\fP در پرونده پیکربندی استفاده شده باشد، برای کارکرد صحیح، هر یک از رایانه‌های فهرست‌شده در آن دستورالعمل باید اجازه دسترسی کارخواه توسط این رایانه را بدهند. .RE .sp \fBdeny\fP [\fBall\fP] [\fIsubnet\fP] .RS 4 مشابه دستورالعمل \fBallow\fP است، با این تفاوت که به جای مجاز کردن دسترسی کارخواه NTP و NTS\-KE به زیرشبکه یا میزبان خاص، آن را رد می‌کند. .sp نحو دستور یکسان است و این دستورالعمل نیز می‌تواند چندین بار استفاده شود. .sp همچنین دستورالعمل \fBdeny all\fP با رفتاری مشابه دستورالعمل \fBallow all\fP وجود دارد. .RE .sp \fBbindaddress\fP \fIaddress\fP .RS 4 دستورالعمل \fBbindaddress\fP سوکت‌هایی را که \fBchronyd\fP روی آن‌ها به درخواست‌های NTP و NTS\-KE گوش می‌دهد، به یک نشانی محلی از رایانه متصل می‌کند. در سامانه‌های غیر از لینوکس، نشانی رایانه باید هنگام شروع به کار \fBchronyd\fP از پیش پیکربندی شده باشد. .sp نمونه استفاده از این دستورالعمل: .sp .if n .RS 4 .nf .fam C bindaddress 192.168.1.1 .fam .fi .if n .RE .sp در حال حاضر برای هر یک از پروتکل‌های IPv4 و IPv6 تنها یک دستورالعمل \fBbindaddress\fP می‌تواند مشخص شود؛ بنابراین در رایانه‌هایی که باید روی چندین رابط شبکه خدمات NTP ارائه دهند، کاربردی نیست. .RE .sp \fBbinddevice\fP \fIinterface\fP .RS 4 دستورالعمل \fBbinddevice\fP سوکت‌های کارساز NTP و NTS\-KE را به یک دستگاه شبکه مشخص‌شده با نام رابط متصل می‌کند. این دستورالعمل فقط می‌تواند یک رابط را مشخص کند و تنها در لینوکس پشتیبانی می‌شود. .sp نمونه این دستورالعمل: .sp .if n .RS 4 .nf .fam C binddevice eth0 .fam .fi .if n .RE .RE .sp \fBbroadcast\fP \fIinterval\fP \fIaddress\fP [\fIport\fP] .RS 4 دستورالعمل \fBbroadcast\fP برای اعلان یک نشانی برودکست استفاده می‌شود که \fBchronyd\fP باید بسته‌ها را در حالت همگانی NTP به آن ارسال کند (یعنی باعث می‌شود \fBchronyd\fP به عنوان یک کارساز برودکست عمل کند). کارخواه‌های برودکست در آن زیرشبکه قادر به همگام‌سازی خواهند بود. .sp این دستورالعمل می‌تواند چندین بار برای مشخص کردن چندین نشانی استفاده شود. .sp نحو به شرح زیر است: .sp .if n .RS 4 .nf .fam C broadcast 32 192.168.1.255 broadcast 64 192.168.2.255 12123 broadcast 64 ff02::101 .fam .fi .if n .RE .sp در مثال اول، درگاه مقصد به طور پیش‌فرض درگاه UDP 123 (درگاه عادی NTP) است. در مثال دوم، درگاه مقصد به عنوان 12123 مشخص شده است. پارامتر اول در هر مورد (به ترتیب 32 یا 64) فاصله زمانی بر حسب ثانیه بین ارسال بسته‌های برودکست است. پارامتر دوم در هر مورد نشانی برودکست برای ارسال بسته به آن است. این باید متناظر با نشانی برودکست یکی از رابط‌های شبکه در رایانه‌ای باشد که \fBchronyd\fP روی آن اجرا می‌شود. .sp اگر بیش از یک رابط شبکه دارید که می‌خواهید بسته‌های برودکست NTP را روی آن‌ها ارسال کنید، می‌توانید بیش از یک دستورالعمل \fBbroadcast\fP داشته باشید. .sp خود \fBchronyd\fP نمی‌تواند به عنوان یک کارخواه برودکست عمل کند؛ این برنامه همیشه باید با تعریف کارسازها و همتایان خاص NTP به عنوان یک کارخواه نقطه به نقطه پیکربندی شود. این قابلیت کارساز برودکست برای ارائه یک منبع زمان به سایر پیاده‌سازی‌های NTP در نظر گرفته شده است. .sp اگر از \fBntpd\fP به عنوان کارخواه برودکست استفاده شود، تلاش خواهد کرد تا تأخیر رفت و برگشت بین کارساز و کارخواه را با بسته‌های حالت کارخواه معمولی اندازه بگیرد؛ بنابراین، زیرشبکه برودکست باید موضوع یک دستورالعمل \fBallow\fP نیز باشد. .RE .sp \fBclientloglimit\fP \fIlimit\fP .RS 4 این دستورالعمل بیشینه حافظه‌ای را مشخص می‌کند که \fBchronyd\fP مجاز به تخصیص آن برای ثبت دسترسی‌های کارخواه و وضعیتی است که \fBchronyd\fP به عنوان کارساز NTP برای پشتیبانی از حالت درهم‌آمیخته (interleaved mode) برای کارخواه‌های خود به آن نیاز دارد. حد پیش‌فرض 524288 بایت است که امکان نظارت بر حداکثر 4096 نشانی IP به طور همزمان و نگه‌داری برچسب‌های زمان NTP را برای حداکثر 4096 کارخواه با استفاده از حالت درهم‌آمیخته (بسته به یکنواختی فاصله نظرسنجی آن‌ها) فراهم می‌کند. تعداد نشانی‌ها و برچسب‌های زمانی همواره توانی از 2 است. بیشینه مقدار مؤثر 2147483648 (2 گیگابایت) است که متناظر با 16777216 نشانی و برچسب زمانی است. .sp نمونه‌ای از کاربرد این دستورالعمل: .sp .if n .RS 4 .nf .fam C clientloglimit 1048576 .fam .fi .if n .RE .RE .sp \fBnoclientlog\fP .RS 4 این دستورالعمل، که هیچ آرگومانی نمی‌گیرد، مشخص می‌کند که دسترسی‌های کلاینت ثبت نشوند. در حالت عادی آنها ثبت می‌شوند و امکان گزارش آمار را با استفاده از دستور \fBclients\fP در \fBchronyc\fP فراهم می‌کنند. این گزینه همچنین پشتیبانی سرور از حالت متداخل (interleaved) در NTP را به طور موثر غیرفعال می‌کند. .RE .sp \fBlocal\fP [\fIoption\fP].\|.\|. .RS 4 دستورالعمل \fBlocal\fP یک حالت مرجع محلی را فعال می‌کند، که به \fBchronyd\fP فعال در قالب یک سرور NTP اجازه می‌دهد تا (از دید کلاینت‌هایی که از آن پرس‌وجو می‌کنند) همگام‌شده با زمان واقعی به نظر برسد، حتی اگر هرگز همگام‌سازی نشده باشد یا آخرین به‌روزرسانی ساعت مدت‌ها پیش رخ داده باشد. .sp این دستورالعمل معمولاً در یک شبکه ایزوله استفاده می‌شود، جایی که رایانه‌ها باید با یکدیگر همگام شوند، اما لزوماً نیازی به همگام‌سازی با زمان واقعی نیست. سرور را می‌توان با ورودی دستی تا حدی در راستای زمان واقعی نگه داشت. .sp دستورالعمل \fBlocal\fP دارای گزینه‌های زیر است: .sp \fBstratum\fP \fIstratum\fP .RS 4 این گزینه لایه (stratum) سرور را که هنگام فعال بودن مرجع محلی به کلاینت‌ها گزارش می‌شود، تنظیم می‌کند. مقدار مشخص‌شده در محدوده ۱ تا ۱۵ است و مقدار پیش‌فرض ۱۰ است. این مقدار باید بزرگتر از حداکثر stratum مورد انتظار در شبکه هنگام در دسترس بودن سرورهای خارجی NTP باشد. .sp لایه ۱ نشان‌دهنده رایانه‌ای است که یک مرجع زمان واقعی حقیقی مستقیماً به آن متصل است (مانند GPS، ساعت اتمی و غیره)، و انتظار می‌رود چنین رایانه‌هایی بسیار نزدیک به زمان واقعی باشند. رایانه‌های لایه ۲ آنهایی هستند که یک سرور لایه ۱ دارند؛ رایانه‌های لایه ۳ سرور لایه ۲ دارند و به همین ترتیب. مقدار ۱۰ نشان می‌دهد که ساعت چندین گام از ساعت مرجع فاصله دارد و زمان آن تا حد زیادی غیرقابل اعتماد است. .RE .sp \fBdistance\fP \fIdistance\fP .RS 4 این گزینه آستانه root distance را تعیین می‌کند که موجب فعال شدن مرجع محلی می‌شود. اگر \fBchronyd\fP با یک منبع زمان پیکربندی‌شده همگام شده باشد، مرجع محلی تا زمانی که root distance آن به مقدار مشخص‌شده برسد فعال نخواهد شد (نرخ افزایش فاصله به این بستگی دارد که ساعت چقدر منبع را به خوبی ردیابی می‌کرده است). وقتی ساعت همگام نباشد، دارای root distance بی‌نهایت در نظر گرفته می‌شود؛ یعنی مرجع محلی به محض اینکه گزینه \fBwaitunsynced\fP اجازه دهد، فعال می‌شود. آستانه پیش‌فرض ۱ ثانیه است. .sp مقدار root distance فعلی را می‌توان از طریق root delay و root dispersion (که توسط دستور \fBtracking\fP در \fBchronyc\fP گزارش می‌شود) به صورت زیر محاسبه کرد: .sp .if n .RS 4 .nf .fam C distance = delay / 2 + dispersion .fam .fi .if n .RE .RE .sp \fBactivate\fP \fIdistance\fP .RS 4 این گزینه یک root distance فعال‌کننده را برای مرجع محلی تنظیم می‌کند. مرجع محلی تا زمانی که root distance برای اولین بار به زیر مقدار پیکربندی‌شده نرسد، استفاده نخواهد شد. از این گزینه می‌توان برای جلوگیری از فعال شدن مرجع محلی روی سروری که هرگز با یک سرور بالادست همگام نشده است استفاده کرد. مقدار پیش‌فرض 0.0 باعث می‌شود هیچ فاصله فعال‌کننده‌ای اعمال نشود، به طوری که مرجع محلی همیشه شرایط فعال‌سازی را داشته باشد. .RE .sp \fBorphan\fP .RS 4 این گزینه حالت ویژه \(oqorphan\(cq را فعال می‌کند، که در آن فرض می‌شود منابعی با stratum برابر با \fIstratum\fP محلی، زمان واقعی را ارائه نمی‌دهند. این منابع نادیده گرفته می‌شوند مگر اینکه هیچ منبع دیگری قابل انتخاب نباشد و reference ID آنها کوچکتر از reference ID محلی باشد. .sp این قابلیت به چندین سرور در شبکه امکان می‌دهد تا از پیکربندی \fBlocal\fP یکسان استفاده کرده و بدون سردرگم کردن کلاینت‌هایی که بیش از یک سرور را پرس‌وجو می‌کنند، با یکدیگر همگام شوند. هر سرور باید طوری پیکربندی شود که سایر سرورها را با دستورالعمل \fBlocal\fP پرس‌وجو کند. این کار تضمین می‌کند که فقط سرور با کوچک‌ترین reference ID مرجع محلی فعال داشته باشد و سرورهای دیگر با آن همگام شوند. اگر آن سرور پاسخ ندهد، سرور با دومین reference ID کوچک به محض فعال شدن حالت مرجع محلی‌اش (رسیدن root distance به آستانه پیکربندی‌شده توسط گزینه \fBdistance\fP)، کنترل را در دست می‌گیرد. .sp حالت \fBorphan\fP با حالت orphan در \fBntpd\fP (که با دستور \fBtos orphan\fP فعال می‌شود) سازگار است. .RE .sp \fBwaitsynced\fP \fIinterval\fP .RS 4 این گزینه حداقل بازه زمانی (به ثانیه) بین آخرین به‌روزرسانی ساعت و فعال‌سازی مرجع محلی طبق پیکربندی گزینه‌های \fBdistance\fP و \fBactivate\fP را مشخص می‌کند. می‌توان گزینه \fBdistance\fP را روی 0 تنظیم کرد تا root distance نادیده گرفته شود و فعال‌سازی تنها بر اساس بازه زمانی کنترل شود. در چنین حالتی، این مقدار باید حداقل به اندازه حداکثر بازه پرس‌وجوی (polling) مورد انتظار باشد تا از فعال‌سازی مکرر در پرس‌وجوی عادی منبع جلوگیری شود. حداقل بازه پیش‌فرض 0 است. .RE .sp \fBwaitunsynced\fP \fIinterval\fP .RS 4 این گزینه مشخص می‌کند که \fBchronyd\fP هنگام عدم همگام‌سازی ساعت (مثلاً پس از شروع به کار یا شکست در انتخاب منبع به دلیل نبود اکثریت) چه مدت (به ثانیه) باید قبل از فعال‌سازی مرجع محلی منتظر بماند. این تاخیر مانع از آن می‌شود که \fBchronyd\fP پیش از آنکه منابع زمان پیکربندی‌شده فرصت همگام‌سازی ساعت محلی را پیدا کنند، زمان نادرست را به کلاینت‌ها ارائه دهد. اگر گزینه \fBorphan\fP تنظیم شده باشد، بازه پیش‌فرض ۳۰۰ ثانیه است؛ در غیر این صورت 0 است (یعنی مرجع محلی بلافاصله فعال می‌شود). .RE .RE .sp .RS 4 .sp نمونه‌هایی از این دستورالعمل: .sp .if n .RS 4 .nf .fam C local stratum 5 local stratum 10 orphan distance 0.1 activate 0.5 local stratum 10 orphan distance 0.0 waitsynced 7200 waitunsynced 300 .fam .fi .if n .RE .RE .sp \fBntpsigndsocket\fP \fIdirectory\fP .RS 4 این دستورالعمل مکان سوکت \fBntp_signd\fP برنامه Samba را در زمان اجرای آن به عنوان Domain Controller (DC) مشخص می‌کند. اگر \fBchronyd\fP با این ویژگی کامپایل شده باشد، پاسخ‌ها به کلاینت‌های MS\-SNTP توسط دیمن \fBsmbd\fP امضا می‌شوند. .sp توجه داشته باشید که درخواست‌های MS\-SNTP احراز هویت نمی‌شوند و هر کلاینتی که با دستورالعمل \fBallow\fP یا دستور \fBallow\fP در \fBchronyc\fP مجاز به دسترسی به سرور باشد، می‌تواند پاسخی از MS\-SNTP دریافت کند که با رمز عبور trust account امضا شده است و تلاش کند تا رمز عبور را با حمله brute\-force بشکند. دسترسی به سرور باید با دقت کنترل شود. .sp نمونه‌ای از کاربرد این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntpsigndsocket /var/lib/samba/ntp_signd .fam .fi .if n .RE .RE .sp \fBntsport\fP \fIport\fP .RS 4 این دستورالعمل درگاه TCP را که \fBchronyd\fP روی آن سرویس برقراری کلید NTS (یا NTS\-KE) را ارائه می‌دهد، مشخص می‌کند. درگاه پیش‌فرض ۴۴۶۰ است. .sp این درگاه تنها زمانی باز خواهد بود که یک گواهی و کلید توسط دستورالعمل‌های \fBntsservercert\fP و \fBntsserverkey\fP مشخص شده باشد. .RE .sp \fBntsservercert\fP \fIfile\fP .RS 4 این دستورالعمل پرونده‌ای حاوی گواهی در قالب PEM را برای فعالیت \fBchronyd\fP به عنوان سرور NTS مشخص می‌کند. این پرونده همچنین باید شامل تمام گواهی‌های میانی باشد که کلاینت‌ها برای اعتبارسنجی گواهی سرور به آنها نیاز دارند. این پرونده باید برای کاربری که \fBchronyd\fP پس از رها کردن امتیازات root تحت آن اجرا می‌شود، قابل خواندن باشد. .sp از این دستورالعمل می‌توان چندین بار برای مشخص کردن چندین گواهی برای نام‌های مختلف سرور استفاده کرد. .sp پرونده‌ها فقط یک بار بارگیری می‌شوند. برای بارگیری مجدد گواهی تمدیدشده، \fBchronyd\fP باید راه‌اندازی مجدد شود. استفاده از دستورالعمل‌های \fBntsdumpdir\fP و \fBdumpdir\fP همراه با گزینه \fB\-r\fP در \fBchronyd\fP برای عملکرد تقریباً بدون وقفه سرور توصیه می‌شود. .RE .sp \fBntsserverkey\fP \fIfile\fP .RS 4 این دستورالعمل پرونده‌ای حاوی کلید خصوصی در قالب PEM را برای فعالیت \fBchronyd\fP به عنوان سرور NTS مشخص می‌کند. این پرونده باید برای کاربری که \fBchronyd\fP پس از رها کردن امتیازات root تحت آن اجرا می‌شود، قابل خواندن باشد. به دلایل امنیتی، این پرونده نباید توسط سایر کاربران قابل خواندن باشد. .sp از این دستورالعمل می‌توان چندین بار برای مشخص کردن چندین کلید استفاده کرد. تعداد کلیدها باید برابر با تعداد گواهی‌ها باشد و پرونده‌های مربوطه باید به همان ترتیب مشخص شوند. .RE .sp \fBntsprocesses\fP \fIprocesses\fP .RS 4 این دستورالعمل مشخص می‌کند که \fBchronyd\fP هنگام کار به عنوان کارساز NTS، چه تعداد فرایند کمکی را برای رسیدگی به درخواست‌های NTS\-KE کلاینت جهت بهبود کارایی در پردازنده‌های چند‌هسته‌ای و چندریسمانی آغاز کند. در صورت تنظیم روی 0، هیچ فرایند کمکی آغاز نخواهد شد و تمام درخواست‌های NTS\-KE توسط فرایند اصلی \fBchronyd\fP رسیدگی می‌شوند. مقدار پیش‌فرض 1 و حداکثر مقدار 1000 است. .RE .sp \fBmaxntsconnections\fP \fIconnections\fP .RS 4 این دستورالعمل حداکثر تعداد اتصالات هم‌روند NTS\-KE را به ازای هر فرایند که کارساز NTS می‌پذیرد مشخص می‌کند. مقدار پیش‌فرض 100 است. حداکثر مقدار کاربردی نصف مقدار ثابت \fBFD_SETSIZE\fP سیستم است (معمولاً 1024). .RE .sp \fBntsaeads\fP \fIID\fP.\|.\|. .RS 4 این دستورالعمل فهرستی از شناسه‌های الگوریتم‌های رمزگذاری احراز هویت‌شده با داده‌های مرتبط (AEAD) فعال‌شده را برای احراز هویت NTS در پیام‌های NTP مشخص می‌کند. \fBchronyd\fP به عنوان کارساز، از اولین الگوریتم فعال در فهرست ارائه‌شده توسط کلاینت استفاده می‌کند. الگوریتم‌هایی که توسط نسخه نصب‌شده کتابخانه رمزنگاری (Nettle، GnuTLS) پشتیبانی نمی‌شوند نادیده گرفته می‌شوند. .sp شناسه‌های زیر پشتیبانی می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} 15: AES\-SIV\-CMAC\-256 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} 30: AES\-128\-GCM\-SIV .RE .RE .sp .RS 4 .sp فهرست پیش‌فرض شناسه‌ها \fI30 15\fP است. AES\-128\-GCM\-SIV به دلیل کلیدهای کوتاه‌تر، نسبت به AES\-SIV\-CMAC\-256 ارجحیت دارد که باعث کوتاه‌تر شدن کوکی‌های NTS و بهبود قابلیت اطمینان NTS در شبکه‌هایی می‌شود که پیام‌های طولانی‌تر NTP را مسدود کرده یا نرخ آن‌ها را محدود می‌کنند. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsaeads 15 .fam .fi .if n .RE .sp این فهرست توسط کلاینت NTS نیز استفاده می‌شود. .sp توجه داشته باشید که مشخصات NTS (RFC 8915) کارسازها را ملزم به پشتیبانی از AES\-SIV\-CMAC\-256 می‌کند، یعنی 15 باید همیشه در فهرست مشخص‌شده گنجانده شود. .sp کلیدهای AES\-128\-GCM\-SIV استفاده‌شده توسط \fBchronyd\fP به دلیل حفظ سازگاری با کلاینت‌های قدیمی‌تر \fBchrony\fP با RFC 8915 مطابقت ندارند، مگر اینکه استفاده از کلیدهای منطبق از طریق یک .URL "https://chrony\-project.org/doc/spec/nts\-compliant\-128gcm.html" "رکورد NTS\-KE" "." مذاکره شود. پشتیبانی از این رکورد در نسخه 4.6.1 افزوده شد. \fBchronyd\fP به عنوان کلاینت می‌تواند با کارسازی که از کلیدهای منطبق استفاده می‌کند اما از مذاکره پشتیبانی نمی‌کند تعامل داشته باشد، به شرطی که کارساز به درخواست‌های با احراز هویت نادرست با یک NTS NAK پاسخ دهد. .RE .sp \fBntsdumpdir\fP \fIdirectory\fP .RS 4 این دستورالعمل شاخه‌ای را مشخص می‌کند که در آن \fBchronyd\fP به هنگام کار به عنوان کارساز NTS، می‌تواند کلیدهای رمزگذاری کوکی‌های NTS ارائه‌شده به کلاینت‌ها را ذخیره کند. کلیدها در یک پرونده منفرد به نام \fIntskeys\fP ذخیره می‌شوند. پس از راه‌اندازی مجدد \fBchronyd\fP، بازخوانی مجدد کلیدها به کلاینت‌ها اجازه می‌دهد همچنان از کوکی‌های قدیمی استفاده کنند و از هجوم درخواست‌های NTS\-KE جلوگیری می‌کند. به‌طور پیش‌فرض، کارساز کلیدها را ذخیره نمی‌کند. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsdumpdir /var/lib/chrony .fam .fi .if n .RE .sp این شاخه توسط کلاینت NTS نیز برای ذخیره کوکی‌های NTS استفاده می‌شود. .RE .sp \fBntsntpserver\fP \fIhostname\fP .RS 4 این دستورالعمل نام میزبان (به عنوان یک نام دامنه کاملاً واجد شرایط یا FQDN) یا نشانی کارساز(های) NTP را که در پاسخ NTS\-KE به کلاینت‌ها ارائه می‌شود مشخص می‌کند. این ویژگی امکان تفکیک کارساز NTS\-KE از کارساز NTP را فراهم می‌سازد. با این حال، کارسازها باید کلیدها را به اشتراک بگذارند؛ یعنی مدیریت خارجی کلیدها باید با تنظیم \fBntsrotate\fP روی 0 فعال شود. به‌طور پیش‌فرض، هیچ نام میزبان یا نشانی‌ای به کلاینت‌ها ارائه نمی‌شود که بدان معناست آن‌ها باید از کارساز یکسانی برای NTS\-KE و NTP استفاده کنند. .RE .sp \fBntsrotate\fP \fIinterval\fP .RS 4 این دستورالعمل بازه زمانی چرخش (به ثانیه) کلید کارساز را که کوکی‌های NTS را رمزگذاری می‌کند، مشخص می‌نماید. کلیدهای جدید به‌طور خودکار از دستگاه \fI/dev/urandom\fP تولید می‌شوند. کارساز دو کلید پیشین را نگه می‌دارد تا به کلاینت‌ها فرصت دهد کوکی‌های جدید رمزگذاری‌شده با آخرین کلید را دریافت کنند. این بازه بر اساس زمان کارکرد کارساز اندازه‌گیری می‌شود؛ یعنی اگر \fBchronyd\fP به‌طور پیوسته اجرا نشود، بازه زمانی واقعی می‌تواند طولانی‌تر باشد. بازه زمانی پیش‌فرض 604800 ثانیه (1 هفته) است. حداکثر مقدار 2^31\-1 (68 سال) است. .sp چرخش خودکار کلیدها را می‌توان با تنظیم \fBntsrotate\fP روی 0 غیرفعال کرد. در این حالت فرض می‌شود کلیدها به صورت خارجی مدیریت می‌شوند. \fBchronyd\fP کلیدها را در پرونده \fIntskeys\fP ذخیره نخواهد کرد و هنگام صدور دستور \fBrekey\fP در \fBchronyc\fP، کلیدها را از پرونده بازخوانی می‌کند. برای داشتن یک یا چند کارساز اختصاصی برای NTS\-KE، می‌توان این پرونده را به‌طور دوره‌ای از کارساز دیگری که \fBchronyd\fP را اجرا می‌کند (و \fBntsrotate\fP در آن روی 0 تنظیم نشده) کپی کرد. این پرونده شامل کلید بعدی است که کارساز NTS\-KE در چرخش بعدی به آن سوئیچ خواهد کرد؛ یعنی فرایند کپی و بازخوانی پرونده نیازی به زمان‌بندی دقیق ندارد (می‌تواند تا حداکثر یک بازه چرخش به تعویق بیفتد). کارسازهای NTS\-KE باید با دستورالعمل \fBntsntpserver\fP پیکربندی شوند تا کلاینت‌ها را به کارساز NTP صحیح هدایت کنند. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsrotate 2592000 .fam .fi .if n .RE .RE .sp \fBport\fP \fIport\fP .RS 4 این گزینه به شما اجازه می‌دهد درگاهی را که \fBchronyd\fP روی آن به درخواست‌های NTP گوش فرا می‌دهد پیکربندی کنید. این درگاه تنها زمانی باز خواهد بود که نشانی‌ای توسط دستورالعمل \fBallow\fP یا دستور \fBallow\fP در \fBchronyc\fP مجاز شده باشد، یک همتای NTP پیکربندی شده باشد، یا حالت کارساز پخشی (broadcast) فعال باشد. .sp مقدار پیش‌فرض 123، درگاه استاندارد NTP است. در صورت تنظیم روی 0، \fBchronyd\fP هرگز درگاه کارساز را باز نخواهد کرد و صرفاً در حالت کلاینت کار خواهد کرد. درگاه مبدا مورد استفاده در درخواست‌های کلاینت NTP را می‌توان با دستورالعمل \fBacquisitionport\fP تعیین کرد. .RE .sp \fBratelimit\fP [\fIoption\fP].\|.\|. .RS 4 این دستورالعمل محدودسازی نرخ پاسخ را برای بسته‌های NTP فعال می‌کند. هدف آن کاهش ترافیک شبکه ناشی از کلاینت‌های خراب یا با پیکربندی نادرست NTP است که بیش از حد معمول به کارساز سرکشی می‌کنند. این محدودیت‌ها بر روی نشانی‌های IP مجزا اعمال می‌شوند. اگر چندین کلاینت از یک نشانی IP مشترک استفاده کنند (مانند چندین میزبان پشت NAT)، مجموع ترافیک آن‌ها محدود خواهد شد. چنانچه کلاینتی شناسایی شود که با عدم دریافت پاسخ نرخ سرکشی خود را افزایش می‌دهد، محدودیت نرخ آن موقتاً به حالت تعلیق درمی‌آید تا از افزایش حجم کل ترافیک جلوگیری شود. حداکثر تعداد نشانی‌های IP که می‌توانند به‌طور هم‌زمان نظارت شوند به محدودیت حافظه تعیین‌شده توسط دستورالعمل \fBclientloglimit\fP بستگی دارد. .sp دستورالعمل \fBratelimit\fP از چندین گزینه پشتیبانی می‌کند (که می‌توانند به هر ترتیبی تعریف شوند): .sp \fBinterval\fP \fIinterval\fP .RS 4 این گزینه حداقل بازه زمانی بین پاسخ‌ها را تعیین می‌کند. این مقدار به عنوان توانی از 2 بر حسب ثانیه تعریف می‌شود. مقدار پیش‌فرض 3 (8 ثانیه) است. حداقل مقدار \-19 (524288 بسته در ثانیه) و حداکثر مقدار 12 (یک بسته در هر 4096 ثانیه) است. توجه داشته باشید که در مقادیر کمتر از \-4، محدودسازی نرخ تقریبی است (پاسخ‌ها به صورت انفجاری یا burst مجاز هستند، حتی اگر بازه زمانی بین آن‌ها کوتاه‌تر از بازه تعیین‌شده باشد). .RE .sp \fBburst\fP \fIresponses\fP .RS 4 این گزینه حداکثر تعداد پاسخ‌هایی را تعیین می‌کند که می‌توانند در یک جهش ناگهانی (burst) ارسال شوند و موقتاً از حد تعیین‌شده توسط گزینه \fBinterval\fP فراتر روند. این ویژگی برای کلاینت‌هایی مفید است که در هنگام راه‌اندازی، اندازه‌گیری‌های سریعی انجام می‌دهند (مانند \fBchronyd\fP با گزینه \fBiburst\fP). مقدار پیش‌فرض 8 است. حداقل مقدار 1 و حداکثر مقدار 255 است. .RE .sp \fBleak\fP \fIrate\fP .RS 4 این گزینه نرخی را تعیین می‌کند که در آن حتی در صورت فراتر رفتن از حدود تعیین‌شده توسط گزینه‌های \fBinterval\fP و \fBburst\fP، پاسخ‌ها به صورت تصادفی مجاز می‌شوند. این سازوکار برای جلوگیری از اقدام مهاجمی لازم است که با جعل نشانی مبدا درخواست‌ها را ارسال می‌کند تا پاسخ‌ها به آن نشانی را به‌طور کامل مسدود نماید. نرخ نشت به صورت توانی از 1/2 تعریف می‌شود و به‌طور پیش‌فرض 2 است، یعنی به‌طور میانگین حداقل از هر چهار درخواست به یکی پاسخ داده می‌شود. حداقل مقدار 1 و حداکثر مقدار 4 است. .RE .sp \fBkod\fP \fIrate\fP .RS 4 این گزینه نرخی را تعیین می‌کند که در آن پاسخ‌های RATE از نوع Kiss\-o\*(Aq\-Death (KoD) هنگام فراتر رفتن از محدودیت‌های مشخص‌شده توسط گزینه‌های \fBinterval\fP و \fBburst\fP، به طور تصادفی ارسال می‌شوند. این یک جریان اضافی از پاسخ‌ها نسبت به گزینه \fBleak\fP است. پاسخ KoD RATE درخواستی از کلاینت برای کاهش نرخ نظرسنجی (polling) خود است. پیاده‌سازی‌های اندکی واقعاً از آن پشتیبانی می‌کنند. نرخ به صورت توانی از ۱/۲ تعریف می‌شود. مقدار پیش‌فرض 0 است که به معنای غیرفعال بودن است. کمترین مقدار 0 و بیشترین مقدار 4 است. .RE .RE .sp .RS 4 .sp یک نمونه استفاده از دستورالعمل: .sp .if n .RS 4 .nf .fam C ratelimit interval 1 burst 16 .fam .fi .if n .RE .sp این کار نرخ پاسخ را برای آدرس‌های IP که به طور میانگین بیش از یک بار در هر ۲ ثانیه بسته ارسال می‌کنند، یا بسته‌ها را در رگبارهای بیش از ۱۶ بسته می‌فرستند، تا ۷۵٪ کاهش می‌دهد (با مقدار پیش‌فرض \fBleak\fP برابر با 2). .RE .sp \fBntsratelimit\fP [\fIoption\fP].\|.\|. .RS 4 این دستورالعمل محدودسازی نرخ درخواست‌های NTS\-KE را فعال می‌کند. مشابه دستورالعمل \fBratelimit\fP است، با این تفاوت که بازه زمانی پیش‌فرض 6 (۱ اتصال در هر ۶۴ ثانیه) است و از گزینه \fBkod\fP پشتیبانی نمی‌شود. .sp یک نمونه از استفاده از دستورالعمل: .sp .if n .RS 4 .nf .fam C ntsratelimit interval 3 burst 1 .fam .fi .if n .RE .RE .sp \fBsmoothtime\fP \fImax\-freq\fP \fImax\-wander\fP [\fBleaponly\fP] .RS 4 دستورالعمل \fBsmoothtime\fP می‌تواند برای فعال‌سازی هموارسازی زمانی که \fBchronyd\fP به کلاینت‌های خود ارائه می‌دهد استفاده شود تا ردیابی آن برای آن‌ها آسان‌تر شده و ساعت‌هایشان به هم نزدیک بماند، حتی زمانی که تصحیحات آفست یا فرکانس بزرگی بر ساعت سرور اعمال می‌شود، برای مثال پس از آفلاین بودن به مدت طولانی‌تر. .sp هشدار: سرور عمداً بهترین تخمین خود را از زمان واقعی ارائه نمی‌دهد. اگر آفست بزرگی انباشته شده باشد، هموار کردن آن ممکن است زمان بسیار زیادی ببرد. این دستورالعمل باید تنها زمانی استفاده شود که کلاینت‌ها برای نظرسنجی از سرور NTP دیگری نیز پیکربندی نشده باشند، زیرا ممکن است این سرور را به عنوان falseticker رد کنند یا به طور کامل در انتخاب منبع ناموفق باشند. .sp فرایند هموارسازی با یک تابع اسپلاین درجه دو با دو یا سه قطعه پیاده‌سازی می‌شود. این فرایند مستقل از هرگونه تنظیم تدریجی (slewing) اعمال‌شده بر ساعت محلی سیستم است، اما آفست و فرکانس انباشته‌شده با تصحیح ساعت از طریق گام برداشتن (stepping)، مثلاً با دستورالعمل \fBmakestep\fP یا فرمان \fBmakestep\fP در \fBchronyc\fP، بازنشانی خواهند شد. این فرایند بدون گام برداشتن ساعت می‌تواند با فرمان \fBsmoothtime reset\fP بازنشانی شود. .sp دو آرگومان اول دستورالعمل عبارتند از حداکثر آفست فرکانسی زمان هموارشده نسبت به زمان NTP ردیابی‌شده (بر حسب ppm) و حداکثر نرخی که آفست فرکانس مجاز به تغییر در آن است (بر حسب ppm در ثانیه). \fBleaponly\fP یک آرگومان اختیاری سوم است که حالتی را فعال می‌کند که در آن فقط ثانیه‌های کبیسه هموار می‌شوند و تغییرات آفست و فرکانس عادی نادیده گرفته می‌شوند. گزینه \fBleaponly\fP در ترکیب با دستورالعمل \fBleapsecmode slew\fP برای ایجاد امکان استفاده ایمن کلاینت‌ها از چندین سرور هموارسازی زمان مفید است. .sp فرایند هموارسازی زمانی که ۱/۱۰۰۰۰ از انحراف (skew) تخمینی ساعت محلی به زیر حداکثر نرخ تغییر فرکانس بیفتد، به طور خودکار فعال می‌شود. این فرایند همچنین می‌تواند به صورت دستی با فرمان \fBsmoothtime activate\fP فعال شود، که به ویژه زمانی مفید است که ساعت فقط با ورودی دستی همگام‌سازی شده باشد و انحراف همواره بزرگتر از آستانه باشد. فرمان \fBsmoothing\fP می‌تواند برای پایش این فرایند استفاده شود. .sp یک نمونه مناسب برای کلاینت‌هایی که از \fBntpd\fP و بازه نظرسنجی ۱۰۲۴ ثانیه استفاده می‌کنند: .sp .if n .RS 4 .nf .fam C smoothtime 400 0.001 .fam .fi .if n .RE .sp یک نمونه مناسب برای کلاینت‌هایی که از \fBchronyd\fP در Linux استفاده می‌کنند: .sp .if n .RS 4 .nf .fam C smoothtime 50000 0.01 .fam .fi .if n .RE .RE .SS "دسترسی به فرمان و پایش (Command and monitoring access)" .sp \fBbindcmdaddress\fP \fIaddress\fP .RS 4 دستورالعمل \fBbindcmdaddress\fP یک آدرس IP محلی را مشخص می‌کند که \fBchronyd\fP سوکت UDP شنونده برای بسته‌های فرمان پایش (صادرشده توسط \fBchronyc\fP) را به آن مقید (bind) می‌کند. در سیستم‌هایی غیر از Linux، آدرس رابط باید هنگام شروع \fBchronyd\fP از قبل پیکربندی شده باشد. .sp این دستورالعمل همچنین می‌تواند مسیر سوکت فرمان Unix domain را که توسط \fBchronyc\fP برای ارسال فرمان‌های پیکربندی استفاده می‌شود، تغییر دهد. سوکت باید در دایرکتوری‌ای باشد که فقط توسط کاربر root یا \fIchrony\fP قابل دسترسی باشد. در صورت عدم وجود، دایرکتوری در زمان شروع ایجاد خواهد شد. مسیر پیش‌فرض کامپایل‌شده برای سوکت \fI/var/run/chrony/chronyd.sock\fP است. سوکت را می‌توان با تنظیم مسیر روی \fI/\fP غیرفعال کرد. .sp به طور پیش‌فرض، \fBchronyd\fP سوکت‌های UDP را به آدرس‌های \fI127.0.0.1\fP و \fI::1\fP (یعنی رابط loopback) مقید می‌کند. این کار تمام دسترسی‌ها به جز دسترسی از localhost را مسدود می‌کند. برای شنود بسته‌های فرمان روی همه رابط‌ها، می‌توانید خطوط زیر را اضافه کنید: .sp .if n .RS 4 .nf .fam C bindcmdaddress 0.0.0.0 bindcmdaddress :: .fam .fi .if n .RE .sp به پرونده پیکربندی. .sp برای هر یک از پروتکل‌های IPv4، IPv6 و Unix domain، تنها یک دستورالعمل \fBbindcmdaddress\fP می‌تواند مشخص شود. .sp نمونه‌ای که مسیر سوکت فرمان Unix domain را تعیین می‌کند: .sp .if n .RS 4 .nf .fam C bindcmdaddress /var/run/chrony/chronyd.sock .fam .fi .if n .RE .RE .sp \fBbindcmddevice\fP \fIinterface\fP .RS 4 دستورالعمل \fBbindcmddevice\fP سوکت‌های فرمان UDP را به یک دستگاه شبکه مشخص‌شده با نام رابط مقید می‌کند. این دستورالعمل تنها می‌تواند یک رابط را مشخص کند و فقط در Linux پشتیبانی می‌شود. .sp یک نمونه از دستورالعمل: .sp .if n .RS 4 .nf .fam C bindcmddevice eth0 .fam .fi .if n .RE .RE .sp \fBcmdallow\fP [\fBall\fP] [\fIsubnet\fP] .RS 4 این دستورالعمل مشابه \fBallow\fP است، با این تفاوت که به جای دسترسی کلاینت NTP، دسترسی پایش را به یک زیرشبکه یا میزبان خاص امکان‌پذیر می‌کند. (منظور از «دسترسی پایش» این است که \fBchronyc\fP می‌تواند روی آن میزبان‌ها اجرا شده و داده‌های پایش را از \fBchronyd\fP روی این رایانه دریافت کند.) .sp نحو آن دقیقاً با دستورالعمل \fBallow\fP یکسان است. .sp همچنین یک دستورالعمل \fBcmdallow all\fP با رفتاری مشابه دستورالعمل \fBallow all\fP وجود دارد (اما البته در این مورد برای دسترسی پایش اعمال می‌شود). .sp آدرس‌های \fI127.0.0.1\fP و \fI::1\fP (یعنی رابط loopback) همیشه مجاز هستند. .sp توجه داشته باشید که \fBchronyd\fP باید با دستورالعمل \fBbindcmdaddress\fP پیکربندی شود تا صرفاً روی رابط loopback شنود نکند و دسترسی از راه دور عملاً مجاز شود. .RE .sp \fBcmddeny\fP [\fBall\fP] [\fIsubnet\fP] .RS 4 این دستورالعمل مشابه \fBcmdallow\fP است، با این تفاوت که دسترسی پایش را به یک زیرشبکه یا میزبان خاص رد می‌کند، به جای اینکه آن را مجاز سازد. .sp نحو آن یکسان است. .sp همچنین یک دستورالعمل \fBcmddeny all\fP با رفتاری مشابه دستورالعمل \fBcmdallow all\fP وجود دارد. .RE .sp \fBcmdport\fP \fIport\fP .RS 4 دستورالعمل \fBcmdport\fP امکان تغییر درگاه مورد استفاده برای پایش زمان اجرا (از طریق برنامه \fBchronyc\fP) را از مقدار پیش‌فرض (323) فراهم می‌کند. در صورت تنظیم روی 0، \fBchronyd\fP درگاه را باز نمی‌کند، که دسترسی از راه دور \fBchronyc\fP (با \fBbindcmdaddress\fP غیرپیش‌فرض) و دسترسی محلی کاربران بدون امتیاز را غیرفعال می‌کند. سوکت فرمان دامنه یونیکس غیرفعال نمی‌شود. .sp مثال: .sp .if n .RS 4 .nf .fam C cmdport 257 .fam .fi .if n .RE .sp این دستور \fBchronyd\fP را وادار به استفاده از UDP 257 به‌عنوان درگاه فرمان می‌کند. (جهت تعامل درست، \fBchronyc\fP باید با گزینه \fB\-p 257\fP اجرا شود.) .RE .sp \fBcmdratelimit\fP [\fIoption\fP].\|.\|. .RS 4 این دستورالعمل محدودیت نرخ پاسخ را برای بسته‌های فرمان فعال می‌کند. مشابه دستورالعمل \fBratelimit\fP است، با این تفاوت که پاسخ‌ها به localhost هرگز محدود نمی‌شوند، بازه زمانی پیش‌فرض \-4 (16 بسته در ثانیه) است، و گزینه \fBkod\fP پشتیبانی نمی‌شود. .sp مثال استفاده: .sp .if n .RS 4 .nf .fam C cmdratelimit interval 2 .fam .fi .if n .RE .RE .sp \fBopencommands\fP [\fIcommand\fP].\|.\|. .RS 4 این دستورالعمل فهرستی از دستورهای پایش را برای میزبان‌های مجاز توسط دستورالعمل \fBcmdallow\fP فعال می‌کند. دستورهای زیر قابل تعیین هستند (نام‌گذاری از \fBchronyc\fP پیروی می‌کند): .sp \fBactivity\fP*, \fBauthdata\fP, \fBclients\fP, \fBmanual\fP*, \fBntpdata\fP, \fBrtcdata\fP*, \fBselectdata\fP, \fBserverstats\fP*, \fBsmoothing\fP*, \fBsourcename\fP*, \fBsources\fP*, \fBsourcestats\fP, \fBtracking\fP*. .sp دستورهای دارای علامت * به‌طور پیش‌فرض فعال هستند. پروتکل این دستورها پایدار تلقی می‌شود و بین نسخه‌های مختلف \fBchronyc\fP و \fBchronyd\fP کار می‌کند. پروتکل سایر دستورها پایدار نیست و نسخه‌های مختلف \fBchronyc\fP و \fBchronyd\fP ممکن است با یکدیگر کار نکنند. در این صورت، \fBchronyc\fP خطای \(oqInvalid command\(cq یا \(oqBad reply from daemon\(cq را چاپ خواهد کرد. .sp توجه: برخی داده‌های ارائه‌شده می‌توانند برای مهاجمان در جهت مشاهده و پیش‌بینی وضعیت داخلی \fBchronyd\fP مفید باشند. توصیه می‌شود فقط دستورهای مورد نیاز فعال شده و دسترسی محدود گردد. .RE .SS "ساعت بلادرنگ (RTC)" .sp \fBhwclockfile\fP \fIfile\fP .RS 4 دستورالعمل \fBhwclockfile\fP مسیر پرونده adjtime مورد استفاده برنامه \fBhwclock\fP در لینوکس را تعیین می‌کند. \fBchronyd\fP پرونده را جهت بررسی نگهداری زمان محلی یا UTC توسط RTC می‌خواند. این دستور اولویت بالاتری نسبت به دستورالعمل \fBrtconutc\fP دارد. .sp مقدار پیش‌فرض کامپایل‌شده \*(Aq\fI/etc/adjtime\fP\*(Aq است. .sp مثال: .sp .if n .RS 4 .nf .fam C hwclockfile /etc/adjtime .fam .fi .if n .RE .RE .sp \fBrtcautotrim\fP \fIthreshold\fP .RS 4 دستورالعمل \fBrtcautotrim\fP برای نزدیک نگه‌داشتن خودکار RTC به ساعت سیستم استفاده می‌شود. هنگام همگام بودن ساعت سیستم و بیشتر بودن خطای تخمینی از آستانه مشخص‌شده، \fBchronyd\fP ساعت RTC را مانند دستور \fBtrimrtc\fP در \fBchronyc\fP تنظیم می‌کند. دقت عملیات تنظیم حدود ۱ ثانیه است که حداقل آستانه مؤثر محسوب می‌شود. .sp این دستورالعمل تنها همراه با \fBrtcfile\fP مؤثر است. .sp مثال استفاده: .sp .if n .RS 4 .nf .fam C rtcautotrim 30 .fam .fi .if n .RE .sp این دستور خطای آستانه را روی ۳۰ ثانیه تنظیم می‌کند. .RE .sp \fBrtcdevice\fP \fIdevice\fP .RS 4 دستورالعمل \fBrtcdevice\fP مسیر پرونده افزاره دسترسی به RTC را تعیین می‌کند. مسیر پیش‌فرض \fI/dev/rtc\fP است. .RE .sp \fBrtcfile\fP \fIfile\fP .RS 4 دستورالعمل \fBrtcfile\fP نام پرونده ذخیره پارامترهای ردیابی دقت RTC توسط \fBchronyd\fP را تعریف می‌کند. .sp مثال: .sp .if n .RS 4 .nf .fam C rtcfile /var/lib/chrony/rtc .fam .fi .if n .RE .sp \fBchronyd\fP هنگام خروج و هنگام اجرای دستور \fBwritertc\fP در \fBchronyc\fP، اطلاعات را در این پرونده ذخیره می‌کند. اطلاعات شامل خطای RTC در مبدأ زمانی مشخص، آن مبدأ (به ثانیه از ۱ ژانویه ۱۹۷۰)، و نرخ جلو یا عقب افتادن RTC است. .sp پشتیبانی از RTC محدود است؛ کد آن وابسته به سیستم است. امکانات RTC (دستورالعمل \fBrtcfile\fP و گزینه \fB\-s\fP در \fBchronyd\fP) فقط در صورت برقراری سه شرط زیر کار می‌کنند: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} لینوکس در حال اجرا باشد. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} هسته با پشتیبانی گسترده ساعت بلادرنگ کامپایل شده باشد (افزاره \fI/dev/rtc\fP فعال باشد). .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} برنامه دیگری از \fI/dev/rtc\fP استفاده نکند. .RE .RE .sp \fBrtconutc\fP .RS 4 \fBchronyd\fP به‌طور پیش‌فرض فرض می‌کند RTC زمان محلی را نگه می‌دارد (شامل تغییرات ساعت تابستانی). این حالت برای سیستم‌های دوگانه‌بوت لینوکس و ویندوز مناسب است. .sp در صورت تنظیم RTC روی زمان محلی و خاموش بودن رایانه هنگام تغییر ساعت تابستانی، ساعت سیستم در بوت بعدی یک ساعت خطا خواهد داشت. .sp راهکار دیگر، نگهداری ساعت هماهنگ جهانی (UTC) در RTC است. این روش مشکل خطای یک ساعته را ندارد. .sp دستورالعمل \fBrtconutc\fP نشان می‌دهد RTC باید زمان UTC را نگه دارد. این دستور آرگومانی ندارد و معادل سوئیچ \fB\-u\fP در برنامه \fBhwclock\fP است. .sp این تنظیم توسط \fBhwclockfile\fP لغو می‌شود و برای دستورالعمل \fBrtcsync\fP یا استفاده از RTC به‌عنوان ساعت مرجع کاربرد ندارد. .RE .sp \fBrtcsync\fP .RS 4 دستورالعمل \fBrtcsync\fP حالتی را فعال می‌کند که در آن ساعت سیستم به‌صورت دوره‌ای روی RTC کپی شده و \fBchronyd\fP رانش آن را ردیابی نمی‌کند. این دستورالعمل با \fBrtcfile\fP هم‌زمان قابل استفاده نیست. .sp در لینوکس، رونوشت RTC توسط کرنل هر ۱۱ دقیقه یک‌بار انجام می‌شود. .sp در macOS، زمانی که ساعت سیستم در وضعیت همگام‌شده باشد، \fBchronyd\fP رونوشت RTC را هر ۶۰ دقیقه یک‌بار انجام می‌دهد. .sp در سایر سیستم‌ها، این دستورالعمل هیچ کاری انجام نمی‌دهد. .RE .SS "گزارش‌گیری (Logging)" .sp \fBlog\fP [\fIoption\fP].\|.\|. .RS 4 دستورالعمل \fBlog\fP مشخص می‌کند که اطلاعات خاصی باید ثبت و گزارش شوند. پرونده‌های گزارش در شاخه‌ای که توسط دستورالعمل \fBlogdir\fP مشخص شده نوشته می‌شوند. به‌طور دوره‌ای سربرگی در پرونده‌ها نوشته می‌شود تا معنای ستون‌ها را مشخص کند. .sp \fBrawmeasurements\fP .RS 4 این گزینه اندازه‌گیری‌های خام NTP و اطلاعات مرتبط را در پرونده‌ای به نام \fImeasurements.log\fP ثبت می‌کند. برای هر بسته دریافتی از منبع، یک ورودی ثبت می‌شود. این گزینه هنگام اشکال‌زدایی یک مشکل می‌تواند مفید باشد. نمونه‌ای از یک خط (که در پرونده اصلی به‌صورت یک خط واحد ظاهر می‌شود) از پرونده گزارش در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2016\-11\-09 05:40:50 203.0.113.15\& N\& 2 111 111 1111\& 10 10 1.0 \(rs \-4.966e\-03\& 2.296e\-01\& 1.577e\-05\& 1.615e\-01\& 7.446e\-03 CB00717B 4B D K .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر داخل قلاب، مقادیر مربوط به خط نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2015\-10\-13] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. توجه داشته باشید که جفت تاریخ-زمان در قالب UTC بیان می‌شود، نه منطقه زمانی محلی. [05:40:50] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} نشانی IP سرور یا پیری که اندازه‌گیری از آن به دست آمده است [203.0.113.15] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} وضعیت کبیسه (\fIN\fP به معنای عادی، \fI+\fP به این معنا که آخرین دقیقه ماه جاری ۶۱ ثانیه است، \fI\-\fP به این معنا که آخرین دقیقه ماه ۵۹ ثانیه است، \fI?\fP به این معنا که رایانه دوردست در حال حاضر همگام نشده است.) [N] .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} استراتوم رایانه دوردست. [2] .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} آزمون‌های ۱ تا ۳ مربوط به RFC 5905 (۱=قبول، ۰=رد) [111] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} آزمون‌های ۵ تا ۷ مربوط به RFC 5905 (۱=قبول، ۰=رد) [111] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} نتایج آزمون‌های \fBmaxdelay\fP، \fBmaxdelayratio\fP، و \fBmaxdelaydevratio\fP (یا \fBmaxdelayquant\fP)، و آزمونی برای حلقه همگام‌سازی (۱=قبول، ۰=رد). نخستین آزمون از این چهار آزمون، دقت سرور، زمان پاسخ، معتبر بودن آفست اندازه‌گیری‌شده و این‌که آیا یک پاسخ درهم‌تنیده برای همگام‌سازی قابل قبول است یا خیر را نیز بررسی می‌کند. [1111] .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} نظرسنجی محلی [10] .RE .sp .RS 4 .ie n \{\ \h'-04' 10.\h'+01'\c .\} .el \{\ . sp -1 . IP " 10." 4.2 .\} نظرسنجی دوردست [10] .RE .sp .RS 4 .ie n \{\ \h'-04' 11.\h'+01'\c .\} .el \{\ . sp -1 . IP " 11." 4.2 .\} \(oqامتیاز\(cq (یک امتیاز داخلی در هر سطح نظرسنجی که برای تصمیم‌گیری در مورد افزایش یا کاهش سطح نظرسنجی به کار می‌رود. این مقدار بر اساس تعداد اندازه‌گیری‌هایی که در حال حاضر برای الگوریتم رگرسیون استفاده می‌شوند تنظیم می‌گردد). [1.0] .RE .sp .RS 4 .ie n \{\ \h'-04' 12.\h'+01'\c .\} .el \{\ . sp -1 . IP " 12." 4.2 .\} خطای تخمینی ساعت محلی (\fItheta\fP در RFC 5905). مقادیر مثبت نشان می‌دهند که ساعت محلی نسبت به منبع دوردست عقب‌تر است. [\-4.966e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 13.\h'+01'\c .\} .el \{\ . sp -1 . IP " 13." 4.2 .\} تأخیر همتا (\fIdelta\fP در RFC 5905). [2.296e\-01] .RE .sp .RS 4 .ie n \{\ \h'-04' 14.\h'+01'\c .\} .el \{\ . sp -1 . IP " 14." 4.2 .\} پراکندگی همتا (\fIepsilon\fP در RFC 5905). [1.577e\-05] .RE .sp .RS 4 .ie n \{\ \h'-04' 15.\h'+01'\c .\} .el \{\ . sp -1 . IP " 15." 4.2 .\} تاخیر ریشه (\fIDELTA\fP در RFC 5905). [1.615e\-01] .RE .sp .RS 4 .ie n \{\ \h'-04' 16.\h'+01'\c .\} .el \{\ . sp -1 . IP " 16." 4.2 .\} پراکندگی ریشه (\fIEPSILON\fP در RFC 5905). [7.446e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 17.\h'+01'\c .\} .el \{\ . sp -1 . IP " 17." 4.2 .\} شناسه مرجع منبع سرور به‌صورت یک عدد هگزادسیمال. [CB00717B] .RE .sp .RS 4 .ie n \{\ \h'-04' 18.\h'+01'\c .\} .el \{\ . sp -1 . IP " 18." 4.2 .\} حالت NTP بسته دریافت‌شده (\fI1\fP=همتای فعال، \fI2\fP=همتای غیرفعال، \fI4\fP=سرور، \fIB\fP=پایه، \fII\fP=درهم‌تنیده). [4B] .RE .sp .RS 4 .ie n \{\ \h'-04' 19.\h'+01'\c .\} .el \{\ . sp -1 . IP " 19." 4.2 .\} منبع برچسب زمانی ارسال محلی (\fID\fP=دیمن، \fIK\fP=هسته، \fIH\fP=سخت‌افزار). [D] .RE .sp .RS 4 .ie n \{\ \h'-04' 20.\h'+01'\c .\} .el \{\ . sp -1 . IP " 20." 4.2 .\} منبع برچسب زمانی دریافت محلی (\fID\fP=دیمن، \fIK\fP=هسته، \fIH\fP=سخت‌افزار). [K] .RE .RE .sp \fBmeasurements\fP .RS 4 این گزینه با گزینه \fBrawmeasurements\fP یکسان است، با این تفاوت که تنها اندازه‌گیری‌های معتبر از منابع همگام‌شده را ثبت می‌کند، یعنی اندازه‌گیری‌هایی که آزمون‌های ۱ تا ۷ در RFC 5905 را با موفقیت پشت سر گذاشته‌اند. این می‌تواند برای رسم نمودارهای عملکرد منبع مفید باشد. .RE .sp \fBstatistics\fP .RS 4 این گزینه اطلاعات مربوط به پردازش رگرسیون را در پرونده‌ای به نام \fIstatistics.log\fP ثبت می‌کند. یک خط نمونه (که در واقع به صورت یک خط تکی در پرونده ظاهر می‌شود) از پرونده ثبت گزارش در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2016\-08\-10 05:40:50 203.0.113.15\& 6.261e\-03 \-3.247e\-03 \(rs 2.220e\-03\& 1.874e\-06\& 1.080e\-06 7.8e\-02\& 16\& 0\& 8\& 0.00 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر درون براکت مقادیر خط نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2015\-07\-22] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. توجه داشته باشید که جفت تاریخ\-زمان بر حسب UTC بیان می‌شود، نه منطقه زمانی محلی. [05:40:50] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} نشانی IP سرور یا همتایی که اندازه‌گیری از آن می‌آید [203.0.113.15] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} انحراف معیار تخمینی اندازه‌گیری‌های منبع (به ثانیه). [6.261e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} آفست تخمینی منبع (به ثانیه، در این حالت مقدار مثبت یعنی ساعت محلی جلوتر تخمین زده شده است). [\-3.247e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} انحراف معیار تخمینی برای آفست تخمین‌زده‌شده (به ثانیه). [2.220e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} نرخ تخمینی جلو رفتن یا عقب افتادن زمان ساعت محلی نسبت به منبع (به ثانیه در ثانیه، مثبت یعنی ساعت محلی جلو می‌افتد). این مقدار نسبت به جبران‌سازی فعلی اعمال‌شده روی ساعت محلی است، \fIنه\fP نسبت به ساعت محلی بدون هرگونه جبران‌سازی. [1.874e\-06] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} خطای تخمینی در مقدار نرخ (به ثانیه در ثانیه). [1.080e\-06]. .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} نسبت |old_rate \- new_rate| / old_rate_error. مقادیر بزرگ نشان می‌دهند که آمار منبع را به خوبی مدل‌سازی نمی‌کند. [7.8e\-02] .RE .sp .RS 4 .ie n \{\ \h'-04' 10.\h'+01'\c .\} .el \{\ . sp -1 . IP " 10." 4.2 .\} تعداد اندازه‌گیری‌هایی که در حال حاضر برای الگوریتم رگرسیون استفاده می‌شوند. [16] .RE .sp .RS 4 .ie n \{\ \h'-04' 11.\h'+01'\c .\} .el \{\ . sp -1 . IP " 11." 4.2 .\} شاخص شروع جدید (قدیمی‌ترین نمونه دارای شاخص 0 است؛ این روشی است که برای هرس نمونه‌های قدیمی هنگامی که دیگر به نظر نمی‌رسد اندازه‌گیری‌ها با مدل خطی همخوانی دارند، استفاده می‌شود). [0، یعنی هیچ نمونه‌ای این بار دور ریخته نشده است] .RE .sp .RS 4 .ie n \{\ \h'-04' 12.\h'+01'\c .\} .el \{\ . sp -1 . IP " 12." 4.2 .\} تعداد دورها (runs). تعداد دورهای باقیمانده‌های رگرسیون با علامت یکسان محاسبه می‌شود. اگر این مقدار خیلی کوچک باشد، نشان می‌دهد که اندازه‌گیری‌ها دیگر به خوبی با یک مدل خطی نمایش داده نمی‌شوند و برخی نمونه‌های قدیمی‌تر باید دور ریخته شوند. تعداد دورها برای داده‌هایی که حفظ می‌شوند در جدول قرار می‌گیرد. مقادیری تقریباً نصف تعداد نمونه‌ها مورد انتظار است. [8] .RE .sp .RS 4 .ie n \{\ \h'-04' 13.\h'+01'\c .\} .el \{\ . sp -1 . IP " 13." 4.2 .\} عدم تقارن تخمینی یا پیکربندی‌شده لغزش شبکه (jitter) در مسیر به منبع که برای تصحیح آفست‌های اندازه‌گیری‌شده استفاده شده است. عدم تقارن می‌تواند بین \-0.5 و +0.5 باشد. مقدار منفی یعنی تاخیر بسته‌های ارسال‌شده به منبع متغیرتر از تاخیر بسته‌های ارسال‌شده برگشتی از منبع است. [0.00، یعنی بدون تصحیح برای عدم تقارن] .RE .RE .sp \fBselection\fP .RS 4 این گزینه اطلاعات مربوط به انتخاب منابع برای همگام‌سازی را در پرونده‌ای به نام \fIselection.log\fP ثبت می‌کند. توجه داشته باشید که نرخ ورودی‌های نوشته‌شده در این پرونده به صورت درجه دو با تعداد منابع مشخص‌شده رشد می‌کند (هر اندازه‌گیری انتخاب را برای تمام منابع فعال می‌کند). یک خط نمونه (که در واقع به صورت یک خط واحد در پرونده ظاهر می‌شود) از پرونده ثبت رویداد در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2022\-05\-01 02:01:20 203.0.113.15\& * \-\-\-\-\-\& 377\& 1.00\& \(rs 4.228e+01 \-1.575e\-04\& 1.239e\-04 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر داخل قلاب مقادیر خط نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2022\-05\-01] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. توجه داشته باشید که جفت تاریخ\-زمان بر حسب UTC بیان می‌شود، نه منطقه زمانی محلی. [02:01:20] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} نشانی IP یا شناسه مرجع (reference ID) منبع. [203.0.113.15] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} وضعیت منبع که با یکی از نمادهای زیر مشخص می‌شود. [*] .sp .RS 4 برای همگام‌سازی قابل انتخاب در نظر گرفته نشده است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIN\fP \- گزینه \fBnoselect\fP را دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIs\fP \- همگام‌سازی نشده است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIM\fP \- اندازه‌گیری‌های کافی ندارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fId\fP \- فاصله ریشه (root distance) بزرگ‌تر از حداکثر فاصله (پیکربندی‌شده توسط دستورالعمل \fBmaxdistance\fP) دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fI~\fP \- لغزشی (jitter) بزرگ‌تر از حداکثر لغزش (پیکربندی‌شده توسط دستورالعمل \fBmaxjitter\fP) دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIw\fP \- منتظر می‌ماند تا منابع دیگر از وضعیت \fIM\fP خارج شوند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIS\fP \- نسبت به منابع دیگر اندازه‌گیری‌های قدیمی‌تری دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIO\fP \- دارای stratum برابر یا بزرگ‌تر از stratum یتیم (پیکربندی‌شده توسط دستورالعمل \fBlocal\fP). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIT\fP \- عدم توافق کامل با منابع دارای گزینه \fBtrust\fP. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIx\fP \- عدم توافق با سایر منابع (falseticker). .RE .RE .sp .RS 4 قابل انتخاب برای همگام‌سازی در نظر گرفته شده، اما در حال حاضر استفاده نمی‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIW\fP \- در انتظار قابل انتخاب شدن سایر منابع (الزام‌شده توسط دستورالعمل \fBminsources\fP، یا گزینه \fBrequire\fP یک منبع دیگر). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIP\fP \- ترجیح یک منبع قابل انتخاب دیگر به‌دلیل گزینه \fBprefer\fP. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIU\fP \- در انتظار اندازه‌گیری جدید (پس از انتخاب یک منبع برتر متفاوت). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fID\fP \- دارای root distance بسیار بزرگ (در حال حاضر یا اخیراً) برای ترکیب با سایر منابع (پیکربندی‌شده با دستورالعمل \fBcombinelimit\fP). .RE .RE .sp .RS 4 استفاده‌شده برای همگام‌سازی ساعت محلی: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fI+\fP \- ترکیب‌شده با بهترین منبع. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fI*\fP \- انتخاب‌شده به‌عنوان بهترین منبع برای به‌روزرسانی داده‌های مرجع (مانند root delay، root dispersion). .RE .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} گزینه‌های انتخاب موثر فعلی منبع. ممکن است به‌دلیل حالت انتخاب احراز هویت (پیکربندی‌شده توسط دستورالعمل \fBauthselectmode\fP) با گزینه‌های پیکربندی‌شده تفاوت داشته باشد. [\-\-\-\-\-] .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIN\fP نشان‌دهنده گزینه \fBnoselect\fP است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIP\fP نشان‌دهنده گزینه \fBprefer\fP است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIT\fP نشان‌دهنده گزینه \fBtrust\fP است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fIR\fP نشان‌دهنده گزینه \fBrequire\fP است. .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} ثبات دسترس‌پذیری چاپ‌شده به‌صورت یک عدد مبنای هشت (اکتال). این ثبات ۸ بیت دارد و با هر بسته دریافتی یا ازدست‌رفته از منبع به‌روزرسانی می‌شود. مقدار 377 نشان می‌دهد که برای تمام هشت ارسال اخیر پاسخی معتبر دریافت شده است. [377] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} امتیاز فعلی در برابر منبع در وضعیت \fI*\fP. سیستم امتیازدهی از انتخاب مجدد مکرر در زمان شباهت root distance چندین منبع جلوگیری می‌کند. مقدار بزرگ‌تر از 1 نشان می‌دهد این منبع در انتخاب‌های اخیر از منبع \fI*\fP بهتر بوده است. در صورت رسیدن امتیاز به 10، بهترین منبع مجدداً انتخاب شده و امتیازها به 1 بازنشانی می‌شوند. [1.00] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} فاصله زمانی از آخرین اندازه‌گیری منبع به ثانیه. [4.228e+01] .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} نقطه پایانی پایین بازه‌ای که انتظار می‌رفت شامل آفست واقعی ساعت محلی تعیین‌شده توسط root distance منبع باشد. [\-1.575e\-04] .RE .sp .RS 4 .ie n \{\ \h'-04' 10.\h'+01'\c .\} .el \{\ . sp -1 . IP " 10." 4.2 .\} نقطه پایانی بالای بازه‌ای که انتظار می‌رفت شامل آفست واقعی ساعت محلی تعیین‌شده توسط root distance منبع باشد. [1.239e\-04] .RE .RE .sp \fBtracking\fP .RS 4 این گزینه تغییرات برآورد نرخ پیش‌افتادن یا عقب‌افتادن سیستم، و هرگونه slew انجام‌شده را در پرونده‌ای به نام \fItracking.log\fP ثبت می‌کند. یک سطر نمونه (که در اصل به صورت یک تک‌سطر در پرونده نمایش می‌یابد) از پرونده گزارش در زیر آورده شده است. .sp .if n .RS 4 .nf .fam C 2017\-08\-22 13:22:36 203.0.113.15\& 2\& \-3.541\& 0.075 \-8.621e\-06 N \(rs 2\& 2.940e\-03 \-2.084e\-04\& 1.534e\-02\& 3.472e\-04\& 8.304e\-03 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر درون قلاب‌ها مقادیر سطر نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2017\-08\-22] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. توجه داشته باشید که زوج تاریخ-زمان در قالب UTC بیان می‌شود، نه منطقه زمانی محلی. [13:22:36] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} نشانی IP کارساز یا همتایی که سیستم محلی با آن همگام شده است. [203.0.113.15] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} مقدار stratum سیستم محلی. [2] .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} بسامد سیستم محلی (بر حسب ppm، مثبت یعنی سیستم محلی جلوتر از UTC کار می‌کند). [\-3.541] .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} حدود خطای بسامد (بر حسب ppm). [0.075] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} آفست محلی تخمینی در مبدا زمانی، که معمولاً با slew ساعت محلی تصحیح می‌شود (بر حسب ثانیه، مثبت نشان می‌دهد ساعت جلوتر از UTC است). [\-8.621e\-06] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} وضعیت ثانیه کبیسه (\fIN\fP یعنی عادی، \fI+\fP یعنی آخرین دقیقه این ماه ۶۱ ثانیه‌ای است، \fI\-\fP یعنی آخرین دقیقه ماه ۵۹ ثانیه‌ای است، \fI?\fP یعنی ساعت در حال حاضر همگام نیست.) [N] .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} تعداد منابع ترکیب‌شده. [2] .RE .sp .RS 4 .ie n \{\ \h'-04' 10.\h'+01'\c .\} .el \{\ . sp -1 . IP " 10." 4.2 .\} انحراف معیار برآوردشده آفست ترکیب‌شده (بر حسب ثانیه). [2.940e\-03] .RE .sp .RS 4 .ie n \{\ \h'-04' 11.\h'+01'\c .\} .el \{\ . sp -1 . IP " 11." 4.2 .\} تصحیح آفست باقی‌مانده از به‌روزرسانی قبلی (بر حسب ثانیه، مثبت یعنی ساعت سیستم عقب‌تر از UTC است). [\-2.084e\-04] .RE .sp .RS 4 .ie n \{\ \h'-04' 12.\h'+01'\c .\} .el \{\ . sp -1 . IP " 12." 4.2 .\} مجموع تاخیرهای مسیر شبکه تا ساعت مرجعی که ساعت محلی در نهایت با آن همگام می‌شود (بر حسب ثانیه). [1.534e\-02] .RE .sp .RS 4 .ie n \{\ \h'-04' 13.\h'+01'\c .\} .el \{\ . sp -1 . IP " 13." 4.2 .\} پراکندگی کل انباشته‌شده در تمام کارسازها تا ساعت مرجعی که ساعت محلی در نهایت با آن همگام می‌شود (بر حسب ثانیه). [3.472e\-04] .RE .sp .RS 4 .ie n \{\ \h'-04' 14.\h'+01'\c .\} .el \{\ . sp -1 . IP " 14." 4.2 .\} حداکثر خطای تخمینی ساعت سیستم در بازه زمانی از آخرین به‌روزرسانی (به ثانیه). شامل افست، تصحیح افست باقی‌مانده، root delay و پراکندگی از آخرین به‌روزرسانی به همراه پراکندگی انباشته‌شده در بازه. [8.304e\-03] .RE .RE .sp \fBrtc\fP .RS 4 این گزینه اطلاعات ساعت زمان‌واقعی (RTC) سیستم را ثبت می‌کند. یک خط نمونه (که در پرونده به صورت یک خط واحد ظاهر می‌شود) از پرونده \fIrtc.log\fP در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2015\-07\-22 05:40:50\& \-0.037360 1\& \-0.037434\(rs \-37.948\& 12\& 5\& 120 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر داخل قلاب مقادیر خط نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2015\-07\-22] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. جفت تاریخ\-زمان بر حسب UTC بیان می‌شود، نه منطقه زمانی محلی. [05:40:50] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} افست اندازه‌گیری‌شده بین RTC و ساعت سیستم بر حسب ثانیه. مقدار مثبت نشان‌دهنده جلوتر بودن RTC از زمان سیستم است [\-0.037360]. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} پرچم نشان‌دهنده این که آیا رگرسیون ضرایب معتبر تولید کرده است یا خیر. (۱ برای بله، ۰ برای خیر). [1] .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} افست در زمان فعلی که توسط فرایند رگرسیون پیش‌بینی شده است. تفاوت بزرگ بین این مقدار و افست اندازه‌گیری‌شده تمایل به نشان دادن یک داده پرت با خطای اندازه‌گیری جدی دارد. [\-0.037434] .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} نرخی که RTC نسبت به ساعت سیستم زمان از دست می‌دهد یا به دست می‌آورد. بر حسب ppm، با مقدار مثبت که نشان می‌دهد RTC در حال جلو افتادن است. [\-37.948] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} تعداد اندازه‌گیری‌های استفاده‌شده در رگرسیون. [12] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} تعداد توالی‌های باقیمانده‌های رگرسیون با علامت یکسان. مقادیر کم نشان می‌دهند خط مستقیم دیگر مدل مناسبی برای داده‌های اندازه‌گیری‌شده نیست و اندازه‌گیری‌های قدیمی‌تر باید دور ریخته شوند. [5] .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} بازه اندازه‌گیری استفاده‌شده قبل از انجام اندازه‌گیری (به ثانیه). [120] .RE .RE .sp \fBrefclocks\fP .RS 4 این گزینه اندازه‌گیری‌های خام و فیلترشده ساعت مرجع را در پرونده‌ای به نام \fIrefclocks.log\fP ثبت می‌کند. یک خط نمونه (که در پرونده به صورت یک خط واحد ظاهر می‌شود) از پرونده لاگ در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2009\-11\-30 14:33:27.000000 PPS2\& 7 N 1\& 4.900000e\-07 \-6.741777e\-07\& 1.000e\-06 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر داخل قلاب مقادیر خط نمونه بالا هستند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2009\-11\-30] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه.میکروثانیه. جفت تاریخ\-زمان بر حسب UTC بیان می‌شود، نه منطقه زمانی محلی. [14:33:27.000000] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} شناسه مرجع (Reference ID) ساعت مرجعی که اندازه‌گیری از آن آمده است. [PPS2] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} شماره توالی poll راه‌انداز در یک بازه زمانی poll برای نمونه‌های خام، یا \fI\-\fP برای نمونه‌های فیلترشده. [7] .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} وضعیت ثانیه کبیسه (\fIN\fP به معنی عادی، \fI+\fP یعنی آخرین دقیقه از ماه جاری دارای ۶۱ ثانیه است، \fI\-\fP یعنی آخرین دقیقه ماه دارای ۵۹ ثانیه است). [N] .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} پرچمی که مشخص می‌کند آیا نمونه از منبع PPS می‌آید یا خیر (۱ برای بله، ۰ برای خیر، یا \fI\-\fP برای نمونه فیلترشده). [1] .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ . sp -1 . IP " 7." 4.2 .\} خطای ساعت محلی اندازه‌گیری‌شده توسط درایور ساعت مرجع، یا \fI\-\fP برای نمونه فیلترشده. [4.900000e\-07] .RE .sp .RS 4 .ie n \{\ \h'-04' 8.\h'+01'\c .\} .el \{\ . sp -1 . IP " 8." 4.2 .\} خطای ساعت محلی به همراه تصحیحات اعمال‌شده. مقدار مثبت نشان می‌دهد ساعت محلی عقب است. [\-6.741777e\-07] .RE .sp .RS 4 .ie n \{\ \h'-04' 9.\h'+01'\c .\} .el \{\ . sp -1 . IP " 9." 4.2 .\} پراکندگی (dispersion) فرض‌شده نمونه. [1.000e\-06] .RE .RE .sp \fBtempcomp\fP .RS 4 این گزینه اندازه‌گیری‌های دما و جبران‌سازی‌های نرخ سیستم را در پرونده‌ای به نام \fItempcomp.log\fP ثبت می‌کند. یک خط نمونه (که در عمل به صورت یک خط واحد در پرونده ظاهر می‌شود) از پرونده گزارش در زیر نشان داده شده است. .sp .if n .RS 4 .nf .fam C 2015\-04\-19 10:39:48\& 2.8000e+04\& 3.6600e\-01 .fam .fi .if n .RE .sp ستون‌ها به شرح زیر هستند (مقادیر داخل کروشه مقادیر مربوط به خط نمونه بالا می‌باشند): .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} تاریخ [2015\-04\-19] .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} ساعت:دقیقه:ثانیه. توجه داشته باشید که جفت تاریخ\-زمان بر حسب UTC بیان شده است، نه منطقه زمانی محلی. [10:39:48] .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} دمای خوانده‌شده از حسگر. [2.8000e+04] .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} جبران‌سازی اعمال‌شده بر حسب ppm، مقدار مثبت به این معنی است که ساعت سیستم سریع‌تر از حالتی که بدون جبران‌سازی بود کار می‌کند. [3.6600e\-01] .RE .RE .RE .sp .RS 4 یک مثال از این دستورالعمل: .sp .if n .RS 4 .nf .fam C log measurements statistics tracking .fam .fi .if n .RE .RE .sp \fBlogbanner\fP \fIentries\fP .RS 4 یک بنر (سربرگ) به صورت دوره‌ای در پرونده‌های گزارشی که توسط دستورالعمل \fBlog\fP فعال شده‌اند نوشته می‌شود تا معنای ستون‌ها را مشخص کند. .sp دستورالعمل \fBlogbanner\fP بازه تعداد ورودی‌هایی که در پرونده گزارش نوشته می‌شوند و پس از آن بنر دوباره نوشته می‌شود را مشخص می‌کند. مقدار پیش‌فرض ۳۲ است، و برای غیرفعال کردن کامل آن می‌توان از ۰ استفاده کرد. .RE .sp \fBlogchange\fP \fIthreshold\fP .RS 4 این دستورالعمل آستانه‌ای را برای تنظیم ساعت سیستم تعیین می‌کند که باعث تولید پیام syslog خواهد شد. خطاهای ساعت شناسایی‌شده از طریق بسته‌های NTP، ساعت‌های مرجع، یا برچسب‌های زمانی واردشده از طریق دستور \fBsettime\fP در \fBchronyc\fP ثبت می‌شوند. .sp به طور پیش‌فرض، این آستانه ۱ ثانیه است. .sp یک مثال از استفاده: .sp .if n .RS 4 .nf .fam C logchange 0.1 .fam .fi .if n .RE .sp که باعث می‌شود در صورت آغاز جبران‌سازی خطای ساعت سیستم بیشتر از ۰.۱ ثانیه، یک پیام syslog تولید شود. .RE .sp \fBlogdir\fP \fIdirectory\fP .RS 4 این دستورالعمل شاخه مورد استفاده برای نوشتن پرونده‌های گزارش فعال‌شده توسط دستورالعمل \fBlog\fP را تعیین می‌کند. اگر شاخه وجود نداشته باشد، به طور خودکار ایجاد خواهد شد. .sp یک مثال از استفاده از این دستورالعمل: .sp .if n .RS 4 .nf .fam C logdir /var/log/chrony .fam .fi .if n .RE .RE .sp \fBmailonchange\fP \fIemail\fP \fIthreshold\fP .RS 4 این دستورالعمل نشانی رایانامه‌ای را تعیین می‌کند که اگر \fBchronyd\fP تصحیحی فراتر از یک آستانه خاص بر ساعت سیستم اعمال کرد، به آن رایانامه ارسال شود. .sp یک مثال از استفاده از این دستورالعمل: .sp .if n .RS 4 .nf .fam C mailonchange root@localhost 0.5 .fam .fi .if n .RE .sp این دستور در صورتی که تغییری بیش از ۰.۵ ثانیه بر روی ساعت سیستم اعمال شود، یک پیام ایمیل به root ارسال می‌کند. .sp این دستورالعمل را نمی‌توان هنگامی که پالایه فراخوانی سیستم توسط گزینه \fB\-F\fP فعال شده باشد استفاده کرد، زیرا به پردازش \fBchronyd\fP اجازه انشعاب (fork) و اجرای باینری sendmail داده نخواهد شد. .RE .SS "متفرقه (Miscellaneous)" .sp \fBconfdir\fP \fIdirectory\fP.\|.\|. .RS 4 دستورالعمل \fBconfdir\fP پرونده‌های پیکربندی با پسوند \fI.conf\fP را از یک شاخه وارد (include) می‌کند. پرونده‌ها به ترتیب لغت‌نگاری نام پرونده‌ها وارد می‌شوند. .sp چندین شاخه (حداکثر ۱۰ مورد) را می‌توان با یک دستورالعمل \fBconfdir\fP مشخص کرد. در این حالت، اگر چندین شاخه حاوی پرونده‌ای با نام یکسان باشند، تنها اولین پرونده به ترتیب شاخه‌های مشخص‌شده وارد خواهد شد. این کار امکان یک پیکربندی قطعه‌قطعه را فراهم می‌کند که در آن می‌توان با افزودن پرونده‌ها به شاخه‌ای دیگر، قطعات موجود را جایگزین کرد. .sp این دستورالعمل می‌تواند چندین بار استفاده شود. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C confdir /etc/chrony.d .fam .fi .if n .RE .RE .sp \fBsourcedir\fP \fIdirectory\fP.\|.\|. .RS 4 دستورالعمل \fBsourcedir\fP همسان دستورالعمل \fBconfdir\fP است، با این تفاوت که پرونده‌های پیکربندی پسوند \fI.sources\fP دارند، فقط می‌توانند منابع NTP را مشخص کنند (یعنی دستورالعمل‌های \fBserver\fP، \fBpool\fP و \fBpeer\fP)، انتظار می‌رود تمامی خطوط به نویسه خط جدید ختم شوند، و می‌توانند توسط دستور \fBreload sources\fP در \fBchronyc\fP بازخوانی شوند. این دستورالعمل به‌ویژه برای منابع پویا مانند سرورهای NTP دریافت‌شده از یک سرور DHCP مفید است، که می‌توانند توسط یک اسکریپت شبکه در پرونده‌ای مختص به همان رابط شبکه نوشته شوند. .sp این دستورالعمل می‌تواند چندین بار استفاده شود. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C sourcedir /var/run/chrony\-dhcp .fam .fi .if n .RE .RE .sp \fBinclude\fP \fIpattern\fP .RS 4 دستورالعمل \fBinclude\fP یک پرونده پیکربندی یا در صورت مشخص شدن یک الگوی نویسه عمومی (wildcard)، چندین پرونده پیکربندی را شامل می‌کند. برخلاف دستورالعمل \fBconfdir\fP، نام کامل پرونده‌ها باید مشخص شود و وجود حداقل یک پرونده الزامی است. .sp این دستورالعمل می‌تواند چندین بار استفاده شود. .sp نمونه‌ای از این دستورالعمل: .sp .if n .RS 4 .nf .fam C include /etc/chrony.d/*.conf .fam .fi .if n .RE .RE .sp \fBhwtimestamp\fP \fIinterface\fP [\fIoption\fP].\|.\|. .RS 4 این دستورالعمل برچسب‌گذاری زمانی سخت‌افزاری (HW timestamping) بسته‌های NTP ارسالی و دریافتی از رابط شبکه مشخص‌شده را فعال می‌کند. کنترل‌کننده رابط شبکه (NIC) از ساعت خود برای برچسب‌گذاری زمانی دقیق ارسال‌ها و دریافت‌های واقعی استفاده می‌کند که از تاخیرهای پردازش و صف‌بندی در هسته، درایور شبکه و سخت‌افزار جلوگیری می‌کند. این کار می‌تواند دقت برچسب‌های زمانی و انحراف (offset) اندازه‌گیری‌شده را که برای همگام‌سازی ساعت سیستم استفاده می‌شود، به میزان قابل توجهی بهبود بخشد. برای دستیابی به بهترین نتایج، هر دو سمت دریافت‌کننده و ارسال‌کننده بسته‌های NTP (یعنی سرور و کلاینت، یا دو همتا) باید از HW timestamping استفاده کنند. اگر سرور یا همتا از حالت interleaved پشتیبانی می‌کند، باید با گزینه \fBxleave\fP در دستورالعمل \fBserver\fP یا \fBpeer\fP فعال شود. .sp این دستورالعمل در Linux 3.19 و جدیدتر پشتیبانی می‌شود. کارت شبکه (NIC) باید از HW timestamping پشتیبانی کند، که می‌توان آن را با دستور \fBethtool \-T\fP بررسی کرد. فهرست قابلیت‌ها باید شامل \fIhardware\-raw\-clock\fP، \fIhardware\-transmit\fP و \fIhardware\-receive\fP باشد. پالایه دریافت \fIall\fP یا \fIntp\fP برای برچسب‌گذاری زمانی بسته‌های دریافتی NTP ضروری است. برچسب‌گذاری زمانی بسته‌های دریافت‌شده روی رابط‌های bridged و bonded در Linux 4.13 و جدیدتر پشتیبانی می‌شود. اگر HW timestamping برای بسته‌های دریافتی کار نکند، \fBchronyd\fP در عوض از برچسب‌های زمانی دریافت هسته استفاده خواهد کرد. برچسب‌گذاری زمانی سخت‌افزاری فقط-ارسال همچنان می‌تواند برای بهبود پایداری همگام‌سازی مفید باشد. .sp برنامه \fBchronyd\fP ساعت NIC را همگام‌سازی نمی‌کند. فرض می‌کند که ساعت به‌صورت آزاد کار می‌کند. چندین نمونه از \fBchronyd\fP می‌توانند از یک رابط با HW timestamping فعال استفاده کنند. برنامه‌هایی که به HW timestamping با ساعت همگام‌شده نیاز دارند (مانند دیمن PTP) باید از یک ساعت مجازی که روی ساعت فیزیکی اجرا می‌شود و با نوشتن در \fI/sys/class/ptp/ptpX/n_vclocks\fP ایجاد شده است، استفاده کنند. این ویژگی در Linux 5.14 و جدیدتر در دسترس است. .sp اگر هسته از برچسب‌گذاری زمانی نرم‌افزاری پشتیبانی کند، به‌طور خودکار برای همه رابط‌ها فعال خواهد شد. .sp منبع برچسب‌های زمانی (یعنی سخت‌افزار، هسته یا دیمن) در سمت کلاینت در پرونده \fImeasurements.log\fP (در صورت فعال بودن توسط دستورالعمل \fBlog\fP) و گزارش \fBntpdata\fP نشان داده می‌شود. در سمت سرور، تعداد برچسب‌های زمانی ارائه‌شده از هر منبع در گزارش \fBserverstats\fP ارائه می‌شود. .sp این دستورالعمل می‌تواند چندین بار برای فعال‌سازی HW timestamping روی چندین رابط استفاده شود. اگر رابط مشخص‌شده \fI*\fP باشد، \fBchronyd\fP تلاش خواهد کرد تا HW timestamping را روی تمام رابط‌های موجود فعال کند. .sp دستورالعمل \fBhwtimestamp\fP دارای گزینه‌های زیر است: .sp \fBminpoll\fP \fIpoll\fP .RS 4 این گزینه حداقل فاصله بین خواندن‌های ساعت NIC را مشخص می‌کند. این مقدار به صورت توانی از ۲ تعریف می‌شود. باید متناظر با حداقل بازه نظرسنجی همه منابع NTP و حداقل بازه نظرسنجی مورد انتظار کلاینت‌های NTP باشد. مقدار پیش‌فرض 0 (۱ ثانیه)، حداقل مقدار \-6 (۱/۶۴ ثانیه) و حداکثر مقدار 20 (حدود ۱۲ روز) است. .RE .sp \fBmaxpoll\fP \fIpoll\fP .RS 4 این گزینه حداکثر فاصله بین خواندن‌های ساعت NIC را به صورت توانی از ۲ مشخص می‌کند. مقدار پیش‌فرض \fBminpoll\fP + 1 است، یعنی با مقدار پیش‌فرض 0 برای \fBminpoll\fP برابر با 1 (۲ ثانیه) خواهد بود. مقادیر حداقل و حداکثر مشابه گزینه \fBminpoll\fP هستند. .RE .sp \fBminsamples\fP \fIsamples\fP .RS 4 این گزینه حداقل تعداد خواندن‌های نگه‌داری‌شده برای ردیابی ساعت NIC را مشخص می‌کند. مقدار پیش‌فرض 2 است. .RE .sp \fBmaxsamples\fP \fIsamples\fP .RS 4 این گزینه حداکثر تعداد خواندن‌های نگه‌داری‌شده برای ردیابی ساعت NIC را مشخص می‌کند. مقدار پیش‌فرض 16 است. .RE .sp \fBprecision\fP \fIprecision\fP .RS 4 این گزینه دقت فرض‌شده خواندن ساعت NIC را مشخص می‌کند. مقدار پیش‌فرض 100e\-9 (۱۰۰ نانوثانیه) است. .RE .sp \fBtxcomp\fP \fIcompensation\fP .RS 4 این گزینه اختلاف بر حسب ثانیه بین زمان واقعی ارسال در لایه فیزیکی و برچسب زمانی ارسال گزارش‌شده را مشخص می‌کند. این مقدار به برچسب‌های زمانی ارسال دریافت‌شده از NIC اضافه خواهد شد. مقدار پیش‌فرض 0 است. .RE .sp \fBrxcomp\fP \fIcompensation\fP .RS 4 این گزینه اختلاف بر حسب ثانیه بین برچسب زمانی دریافت گزارش‌شده و زمان واقعی دریافت در لایه فیزیکی را مشخص می‌کند. این مقدار از برچسب‌های زمانی دریافت به‌دست‌آمده از NIC کم خواهد شد. مقدار پیش‌فرض 0 است. .RE .sp \fBnocrossts\fP .RS 4 برخی سخت‌افزارها می‌توانند ساعت NIC را با ساعت سیستم به طور دقیق برچسب‌گذاری متقاطع (cross-timestamp) کنند. این گزینه استفاده از برچسب‌گذاری متقاطع را غیرفعال می‌کند. .RE .sp \fBrxfilter\fP \fIfilter\fP .RS 4 این گزینه پالایه برچسب‌گذاری زمانی دریافت را انتخاب می‌کند. مقدار \fIfilter\fP می‌تواند یکی از موارد زیر باشد: .sp \fIall\fP .RS 4 برچسب‌گذاری زمانی همه بسته‌های دریافتی را فعال می‌کند. .RE .sp \fIntp\fP .RS 4 برچسب‌گذاری زمانی بسته‌های NTP دریافتی را فعال می‌کند. .RE .sp \fIptp\fP .RS 4 برچسب‌گذاری زمانی بسته‌های PTP دریافتی را فعال می‌کند. .RE .sp \fInone\fP .RS 4 برچسب‌گذاری زمانی بسته‌های دریافتی را غیرفعال می‌کند. .RE .RE .sp .RS 4 به‌طور پیش‌فرض، خاص‌ترین فیلتر برای برچسب‌گذاری زمانی بسته‌های NTP که توسط کارت شبکه (NIC) پشتیبانی می‌شود، انتخاب می‌گردد. برخی از NICها تنها می‌توانند بسته‌های PTP را برچسب‌گذاری زمانی کنند. به‌طور پیش‌فرض، آن‌ها با فیلتر \fInone\fP پیکربندی می‌شوند و انتظار می‌رود فقط برای بسته‌های ارسالی برچسب‌های زمانی سخت‌افزاری ارائه دهند. برچسب‌گذاری زمانی بسته‌های PTP با فعال بودن NTP\-over\-PTP توسط دستورالعمل \fBptpport\fP یا زمانی که برنامه دیگری بسته‌های PTP را روی رابط دریافت می‌کند، مفید است. اجبار برچسب‌گذاری زمانی تمام بسته‌ها با فیلتر \fIall\fP می‌تواند زمانی مفید باشد که NIC از هر دو فیلتر \fIall\fP و \fIntp\fP پشتیبانی کند و قرار باشد هم بسته‌های NTP و PTP، یا بسته‌های NTP روی یک درگاه UDP متفاوت را برچسب‌گذاری زمانی کند. .RE .RE .sp .RS 4 .sp مثال‌هایی از این دستورالعمل عبارتند از: .sp .if n .RS 4 .nf .fam C hwtimestamp eth0 hwtimestamp eth1 txcomp 300e\-9 rxcomp 645e\-9 hwtimestamp * .fam .fi .if n .RE .RE .sp \fBhwtstimeout\fP \fItimeout\fP .RS 4 اگر برچسب‌گذاری زمانی سخت‌افزاری با یک سرور NTP نزدیک استفاده شود، یا NIC یا گرداننده (درایور) آن در ارائه برچسب زمانی ارسال درخواست‌های NTP کند باشد، ممکن است پاسخ از سرور قبل از برچسب زمانی ارسال درخواست دریافت شود. برای جلوگیری از محاسبه آفست با یک برچسب زمانی ارسال با دقت کمتر، \fBchronyd\fP می‌تواند پاسخ را برای پردازش بعدی ذخیره کرده و منتظر برچسب زمانی ارسال سخت‌افزاری بماند. هیچ تضمینی برای ارائه برچسب زمانی وجود ندارد (NICها معمولاً نرخ محدودی برای برچسب‌گذاری زمانی ارسال دارند). این دستورالعمل پیکربندی می‌کند که \fBchronyd\fP پس از دریافت یک پاسخ معتبر از سرور چه مدت باید منتظر برچسب زمانی بماند. اگر در حین انتظار برای برچسب زمانی، پاسخ معتبر دومی از سرور دریافت شود، هر دو بلافاصله پردازش خواهند شد. .sp مقدار پیش‌فرض 0.001 ثانیه است که باید برای بیشتر سخت‌افزارها کافی باشد. اگر مرتباً برچسب‌های زمانی ارسال هسته را در پرونده \fImeasurements.log\fP یا گزارش \fBntpdata\fP مشاهده می‌کنید، و این یک سرور نیست که نرخ بالایی از درخواست‌ها را در حالت interleaved روی همان رابط پردازش می‌کند (که با برچسب‌گذاری زمانی درخواست‌های خود سرور رقابت می‌کند)، افزایش مهلت زمانی به 0.01 یا احتمالاً بیشتر ممکن است کمک کند. توجه داشته باشید که حداکثر مهلت زمانی توسط بازه نظرسنجی NTP محدود می‌شود. .RE .sp \fBkeyfile\fP \fIfile\fP .RS 4 این دستورالعمل برای تعیین مکان پرونده حاوی کلیدهای متقارن استفاده می‌شود؛ کلیدهایی که بین سرورها و کارخواه‌های NTP یا همتایان به اشتراک گذاشته می‌شوند تا بسته‌های NTP را با یک کد اصالت‌سنجی پیام (MAC) با استفاده از یک تابع درهم‌سازی رمزنگاری یا سایفر احراز هویت کنند. .sp قالب این دستورالعمل در مثال زیر نشان داده شده است: .sp .if n .RS 4 .nf .fam C keyfile /etc/chrony.keys .fam .fi .if n .RE .sp آرگومان صرفاً نام پرونده شامل جفت‌های شناسه\-کلید است. قالب پرونده در زیر نشان داده شده است: .sp .if n .RS 4 .nf .fam C 10 tulip 11 hyacinth 20 MD5 ASCII:crocus 25 SHA1 HEX:933F62BE1D604E68A81B557F18CFA200483F5B70 30 AES128 HEX:7EA62AE64D190114D46D5A082F948EC1 31 AES256 HEX:37DDCBC67BB902BCB8E995977FAB4D2B5642F5B32EBCEEE421921D97E5CBFE39 ... .fam .fi .if n .RE .sp هر خط شامل یک شناسه، نوع اختیاری و کلید است. .sp شناسه می‌تواند هر عدد صحیح مثبتی در محدوده ۱ تا 2^32\-1 باشد. .sp نوع، نام یک تابع درهم‌سازی رمزنگاری یا سایفر است که برای تولید و تأیید MAC استفاده می‌شود. نوع پیش‌فرض \fBMD5\fP است که همیشه پشتیبانی می‌شود. اگر \fBchronyd\fP با پشتیبانی فعال برای درهم‌سازی با استفاده از یک کتابخانه رمزنگاری (Nettle، GnuTLS، NSS یا LibTomCrypt) کامپایل شده باشد، توابع زیر در دسترس هستند: \fBMD5\fP، \fBSHA1\fP، \fBSHA256\fP، \fBSHA384\fP، \fBSHA512\fP. بسته به اینکه \fBchronyd\fP از کدام کتابخانه و نسخه استفاده می‌کند، ممکن است برخی از توابع درهم‌سازی و سایفرهای زیر نیز در دسترس باشند: \fBSHA3\-224\fP، \fBSHA3\-256\fP، \fBSHA3\-384\fP، \fBSHA3\-512\fP، \fBTIGER\fP، \fBWHIRLPOOL\fP، \fBAES128\fP، \fBAES256\fP. .sp کلید می‌تواند به صورت رشته‌ای از نویسه‌های ASCII بدون فاصله سفید با پیشوند اختیاری \fBASCII:\fP یا به عنوان یک عدد هگزادسیمال با پیشوند \fBHEX:\fP مشخص شود. حداکثر طول خط 2047 نویسه است. اگر نوع یک سایفر باشد، طول کلید باید با سایفر مطابقت داشته باشد (یعنی ۱۲۸ بیت برای AES128 و ۲۵۶ بیت برای AES256). .sp توصیه می‌شود از کلیدهای تصادفی تولید شده در قالب هگزادسیمال استفاده کنید که حداقل ۱۲۸ بیت طول دارند (یعنی حداقل ۳۲ نویسه بعد از پیشوند \fBHEX:\fP دارند). اگر منبعی در پرونده پیکربندی با کلیدی کوتاه‌تر از ۸۰ بیت مشخص شده باشد، \fBchronyd\fP در هنگام شروع هشداری را در syslog ثبت خواهد کرد. .sp انواع کلید توصیه شده سایفرهای AES و توابع درهم‌سازی SHA3 هستند. از MD5 باید اجتناب شود مگر اینکه نوع دیگری در سرور و کارخواه یا همتایان پشتیبانی نشود. یک نقطه ضعف عمده MD5 برای MAC در NTP، حمله گسترش طول است که در آن یک مهاجم مرد میانی می‌تواند فیلدهای افزونه دلخواه را به پیام NTP اضافه کند و MAC را به‌روز کند تا تأیید پیام گسترش‌یافته با موفقیت انجام شود. گزینه \fBextfield\fP (فعال‌سازی پردازش فیلد افزونه مشخص‌شده) نباید برای منابع NTP که با کلید MD5 احراز هویت شده‌اند استفاده شود. .sp دستور \fBkeygen\fP از \fBchronyc\fP می‌تواند برای تولید کلیدهای تصادفی برای پرونده کلید استفاده شود. به‌طور پیش‌فرض، کلیدهای ۱۶۰ بیتی MD5 یا SHA1 تولید می‌کند. .sp به دلایل امنیتی، پرونده فقط باید توسط root و کاربری که \fBchronyd\fP معمولاً تحت آن اجرا می‌شود قابل خواندن باشد (تا به \fBchronyd\fP اجازه دهد هنگام صدور دستور \fBrekey\fP توسط \fBchronyc\fP، پرونده را دوباره بخواند). .RE .sp \fBlock_all\fP .RS 4 دستورالعمل \fBlock_all\fP فرایند \fBchronyd\fP را در RAM قفل می‌کند تا هرگز به حافظه مجازی منتقل (page out) نشود. این می‌تواند منجر به تأخیر کمتر و پایدارتر شود. این دستورالعمل در Linux، FreeBSD، NetBSD و illumos پشتیبانی می‌شود. .RE .sp \fBpidfile\fP \fIfile\fP .RS 4 مگر اینکه \fBchronyd\fP با گزینه \fB\-Q\fP راه‌اندازی شود، شناسه فرایند (PID) خود را در یک پرونده می‌نویسد و این پرونده را هنگام راه‌اندازی بررسی می‌کند تا ببیند آیا ممکن است \fBchronyd\fP دیگری از قبل روی سیستم در حال اجرا باشد یا خیر. به‌طور پیش‌فرض، پرونده مورد استفاده \fI/run/chrony/chronyd.pid\fP است. دستورالعمل \fBpidfile\fP امکان تغییر نام را فراهم می‌کند، به عنوان مثال: .sp .if n .RS 4 .nf .fam C pidfile /run/chronyd.pid .fam .fi .if n .RE .sp تنظیم این دستورالعمل روی \fI/\fP نوشتن و بررسی پرونده PID را غیرفعال می‌کند. .RE .sp \fBptpport\fP \fIport\fP .RS 4 دستورالعمل \fBptpport\fP به \fBchronyd\fP امکان می‌دهد پیام‌های NTP گنجانده‌شده در پیام‌های رویداد PTP را ارسال و دریافت کند (NTP\-over\-PTP) تا برچسب‌گذاری زمانی سخت‌افزاری روی NICهایی که نمی‌توانند بسته‌های NTP را برچسب‌گذاری کنند اما می‌توانند بسته‌های یونیکست PTP را برچسب‌گذاری کنند فعال شود، و همچنین از اصلاحات ارائه‌شده توسط ساعت‌های شفاف تک‌مرحله‌ای سرتاسری PTP در سوئیچ‌ها و مسیریاب‌های شبکه استفاده کند. درگاهی که توسط NICها و ساعت‌های شفاف PTP شناسایی می‌شود 319 (درگاه رویداد PTP) است. مقدار پیش‌فرض 0 (غیرفعال) است. .sp پشتیبانی از NTP\-over\-PTP آزمایشی است. پروتکل و پیکربندی ممکن است در آینده تغییر کند. این ویژگی فقط باید در شبکه‌های محلی استفاده شود. .sp درگاه PTP باز خواهد بود حتی اگر \fBchronyd\fP برای کار به عنوان سرور یا کارخواه پیکربندی نشده باشد. این دستورالعمل پروتکل پیش‌فرض منابع NTP مشخص‌شده را تغییر نمی‌دهد. هر منبع NTP که باید از NTP\-over\-PTP استفاده کند باید با گزینه \fBport\fP تنظیم‌شده روی درگاه PTP مشخص شود. برای فعال‌سازی واقعی برچسب‌گذاری زمانی سخت‌افزاری روی NICهایی که فقط می‌توانند بسته‌های PTP را برچسب‌گذاری کنند، گزینه \fBrxfilter\fP از دستورالعمل \fBhwtimestamp\fP باید روی \fIptp\fP تنظیم شود. فیلد افزونه \fIF324\fP باید فعال باشد تا از اصلاحات ارائه‌شده توسط ساعت‌های شفاف PTP استفاده شود. .sp یک مثال از پیکربندی کارخواه: .sp .if n .RS 4 .nf .fam C server ntp1.example.net minpoll 0 maxpoll 0 xleave port 319 extfield F324 hwtimestamp * rxfilter ptp ptpport 319 .fam .fi .if n .RE .RE .sp \fBptpdomain\fP \fIdomain\fP .RS 4 دستورالعمل \fBptpdomain\fP شماره دامنه PTP پیام‌های NTP\-over\-PTP ارسالی و پذیرفته‌شده را تنظیم می‌کند. پیام‌های دامنه‌های دیگر نادیده گرفته می‌شوند. پیش‌فرض 123، حداقل 0 و حداکثر 255 است. .RE .sp \fBsched_priority\fP \fIpriority\fP .RS 4 در Linux، FreeBSD، NetBSD و illumos، دستورالعمل \fBsched_priority\fP زمان‌بند بلادرنگ SCHED_FIFO را با اولویت تعیین‌شده انتخاب می‌کند (که باید بین ۰ و ۱۰۰ باشد). در macOS، این گزینه باید مقداری برابر با ۰ (پیش‌فرض) برای غیرفعال‌سازی سیاست محدودیت زمانی ریسه یا ۱ برای فعال‌سازی آن داشته باشد. .sp در سیستم‌هایی به جز macOS، این دستورالعمل از فراخوانی سیستمی \fBpthread_setschedparam()\fP برای هدایت هسته به استفاده از سیاست زمان‌بندی بلادرنگ خروج به ترتیب ورود (SCHED_FIFO) برای \fBchronyd\fP با اولویت مشخص‌شده استفاده می‌کند. این به این معنی است که هر زمان \fBchronyd\fP آماده اجرا باشد، اجرا می‌شود و اجرای سایر پردازه‌ها را قطع می‌کند مگر اینکه پردازه‌ای بلادرنگ با اولویت بالاتر باشد. این نباید روی کارایی تأثیر منفی بگذارد زیرا نیازمندی‌های منبع \fBchronyd\fP ناچیز است، اما باید منجر به تاخیر کمتر و پایدارتر شود چون \fBchronyd\fP نیازی به منتظر ماندن برای نوبت زمان‌بندی جهت اجرا نخواهد داشت. نباید از این دستور استفاده کنید مگر اینکه واقعاً به آن نیاز داشته باشید. صفحه راهنمای \fBpthread_setschedparam(3)\fP جزئیات بیشتری دارد. .sp در macOS، این دستورالعمل از فراخوانی هسته \fBthread_policy_set()\fP برای تعیین زمان‌بندی بلادرنگ استفاده می‌کند. همان‌طور که در بالا اشاره شد، نباید از این دستورالعمل استفاده کنید مگر اینکه واقعاً به آن نیاز داشته باشید. .RE .sp \fBuser\fP \fIuser\fP .RS 4 دستورالعمل \fBuser\fP نام کاربر سیستمی را تنظیم می‌کند که \fBchronyd\fP پس از شروع برای لغو اختیارات root به آن تغییر کاربری می‌دهد. .sp در Linux، \fBchronyd\fP باید با پشتیبانی از کتابخانه \fBlibcap\fP کامپایل شده باشد. در macOS، FreeBSD، NetBSD و illumos، دیمن \fBchronyd\fP به دو فرایند منشعب (fork) می‌شود. فرایند فرزند اختیارات root را حفظ می‌کند، اما فقط می‌تواند دامنه بسیار محدودی از فراخوانی‌های سیستمی ممتاز را به نمایندگی از والد انجام دهد. .sp مقدار پیش‌فرض کامپایل‌شده \fIchrony\fP است. .RE .SH "مثال‌ها (EXAMPLES)" .SS "کلاینت NTP با اتصال دائم به سرورهای NTP" .sp این بخش نحوه پیکربندی \fBchronyd\fP را برای رایانه‌هایی که به‌طور دائم یا در بیشتر مواقع به اینترنت (یا به هر شبکه‌ای حاوی سرورهای واقعی NTP که در نهایت زمان خود را از یک ساعت مرجع دریافت می‌کنند) متصل هستند، نشان می‌دهد. .sp برای کار در این حالت، باید نام سرورهای NTP مورد نظر برای استفاده را بدانید. ممکن است بتوانید نام سرورهای مناسب را از طریق یکی از روش‌های زیر بیابید: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} سازمان شما ممکن است سرورهایی را روی شبکه خود اجرا کند. برای آگاهی با مدیر سیستم خود تماس بگیرید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} احتمالاً ISP شما یک یا چند سرور NTP در دسترس برای مشتریان خود دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} در جایی در وب‌سایت NTP فهرستی از سرورهای عمومی stratum 1 و stratum 2 وجود دارد. باید یک یا چند سرور که به شما نزدیک‌تر هستند را پیدا کنید. بررسی کنید که سیاست دسترسی آن‌ها اجازه استفاده از امکاناتشان را به شما می‌دهد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} استفاده از سرورهای عمومی از پروژه \c .URL "https://www.pool.ntp.org" "pool.ntp.org" "" . .RE .sp با فرض اینکه سرورهای NTP شما \fIntp1.example.net\fP، \fIntp2.example.net\fP و \fIntp3.example.net\fP نامیده می‌شوند، پرونده \fIchrony.conf\fP شما در حداقل حالت می‌تواند شامل موارد زیر باشد: .sp .if n .RS 4 .nf .fam C server ntp1.example.net server ntp2.example.net server ntp3.example.net .fam .fi .if n .RE .sp با این حال، احتمالاً می‌خواهید برخی دستورالعمل‌های دیگر را نیز بگنجانید. دستورالعمل‌های \fBdriftfile\fP، \fBmakestep\fP و \fBrtcsync\fP ممکن است بسیار مفید باشند. همچنین گزینه \fBiburst\fP از دستورالعمل \fBserver\fP برای تسریع همگام‌سازی اولیه کاربردی است. کوچک‌ترین پرونده پیکربندی مفید چیزی شبیه به این خواهد بود: .sp .if n .RS 4 .nf .fam C server ntp1.example.net iburst server ntp2.example.net iburst server ntp3.example.net iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync .fam .fi .if n .RE .sp هنگام استفاده از یک استخر (pool) از سرورهای NTP (یک نام برای چندین سرور استفاده می‌شود که ممکن است در طول زمان تغییر کنند)، بهتر است به جای چندین دستورالعمل \fBserver\fP آن‌ها را با دستورالعمل \fBpool\fP مشخص کنید. پرونده پیکربندی در این حالت می‌تواند به این شکل باشد: .sp .if n .RS 4 .nf .fam C pool pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync .fam .fi .if n .RE .sp اگر سرورها (یا pool) از سازوکار احراز هویت امنیت زمان شبکه (NTS) پشتیبانی کنند و \fBchronyd\fP با پشتیبانی از NTS کامپایل شده باشد، گزینه \fBnts\fP همگام‌سازی امن با سرورها را فعال می‌کند. پرونده پیکربندی می‌تواند به این شکل باشد: .sp .if n .RS 4 .nf .fam C server ntp1.example.net iburst nts server ntp2.example.net iburst nts server ntp3.example.net iburst nts driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync .fam .fi .if n .RE .SS "کلاینت NTP با اتصال موقت به سرورهای NTP" .sp این بخش نحوه پیکربندی \fBchronyd\fP را برای رایانه‌هایی که اتصال گاه‌به‌گاه به سرورهای NTP دارند نشان می‌دهد. در این حالت، برای اعلام زمان برقراری یا قطع اتصال به \fBchronyd\fP به پیکربندی بیشتری نیاز خواهید داشت. این کار از تلاش مداوم برنامه برای نظرسنجی از سرورها در زمان عدم دسترسی به آن‌ها جلوگیری می‌کند. .sp مجدداً، با فرض اینکه سرورهای NTP شما \fIntp1.example.net\fP، \fIntp2.example.net\fP و \fIntp3.example.net\fP نام دارند، پرونده \fIchrony.conf\fP شما اکنون شامل موارد زیر خواهد بود: .sp .if n .RS 4 .nf .fam C server ntp1.example.net offline server ntp2.example.net offline server ntp3.example.net offline driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync .fam .fi .if n .RE .sp کلیدواژه \fBoffline\fP نشان می‌دهد که سرورها در وضعیت برون‌خط شروع به کار می‌کنند و تا زمانی که \fBchronyd\fP اعلانی مبنی بر برقراری پیوند اینترنت از \fBchronyc\fP دریافت نکند نباید با آن‌ها تماسی برقرار شود. برای مشخص کردن زمان شروع و پایان نمونه‌برداری از سرورها به \fBchronyd\fP، باید از دستورهای \fBonline\fP و \fBoffline\fP در \fBchronyc\fP استفاده شود. .sp برای ارائه مثالی از کاربرد آن‌ها، با فرض اینکه \fBpppd\fP برنامه‌ای است که برای اتصال به اینترنت استفاده می‌شود و \fBchronyc\fP در مسیر \fI/usr/bin/chronyc\fP نصب شده است، اسکریپت \fI/etc/ppp/ip\-up\fP شامل موارد زیر خواهد بود: .sp .if n .RS 4 .nf .fam C /usr/bin/chronyc online .fam .fi .if n .RE .sp و اسکریپت \fI/etc/ppp/ip\-down\fP شامل این خواهد بود: .sp .if n .RS 4 .nf .fam C /usr/bin/chronyc offline .fam .fi .if n .RE .sp اکنون نظرسنجی سرورها توسط \fBchronyd\fP تنها زمانی انجام می‌شود که دستگاه واقعاً به اینترنت متصل باشد. .SS "شبکه‌های ایزوله (Isolated networks)" .sp این بخش نحوه پیکربندی \fBchronyd\fP را برای رایانه‌هایی نشان می‌دهد که هرگز اتصال شبکه‌ای به هیچ رایانه‌ای که در نهایت زمان خود را از یک ساعت مرجع دریافت می‌کند، ندارند. .sp در این وضعیت، یک رایانه به‌عنوان سرور زمان اصلی انتخاب می‌شود. سایر رایانه‌ها یا کلاینت‌های مستقیم سرور هستند یا کلاینت‌های کلاینت‌ها. .sp دستورالعمل \fBlocal\fP حالت مرجع محلی را فعال می‌کند که به \fBchronyd\fP امکان می‌دهد حتی زمانی که همگام نیست، همگام به نظر برسد. .sp مقدار نرخ در پرونده رانش سرور باید روی میانگین نرخی تنظیم شود که سرور در آن زمان اضافه یا کم می‌کند. \fBchronyd\fP شامل پشتیبانی از این کار در قالب دستورالعمل \fBmanual\fP و فرمان \fBsettime\fP در برنامه \fBchronyc\fP است. .sp اگر سرور راه‌اندازی مجدد شود، \fBchronyd\fP می‌تواند نرخ رانش را دوباره از پرونده رانش بخواند. با این حال، سرور برآورد دقیقی از زمان فعلی ندارد. برای رفع این مشکل، سیستم می‌تواند طوری پیکربندی شود که سرور در ابتدا خود را بر اساس «رأی اکثریت» زمان‌های کلاینت‌های منتخب تنظیم کند؛ این کار به کلاینت‌ها امکان می‌دهد هنگام راه‌اندازی مجدد سرور، آن را سرپا نگه دارند. .sp دستورالعمل \fBsmoothtime\fP زمانی مفید است که هنگام تنظیم زمان محلی با فرمان \fBsettime\fP، ساعت‌های کلاینت‌ها باید نزدیک به هم بمانند. فرایند هموارسازی باید زمانی که زمان محلی آماده ارائه شد، با فرمان \fBsmoothtime activate\fP فعال شود. پس از آن نقطه، هرگونه تنظیمی هموار خواهد شد. .sp یک پرونده پیکربندی معمولی برای سرور (به نام \fIntp.local\fP) ممکن است به این صورت باشد (با فرض اینکه کلاینت‌ها و سرور در زیرشبکه \fI192.168.165.x\fP هستند): .sp .if n .RS 4 .nf .fam C initstepslew 1 client1 client3 client6 driftfile /var/lib/chrony/drift local stratum 8 manual allow 192.168.165.0/24 smoothtime 400 0.01 rtcsync .fam .fi .if n .RE .sp برای کلاینت‌هایی که باید سرور را هنگام راه‌اندازی مجدد دوباره همگام کنند، پرونده پیکربندی ممکن است به این صورت باشد: .sp .if n .RS 4 .nf .fam C server ntp.local iburst driftfile /var/lib/chrony/drift allow 192.168.165.0/24 makestep 1.0 3 rtcsync .fam .fi .if n .RE .sp بقیه کلاینت‌ها نیز یکسان خواهند بود، با این تفاوت که نیازی به دستورالعمل \fBallow\fP نیست. .sp اگر رایانه مناسبی برای تعیین به‌عنوان سرور اصلی وجود نداشته باشد، یا این الزام وجود داشته باشد که حتی در صورت خرابی آن کلاینت‌ها همگام بمانند، گزینه \fBorphan\fP از دستورالعمل \fBlocal\fP حالت ویژه‌ای را فعال می‌کند که در آن سرور به‌طور خودکار از بین چندین رایانه انتخاب می‌شود. همه آن‌ها باید از پیکربندی \fBlocal\fP یکسانی استفاده کرده و یکدیگر را نظرسنجی کنند. سروری که کوچک‌ترین شناسه مرجع را دارد (که بر اساس آدرس IP آن است) نقش سرور اصلی را بر عهده خواهد گرفت و سایرین با آن همگام می‌شوند. در صورت خرابی آن، سرور با دومین شناسه مرجع کوچک‌تر جایگزین خواهد شد و به همین ترتیب. .sp یک پرونده پیکربندی برای اولین سرور ممکن است به این صورت باشد (با فرض وجود سه سرور به نام‌های \fIntp1.local\fP، \fIntp2.local\fP و \fIntp3.local\fP): .sp .if n .RS 4 .nf .fam C initstepslew 1 ntp2.local ntp3.local server ntp2.local server ntp3.local driftfile /var/lib/chrony/drift local stratum 8 orphan manual allow 192.168.165.0/24 rtcsync .fam .fi .if n .RE .sp سایر سرورها نیز مشابه خواهند بود، با این تفاوت که نام‌های میزبان در دستورالعمل‌های \fBinitstepslew\fP و \fBserver\fP برای مشخص کردن سرورهای دیگر تغییر داده می‌شوند. کلاینت‌های آن‌ها ممکن است طوری پیکربندی شوند که از هر سه سرور نظرسنجی کنند. .SS "ردیابی RTC (RTC tracking)" .sp این بخش رایانه‌ای را بررسی می‌کند که اتصالات گاه‌به‌گاه به اینترنت دارد و بین «نشست‌ها» خاموش می‌شود. در این حالت، \fBchronyd\fP برای حفظ زمان بین دوره‌های روشن بودن، به RTC رایانه متکی است. فرض بر این است که لینوکس منحصراً روی رایانه اجرا می‌شود. سیستم‌های دوگانه‌راه‌انداز ممکن است کار کنند؛ این بستگی دارد که سیستم دیگر با RTC چه می‌کند (اگر اصلاً کاری انجام دهد). در هسته‌های 2.6 و جدیدتر، اگر مادربرد شما دارای HPET باشد، باید گزینه \fBHPET_EMULATE_RTC\fP را در پیکربندی هسته خود فعال کنید. در غیر این صورت، \fBchronyd\fP قادر به تعامل با دستگاه RTC نخواهد بود و از استفاده از آن صرف‌نظر می‌کند. .sp هنگامی که رایانه به اینترنت متصل است، \fBchronyd\fP به سرورهای NTP خارجی دسترسی دارد و از آن‌ها اندازه‌گیری می‌کند. این اندازه‌گیری‌ها ذخیره می‌شوند و برازش خط مستقیم روی آن‌ها انجام می‌گیرد تا برآوردی از خطای زمانی رایانه و نرخ افزایش یا کاهش زمان به دست آید. .sp هنگامی که ارتباط رایانه از اینترنت قطع می‌شود، از بهترین برآورد نرخ افزایش یا کاهش برای کارکرد آزاد رایانه تا زمان اتصال بعدی استفاده می‌شود. .sp در حالی که رایانه در حال اجراست، \fBchronyd\fP اندازه‌گیری‌هایی از RTC (از طریق رابط \fI/dev/rtc\fP که باید در هسته کامپایل شده باشد) انجام می‌دهد. برآوردی از خطای RTC در یک ثانیه خاص RTC، و نرخی که RTC نسبت به زمان واقعی، زمان اضافه یا کم می‌کند، انجام می‌شود. .sp هنگامی که رایانه خاموش می‌شود، تاریخچه اندازه‌گیری‌ها برای همه سرورهای NTP در پرونده‌ها ذخیره می‌شود و اطلاعات ردیابی RTC نیز در یک پرونده ذخیره می‌گردد (در صورتی که دستورالعمل \fBrtcfile\fP مشخص شده باشد). این اطلاعات همچنین در صورت صدور فرمان‌های \fBdump\fP و \fBwritertc\fP از طریق \fBchronyc\fP ذخیره می‌شوند. .sp هنگامی که رایانه مجدداً راه‌اندازی می‌شود، \fBchronyd\fP زمان فعلی RTC و اطلاعات RTC ذخیره‌شده در آخرین خاموشی را می‌خواند. از این اطلاعات برای تنظیم ساعت سیستم بر روی بهترین برآورد از زمانی که اگر پیوسته کار می‌کرد اکنون می‌داشت، استفاده می‌شود. سپس تاریخچه اندازه‌گیری‌های سرورها دوباره بارگیری می‌شود. .sp دفعه بعد که رایانه آنلاین شود، اندازه‌گیری‌های نشست‌های قبلی می‌توانند به فرایند برازش خط کمک کنند، که برآورد بسیار بهتری از نرخ افزایش یا کاهش رایانه ارائه می‌دهد. .sp یک مشکل در ذخیره اندازه‌گیری‌ها و داده‌های RTC هنگام خاموش شدن دستگاه این است که در صورت قطع برق چه اتفاقی می‌افتد؛ جدیدترین داده‌ها ذخیره نخواهند شد. اگرچه \fBchronyd\fP به اندازه کافی برای مقابله با این موضوع پایدار است، اما ممکن است مقداری کارایی از دست برود. (خطر اصلی زمانی ایجاد می‌شود که RTC در طول نشست با فرمان \fBtrimrtc\fP در \fBchronyc\fP تغییر کرده باشد. به همین دلیل، \fBtrimrtc\fP اطمینان حاصل می‌کند که یک پرونده معنادار RTC پس از تکمیل تغییر ذخیره شود). .sp ساده‌ترین راه محافظت در برابر قطع برق این است که فرمان‌های \fBdump\fP و \fBwritertc\fP در همان جایی قرار داده شوند که فرمان \fBoffline\fP برای آفلاین کردن \fBchronyd\fP صادر می‌شود؛ از آنجا که \fBchronyd\fP بین نشست‌های آنلاین به‌صورت آزاد کار می‌کند، هیچ پارامتری بین آفلاین شدن از اینترنت و هرگونه قطع برق به‌طور چشمگیری تغییر نخواهد کرد. .sp نکته نهایی مربوط به رایانه‌هایی است که برای مدت‌های طولانی روشن رها می‌شوند و در آن‌ها مطلوب است که دیسک سخت در صورت عدم استفاده متوقف شود (مثلاً زمانی که ۱۵ دقیقه به آن دسترسی وجود نداشته باشد). \fBchronyd\fP طوری طراحی شده است که از چنین عملکردی پشتیبانی کند؛ این دلیل آن است که پارامترهای ردیابی RTC پس از هر به‌روزرسانی در دیسک ذخیره نمی‌شوند، بلکه فقط زمانی که کاربر درخواست چنین نوشتنی را بدهد، یا در طول فرایند خاموش شدن ذخیره می‌شوند. تنها امکان دیگری که نوشتن‌های دوره‌ای روی دیسک ایجاد می‌کند، امکان \fBlog rtc\fP در پرونده پیکربندی است؛ اگر می‌خواهید دیسک شما متوقف شود نباید از این گزینه استفاده شود. .sp برای نشان دادن نحوه پیکربندی یک رایانه برای این حالت، پرونده‌های پیکربندی نمونه نشان داده شده‌اند. .sp برای پرونده \fIchrony.conf\fP، می‌توان از موارد زیر به‌عنوان مثال استفاده کرد. .sp .if n .RS 4 .nf .fam C server ntp1.example.net maxdelay 0.4 offline server ntp2.example.net maxdelay 0.4 offline server ntp3.example.net maxdelay 0.4 offline logdir /var/log/chrony log statistics measurements tracking driftfile /var/lib/chrony/drift makestep 1.0 3 maxupdateskew 100.0 dumpdir /var/lib/chrony rtcfile /var/lib/chrony/rtc .fam .fi .if n .RE .sp \fBpppd\fP برای اتصال به اینترنت استفاده می‌شود. این ابزار به هنگام آنلاین یا آفلاین شدن پیوند، دو اسکریپت \fI/etc/ppp/ip\-up\fP و \fI/etc/ppp/ip\-down\fP را اجرا می‌کند. .sp بخش مرتبط پرونده \fI/etc/ppp/ip\-up\fP: .sp .if n .RS 4 .nf .fam C /usr/bin/chronyc online .fam .fi .if n .RE .sp و بخش مرتبط اسکریپت \fI/etc/ppp/ip\-down\fP: .sp .if n .RS 4 .nf .fam C /usr/bin/chronyc \-m offline dump writertc .fam .fi .if n .RE .sp \fBchronyd\fP در طول فرایند بوت با گزینه‌های \fB\-r\fP و \fB\-s\fP آغاز می‌شود. بسته به دستورالعمل‌های موجود در پرونده پیکربندی \fBchronyd\fP، ممکن است نیاز باشد پیش از هر نرم‌افزاری که به عدم جهش یا عقب نرفتن ساعت سیستم وابسته است، راه‌اندازی شود. .sp برای خاموش کردن سیستم، \fBchronyd\fP باید چند ثانیه پیش از SIGKILL نهایی، سیگنال SIGTERM را دریافت کند؛ سیگنال SIGTERM باعث ذخیره تاریخچه اندازه‌گیری‌ها و اطلاعات RTC می‌شود. .SS "سرور عمومی NTP (Public NTP server)" .sp \fBchronyd\fP می‌تواند برای کارکرد به عنوان سرور عمومی NTP پیکربندی شود، به عنوان مثال برای پیوستن به پروژه .URL "https://www.pool.ntp.org/en/join.html" "pool.ntp.org" "" پیکربندی مشابه کلاینت NTP با اتصال دائمی است، با این تفاوت که باید اجازه دسترسی کلاینت از تمام نشانی‌ها را بدهد. توصیه می‌شود دست‌کم چهار سرور مناسب پیدا شود (مثلاً از pool یا صفحه اصلی NTP). اگر سرور ساعت مرجع سخت‌افزاری دارد (مانند گیرنده GPS)، می‌تواند با دستورالعمل \fBrefclock\fP مشخص شود. .sp میزان حافظه مصرفی برای ثبت گزارش دسترسی‌های کلاینت می‌تواند افزایش یابد تا کلاینت‌ها حتی در صورت وجود تعداد زیادی کلاینت روی سرور، بتوانند از حالت interleaved استفاده کنند و در صورت فعال بودن با دستورالعمل \fBratelimit\fP، محدودسازی نرخ دسترسی بهتر پشتیبانی شود. پایگاه داده منطقه زمانی سیستم، در صورتی که به‌روز نگه داشته شود و شامل منطقه زمانی \fIright/UTC\fP باشد، می‌تواند به عنوان منبعی قابل اعتماد برای تعیین زمان اعمال ثانیه کبیسه به UTC استفاده شود. گزینه \fB\-r\fP به همراه دستورالعمل \fBdumpdir\fP، زمان ناتوانی \fBchronyd\fP در ارائه زمان به کلاینت‌ها هنگام نیاز به راه‌اندازی مجدد (مانند پس از ارتقا به نسخه جدیدتر یا تغییر در پیکربندی) را کوتاه‌تر می‌کند. .sp پرونده پیکربندی می‌تواند به این شکل باشد: .sp .if n .RS 4 .nf .fam C server ntp1.example.net iburst server ntp2.example.net iburst server ntp3.example.net iburst server ntp4.example.net iburst makestep 1.0 3 rtcsync allow clientloglimit 100000000 leapsectz right/UTC driftfile /var/lib/chrony/drift dumpdir /var/run/chrony .fam .fi .if n .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBchronyc(1)\fP, \fBchronyd(8)\fP .SH "اشکالات (BUGS)" .sp برای دستورالعمل‌های مربوط به گزارش اشکالات، لطفاً ببینید: .URL "https://chrony\-project.org" "" "." .SH "نویسندگان (AUTHORS)" .sp chrony توسط Richard Curnow، Miroslav Lichvar و دیگران نوشته شده است.