Файл /etc/ntp.conf#

ntp.conf - это конфигурационный файл демона Network Time Protocol (NTP - устанавливает и поддерживает системное время суток одновременно с серверами стандартного времени), используется для указания источников синхронизации, режимов и другой связанной информации. Обычно находится в каталоге /etc, но может быть установлен и в другом месте. Пустые строки и строки, начинающиеся с # (комментарии), игнорируются. Остальные строки состоят из команд конфигурации, по одной в каждой.

Команды конфигурации состоят из начального ключевого слова, за которым следует список аргументов, разделенных пробелами. Аргументами могут быть имена и адреса хостов, записанные в числовой форме, в виде квадрата с точкой, целые числа, числа с плавающей запятой (при указании времени в секундах) и текстовые строки.

Существует 2 класса команд поддержки конфигурации:

  • команды ассоциации - настраивают постоянную связь с удаленным сервером или одноранговыми/эталонными часами;

  • вспомогательные команды - определяют переменные среды, управляющие различными связанными операциями.

Команды ассоциации определяют имя/адрес сервера времени, который будет использоваться, и режим, в котором он будет работать. Адрес может быть либо DNS-именем, либо IP-адресом в виде квадратов с точками. Команды:

  • pool (pool address [burst] [iburst] [version version] [prefer] [minpoll minpoll] [maxpoll maxpoll] [preempt]) - для адресов серверов активирует постоянную связь в клиентском режиме с несколькими удаленными серверами; локальные часы могут быть синхронизированы с удаленным сервером, но не наоборот.

  • server (server address [key key] [burst] [iburst] [version version] [prefer] [minpoll minpoll] [maxpoll maxpoll]) - для адресов серверов устанавливает постоянную связь в клиентском режиме с указанным удаленным сервером или локальными радиочасами; локальные часы могут быть синхронизированы с удаленным сервером, но не наоборот.

  • peer (peer address [key key] [version version] [prefer] [minpoll minpoll] [maxpoll maxpoll]) - одноранговый режим NTP был удален по соображениям безопасности, теперь это псевдоним для ключевого слова server.

  • unpeer (unpeer [address | associd | clock clocktype [unit unitnum]]) - удаляет ранее настроенную связь; для идентификации связи можно использовать IP-адрес или идентификатор связи - DNS-имя.

Опции команд ассоциации:

Опция

Определение

bias

Добавить аргумент команды - значение с плавающей запятой в секундах - к временному смещению, вычисленному для этого сервера, для компенсации данного смещения

burst

Отправить связку из восьми пакетов вместо одного, когда сервер будет доступен, для улучшения качества синхронизации с помощью серверной команды

iburst

Отправить связку из шести пакетов вместо одного, в случае недоступности сервера, для ускорения начальной синхронизации

key <key>

Использовать для всех пакетов, отправляемых на сервер/узел и принимаемых от них, поля аутентификации, зашифрованные с помощью указанного идентификатора ключа со значениями от 1 до 65535 включительно; по умолчанию поле шифрования не используется

minpoll <minpoll>, maxpoll <maxpoll>

Задать минимальный и максимальный интервалы опроса для сообщений NTP в степени 2 в секундах. Максимальный интервал опроса по умолчанию равен 10 (1024 с), но может быть увеличен с помощью опции maxpoll до верхнего предела 17 (36,4 ч). Минимальный интервал опроса по умолчанию равен 6 (64 с), но может быть уменьшен с помощью опции minpoll до нижнего предела, равного 0 (1 с)

mode <option>

Передать указанную опцию драйверу эталонных часов

noselect

Отметить сервер как неиспользуемый, за исключением целей отображения

prefer

Отметить сервер как предпочтительный; при прочих равных условиях этот хост будет выбран для синхронизации между несколькими корректно работающими хостами

true

Отметить ассоциацию как truechimer, чтобы она всегда сохранялась в алгоритмах выбора и кластеризации; данный параметр отключает алгоритмы, предназначенные для удаления ложных сообщений, и может позволить этим источникам устанавливать системные часы, действителен только для команд сервера

version <version>

Указать номер версии, которая будет использоваться для исходящих NTP-пакетов. Можно выбрать версии 1-4, по умолчанию используется 4

Вспомогательная команда ассоциации - mdnstries <number> - в случае участия в mDNS после первой синхронизации происходят попытки зарегистрироваться в системе mDNS. Если они завершаются неудачей, то происходит повтор попыток с интервалом в одну минуту до указанного количества раз. Значение по умолчанию для равно 5.

Команды аутентификации - процедуры аутентификации MAC (доступ в сеть с аутентификацией MAC-адреса машины, а не пользователя) требуют, чтобы локальный и удаленный серверы использовали один и тот же идентификатор, тип и текст ключа. Для каждой пары сервер-клиент следует использовать разные ключи. Аргументы key_id являются целыми числами со значениями от 1 до 65535. Cледующие параметры управляют аутентификацией MAC:

  • controlkey <key> - определяет идентификатор ключа для ntpq (используется для мониторинга операций NTP-демона ntpd и определения производительности.), которая использует стандартный протокол, определенный в RFC 5905. Ключевым аргументом является идентификатор надежного ключа, значение которого может находиться в диапазоне от 1 до 65 535 включительно.

  • keys <keyfile> - указывает полный путь к файлу ключей, содержащему ключи и их идентификаторы, используемые ntpd и ntpq при работе с симметричным ключом.

  • trustedkey <key...> - указывает идентификаторы ключей, которым доверяют для аутентификации серверов с использованием симметричного ключа, а также ключи, используемые ntpq.

Команда NTS - nts [enable|disable] [mintls version] [maxtls version] [tlsciphersuites name] [tlsecdhcurves name] - управляет аутентификацией NTS, переопределяет согласование по протоколу TLS, которое обычно не требуется. Возможны следующие опции:

Опция

Определение

cert <file>

Использование указанного файла (цепочки) в качестве сертификата

key <file>

Считывание закрытого ключа к сертификату из указанного файла

ca <location>

Указание файла/каталога для проверки сертификатов сервера NTS-KE вместо корневых сертификатов системы по умолчанию

cookie <location>

Указание файла/каталога для хранения ключей, используемых для создания и декодирования файлов cookie; по умолчанию используется /var/lib/ntp/nts-keys

enable

Включение сервера NTS-KE; если он включен, то требуются сертификат и ключ

disable

Отключение сервера NTS-KE

mintls <string>

Указание минимально допустимой версии TLS для согласования

maxtls <string>

Указание максимально допустимой версии TLS для согласования

tlsciphersuites <string>

Список наборов шифров OpenSSL для настройки разрешенных наборов шифров для TLS 1.3. NULL отключает шифрование и использование сертификатов. Данная опция задает шифры, используемые как клиентской, так и серверной сторонами. Сервер выбирает шифр. По умолчанию используется параметр client preference. При указании ciphersuites также выбирается параметр server preference

tlsecdhcurves <string>

Список ecdhcurves OpenSSL для настройки разрешенных ecdhcurves для TLS 1.3. NULL отключает шифрование и использование сертификатов

aead <string>

Указание алгоритма, который будет использоваться при передаче данных. Поддерживаются AES_SIV_CMAC_256, AES_SIV_CMAC_384 и AES_SIV_CMAC_512. Значение по умолчанию - AES_SIV_CMAC_256

Опции, настраивающие NTS (клиент):

Опция

Определение

nts

Использование NTS для аутентификации

noval

Запрет на проверку сертификата сервера

ca <location>

Указание файла/каталога для проверки сертификата сервера NTS-KE, переопределяя сертификат сайта по умолчанию

aead <string>

Указание предпочтительного алгоритма, который будет использоваться при передаче данных. Поддерживаются AES_SIV_CMAC_256, AES_SIV_CMAC_384 и AES_SIV_CMAC_512. Значение по умолчанию - AES_SIV_CMAC_256

Поддержка мониторинга осуществляется при помощи команд мониторинга:

  • statistics <name...> - запись статистических данных:

    • clockstats - запись статистической информации о драйвере часов, каждое обновление добавляет новую строку;

    • loopstats - запись статистической информации о циклическом фильтре;

    • ntsstats - периодическая регистрация счетчиков статистики NTS;

    • ntskestats - периодическая запись статистических данных счетчиков NTS-KE;

    • protostats - регистрация значимых событий на узлах и в системе;

    • peerstats - запись статистической информации об узлах, включая записи обо всех узлах сервера NTP и о специальных сигналах, если они присутствуют и настроены;

    • rawstats - запись статистической информации с необработанными временными метками, включая записи статистики всех узлов NTP-сервера и специальных сигналов, если они присутствуют и настроены;

    • sysstats - периодическая регистрация счетчиков статистики ntpd;

    • usestats - запись статистики использования ресурсов ntpd.

  • statsdir <directory_path> - указание полного пути к каталогу, в котором должны создаваться файлы статистики.

  • filegen name [file <filename>] [type <typename>] [link | nolink] [enable | disable] - конфигурация имен генерируемых файлов, где:

    • name - тип статистических записей из statistics <name...> выше;

    • file <filename> - имя файла для статистических записей, создаваемое из трех связанных элементов:

      • prefix - постоянный путь к имени файла, не подлежит изменению filegen, определяется сервером и обычно указывается как константа времени компиляции;

      • filename - имя файла, может изменяться при помощи filegen;

      • suffix - отражение отдельных элементов набора файлов; генерируется в соответствии с типом набора файлов.

    • type <typename> - тип файла, характеризующий набор генерируемых файлов:

      • none - набор файлов представляет собой один файл;

      • pid - для каждой версии сервера ntpd используется один элемент набора файлов. Данный тип не вносит изменений в элементы набора файлов во время выполнения, однако он предоставляет простой способ разделения файлов, принадлежащих разным версиям сервера ntpd. Элементы набора файлов создаются путем добавления точки к объединенным строкам префикса и filename, а также десятичного представления идентификатора процесса серверного процесса ntpd;

      • day - создание одного элемента набора генерации файлов в день, с указанием даты в suffix;

      • week - один элемент в неделю, данные о неделе года в suffix имен файлов;

      • month - генерация одного элемента набора файлов в месяц, с указанием месяца в suffix;

      • year - генерация одного элемента набора файлов в год, с указанием года в suffix;

      • age - при генерации файлов данного типа изменения вносятся в новый элемент набора файлов каждые 24 часа работы сервера. Суффикс имени файла состоит из точки, буквы a и 8-значного числа. Число - это количество секунд, в течение которых сервер работает в начале соответствующего 24-часового периода.

    • link | nolink - включение/отключение возможности доступа к текущему элементу набора генерации файлов с фиксированным именем.

    • enable | disable - включение/отключение функции записи информации в формируемый файл.

Поддержка контроля доступа реализована в виде списка ограничений, содержащего записи об адресах и совпадениях, отсортированные сначала по возрастанию значений адресов, а затем по возрастанию значений масок общего назначения. Совпадение происходит, когда побитовое значение AND маски и адреса источника пакета равно побитовому значению AND маски и адреса в списке. Поиск по списку выполняется в порядке последнего найденного совпадения, определяющего ограничения, связанные с записью.

Команды управления доступом:

  • limit [average <average>] [burst <burst>] [kod <kod>] - задание параметров ограниченного доступа, защищающего сервер от злоупотреблений со стороны клиентов. Каждый слот MRU содержит количество пакетов в единицах измерения в секунду. Он обновляется каждый раз, когда с IP-адреса поступает пакет. Показатель уменьшается экспоненциально с увеличением скорости передачи пакетов и увеличивается на 1,0 при поступлении пакета в пакетном режиме:

    • average <average> - указание допустимой средней скорости передачи ответных пакетов в пакетах в секунду; по умолчанию 1,0;

    • burst <burst> - указание допустимого размера пакета, если пакеты расположены на достаточном расстоянии друг от друга, чтобы средняя скорость передачи была ниже средней; по умолчанию 20,0;

    • kod <kod> - указание допустимой средней скорости передачи пакетов KoD (пакет сообщений сервера, в которых клиенту явно предлагается прекратить отправку пактов и оставить сообщение для системного оператора) в пакетах в секунду; по умолчанию 0,5.

  • restrict <address>[/cidr] [mask <mask>] [flag ...] - введение ограничений, в качестве address выступает адрес хоста/сети, также им может быть допустимое DNS-имя хоста; mask выражен в виде числового адреса IPv4 или IPv6, по умолчанию все биты маски включены, что означает, что адрес обрабатывается как адрес отдельного хоста. Вместо явной маски address/cidr может быть указан в нотации CIDR (бесклассовая междоменная маршрутизация). flags либо ограничивают время обслуживания, либо информационные запросы и попытки выполнить реконфигурацию сервера во время выполнения. Может быть указан один или несколько флагов:

    • flake - отбрасывать принятые NTP-пакеты с вероятностью 0,1, т.е. в среднем отбрасывать один пакет из десяти. Предназначен для тестирования;

    • ignore - отклонять все виды пакетов, включая запросы ntpq;

    • kod - если установлен, то при нарушении прав доступа отправляется пакет KoD ;

    • limited - отказать в обслуживании, если интервал между пакетами превышает нижние пределы, указанные в limit. С помощью функции мониторинга ntpd ведется история клиентов. Мониторинг активен, пока существует запись об ограничении с данным флагом ;

    • mssntp - включить проверку подлинности MS-SNTP с помощью Active Directory. Используется TCP-соединение с другим процессом, которое потенциально может быть заблокировано, что приведет к отказу в предоставлении услуг другим пользователям. Следовательно, этот флаг следует использовать только для выделенного сервера, на котором нет других клиентов, кроме MS-SNTP ;

    • nomodify - запрет запросов ntpq, которые пытаются изменить состояние сервера во время выполнения. Разрешены запросы, возвращающие информацию ;

    • nomrulist - запрет на принятие запросов из списка MRU (недавно использованных файлов), они могут быть дорогостоящими в обслуживании и генерировать большой объем ответного трафика ;

    • nopeer - отклонять пакеты, которые могут привести к созданию новой связи, включая симметричные активные пакеты, когда настроенная связь не существует ;

    • noquery - запрет запросов ntpq; на сервис времени не влияет ;

    • noserve - отклонять все пакеты, кроме ntpq и запросов ;

    • notrust - отказывать в обслуживании, если пакет не прошел аутентификацию;

    • ntpport - модификатор алгоритма сопоставления, приводит к сопоставлению записи ограничения, если исходным портом в пакете является стандартный порт NTP UDP. Можно указать как ntpport, так и не-ntpport. ntpport считается более конкретным и сортируется позже в списке ;

    • version - отклонять пакеты, которые не соответствуют текущей версии NTP.

  • unrestrict <address>[/cidr] [mask <mask>] [flag ...] - аналогично restrict, но не включает, а отключает указанные флаги. Без указания флагов удаляет любое правило с соответствующими адресом и маской. Используется только для адреса/маски или адреса в формате CIDR.

Параметр автоматической настройки NTP - режим Manycast - режим поиска клиентом серверов для синхронизации, с получением образцов времени. Управление Manycast происходит командой tos [ceiling <ceiling> | floor <floor> | minclock <minclock> | minsane <minsane>], влияющей на выбор тактовой частоты и алгоритмы кластеризации. Может использоваться для выбора качества и количества узлов, используемых для синхронизации системных часов, наиболее полезна в режиме многоадресной рассылки. Переменные:

Переменная

Описание

ceiling <ceiling>

узлы со слоями выше верхнего предела (ceiling) будут отброшены, если останутся узлы с минимальной частотой (minclock). По умолчанию 15, может быть 1-15

floor <floor>

узлы со слоями ниже указанного уровня будут удалены, если останутся узлы minclock. По умолчанию 1, может быть 1-15

minclock <minclock>

алгоритм кластеризации многократно отбрасывает ненужные ассоциации до тех пор, пока не останется только ассоциации с minclock. По умолчанию 3, может быть изменено на любое число от 1 до количества настроенных источников

minsane <minsane>

минимальное количество кандидатов, доступных алгоритму выбора часов для создания одного или нескольких truechimers для алгоритма кластеризации. Если доступно меньше данного числа, часы не контролируются и могут работать свободно. Значение должно быть не менее 4, чтобы обнаружить и отбросить хотя бы один ложный запрос

Поддержка и настройка эталонных часов осуществляется посредством refclock drivername [unit u] [prefer] [subtype <int>] [mode <int>] [minpoll <int>] [maxpoll <int>] [time1 sec] [time2 sec] [stratum <int>] [refid string] [path filename] [ppspath filename] [baud number] [flag1 {0 | 1}] [flag2 {0 | 1}] [flag3 {0 | 1}] [flag4 {0 | 1}] - требуемым аргументом drivername выступает краткое название типа драйвера (например, shm, nmea, generic). Параметры:

Параметр

Описание

unit

исходный номер устройства; изменяет имя устройства; если не указано, то значение по умолчанию равно 0

prefer

помечает эталонные часы как предпочтительные; при прочих равных условиях данный хост будет выбран для синхронизации из набора правильно работающих хостов и часов

subtype <int>

некоторые драйверы поддерживают несколько типов устройств; этот параметр позволяет выбирать один из них в зависимости от драйвера

mode <int>

номер режима, который интерпретируется в зависимости от устройства. Например, выбирает протокол набора в драйвере ACTS и комбинацию предложений в драйвере nmea

minpoll <int>, maxpoll <int>

минимальный и максимальный интервалы опроса для сообщений эталонных часов в степени 2 в секундах. Для большинства эталонных часов, подключенных напрямую, значение minpoll и maxpoll по умолчанию равны 6 (64 сек). Для эталонных часов модема значение minpoll по умолчанию равно 10 (17,1 минуты), а значение maxpoll по умолчанию равно 14 (4,5 часа). Допустимый диапазон составляет от 0 (1 секунда) до 17 (36,4 часа) включительно

time1 <sec>

константа, которая будет добавлена к временному смещению, производимому драйвером - десятичное число с фиксированной запятой в секундах. Каждая буква «g» в конце константы добавляет количество секунд в 10-разрядный период GPS; каждая буква «G» добавляет количество секунд в 13-разрядный период GPS. Данное значение используется в качестве калибровочной константы для настройки номинального временного смещения конкретных часов в соответствии с внешним стандартом, таким как прецизионный сигнал PPS. Это также позволяет исправить систематическую ошибку или смещение, вызванные отклонением периода от GPS-устройства, задержками последовательного порта или операционной системы, разной длиной кабеля или внутренней задержкой приемника. Указанное смещение является дополнением к задержке распространения, обеспечиваемой другими средствами, такими как внутренние DIP-переключатели

time2 <sec>

задание десятичного числа с фиксированной запятой в секундах, которое интерпретируется в зависимости от драйвера

stratum <int>

номер категории, присвоенный драйверу, целое число в диапазоне от 0 до 15. Заменяет номер категории по умолчанию, обычно присваиваемый самим драйвером, равный 0

refid <string>

задание строки ASCII длиной от 1 до 4 символов, определяющей идентификатор ссылки, используемый драйвером. Заменяет идентификатор по умолчанию, обычно назначаемый самим драйвером

path <filepath>

переопределение местоположения устройства по умолчанию для refclock

ppspath <filepath>

переопределение местоположение устройства PPS по умолчанию (если таковое имеется) для драйвера

baud <number>

переопределение скорости передачи данных в бодах, установленной по умолчанию для драйвера

flag1 <0 / 1>; flag2 <0 / 1>; flag3 <0 / 1>; flag4 <0 / 1>

настройка драйвера синхронизации; интерпретация и использование зависят от конкретного драйвера синхронизации. По умолчанию, flag4 используется для включения записи данных мониторинга в файл clockstats, настроенный с помощью filegen

Дополнительные возможности:

  • driftfile <driftfile> - указание полного пути и имени файла, используемого для записи частоты локального осциллятора часов. Если файл существует, он считывается при запуске, чтобы установить начальную частоту, а затем обновляется один раз в час с текущей частотой, вычисленной демоном. Если имя файла указано, но сам файл не существует, ntpd запускается с начальной частотой, равной нулю, и создает файл при его первой записи. Если команда не задана, демон будет запускаться с начальной частотой, равной 0. Формат файла - одна строка, содержащая одно число с плавающей запятой, которое записывает смещение частоты, измеренное в миллионных долях (PPM). Файл обновляется путем первой записи текущего значения drift во временный файл, а затем переименования этого файла для замены старой версии; ntpd должен иметь разрешение на запись для диерктории, в которой находится файл drift; следует избегать ссылок на файловую систему, символических или иных.

  • enable [auth | calibrate | kernel | monitor | ntp | stats], disable [auth | calibrate | kernel | monitor | ntp | stats] - включение/отключение различных параметров сервера:

    • auth - позволяет серверу синхронизироваться с ненастроенными узлами только в случае, если они прошли правильную аутентификацию. Значение по умолчанию - enable;

    • calibrate - включает функцию калибровки для эталонных часов. Значение по умолчанию - disable;

    • kernel - включает дисциплину времени ядра, если она доступна. По умолчанию enable, если поддержка доступна, в противном случае - disable;

    • monitor - включает функцию мониторинга. По умолчанию enable;

    • ntp - устанавливает временные и частотные ограничения. Открывает и закрывает цикл обратной связи, что полезно для тестирования. По умолчанию enable;

    • stats - включает функцию статистики. По умолчанию disable.

  • includefile <includefile> - включение дополнительных команд настройки из отдельного файла. Включаемые файлы могут быть вложены друг в друга; при достижении конца любого включаемого файла обработка команд возобновляется в предыдущем файле конфигурации. Относительные пути вычисляются не по отношению к текущему рабочему каталогу, а по отношению к имени каталога последнего переданного файла в стеке. Полезно для сайтов, запускающих ntpd на нескольких хостах, с (в основном) общими параметрами (например, списком ограничений).

  • interface [listen | ignore | drop] [all | ipv4 | ipv6 | wildcard | name | address[/prefixlen]] - определение, какие сетевые адреса открывает ntpd и отбрасываются ли входные данные без обработки. Первый параметр определяет действие с адресами, которые соответствуют второму параметру. Второй параметр определяет класс адресов/конкретное имя интерфейса/адрес. В случае адреса prefixlen определяет, сколько битов должно совпадать для применения этого правила. ignore предотвращает открытие совпадающих адресов, а drop приводит к тому, что ntpd открывает адрес и отбрасывает все полученные пакеты без проверки. Можно использовать несколько команд интерфейса. Последнее правило, соответствующее конкретному адресу, определяет действие для него. Команды interface отключаются, если используются параметры командной строки -I, --interface, -L или --novirtualips. Если ни один из этих параметров не используется и в файле конфигурации не указаны действия с интерфейсом, будут открыты все доступные сетевые адреса. Псевдонимом является nic.

  • leapfile <leapfile> - загрузка файла корректировочных секунд NIST и инициализация их значения для следующего времени корректировочной секунды, времени истечения срока действия и смещения TAI. Файл можно получить с помощью ntpleapfetch. leapfile сканируется, когда ntpd обрабатывает директиву leapfile или обнаруживает, что leapfile изменился. ntpd проверяет, изменился ли leapfile, один раз в день.

  • leapsmearinterval <interval> - экспериментальная опция, доступна только в случае, если ntpd был создан с --enable-leap-smear. Определяет интервал, в течение которого будет применяться коррекция на корректировочную секунду. Рекомендуемые значения для этого параметра - от 7200 (2 часа) до 86400 (24 часа).

    Внимание

    Не используйте параметр leapsmearinterval на серверах общего доступа.

  • logconfig <configkeyword> - управление объемом и типом выходных данных, записываемых в системный журнал или альтернативный файл журнала. По умолчанию все выходные данные включены. Ключевые слова configkeyword могут иметь префиксы: = (задает маску приоритета системного журнала), пробел и - (добавляет и удаляет сообщения соответственно). Сообщениями системного журнала можно управлять в четырех классах (clock, peer, sys и sync). В рамках этих классов можно управлять четырьмя типами сообщений: информационные сообщения (info), сообщения о событиях (events), статистические сообщения (statistics) и сообщения о состоянии (status).

    Ключевые слова конфигурации формируются путем объединения класса сообщений с классом событий. Вместо класса сообщений можно использовать префикс all. За классом сообщений также может следовать all, чтобы включить/отключить все сообщения соответствующего класса сообщений. Примеры:

    • logconfig =syncstatus +sysevents - минимальная конфигурация журнала; список состояния синхронизации ntpd и основных системных событий;

    • logconfig =syncall +clockall - минимальная конфигурация сообщений для простого справочного сервера; будет отображена вся информация о часах и синхронизации. Все другие события и сообщения об узлах, системных событиях и т.д. будут отключены.

  • logfile <logfile> - указание местоположение альтернативного файла журнала, который будет использоваться вместо системного журнала по умолчанию.

  • mru [maxdepth <count> | maxmem <kilobytes> | mindepth <count> | maxage <seconds> | minage <seconds> | initalloc <count> | initmem <kilobytes> | incalloc <count> | incmem <kilobytes>] - управление ограничениями размера списка адресов клиентов, которые были использованы в последний раз (MRU) в системе мониторинга, а также в системе контроля скорости. Параметры:

    • maxdepth <count>, maxmem <kilobytes> - эквивалентные верхние пределы размера списка MRU, выраженные в записях или килобайтах. Фактическое ограничение будет больше на количество записей incalloc или incmem в килобайтах. Если используются и maxdepth, и maxmem, то для управления используется последний из них. По умолчанию 1024 Кб;

    • mindepth <count> - нижний предел размера списка MRU. Если в списке MRU меньше записей, чем mindepth, то существующие записи не удаляются, чтобы освободить место для более новых, независимо от их возраста. По умолчанию 600 записей;

    • maxage <seconds>, minage <seconds> - если адреса нет в списке, есть несколько возможных способов найти для него слот: 1. Если в списке меньше записей, чем в mindepth, то выделяется свободное место; подходит для сервера без большого количества клиентов. Если клиенты приходят и уходят, то в настройках по умолчанию отображается только долгосрочное среднее значение. 2. Если возраст самого старого слота превышает максимальный, то он перерабатывается (по умолчанию 3600 секунд). 3. Если список freelist не пуст, выделяется место в списке free. 4. Если список freelist пуст, выделяется больше памяти и используется новое место. 5. Если возраст самого старого слота превышает минимальный, то самый старый слот перерабатывается (по умолчанию 64 секунды). 6. В противном случае слот недоступен;

    • initalloc <count>, initmem <kilobytes> - начальное выделение памяти при первом включении средства мониторинга, выраженное в записях или килобайтах. По умолчанию 4 Кб;

    • incalloc <count>, incmem <kilobytes> - размер дополнительной памяти, выделяемой при увеличении списка MRU, в записях или килобайтах. По умолчанию 4 Кб.

  • nonvolatile <threshold> - указание порогового значения в секундах для записи файла частот, по умолчанию 1e-7 (0,1 PPM). Файл частот проверяется каждый час. Если разница между текущей частотой и последним записанным значением превышает пороговое значение, файл записывается, и пороговое значение становится новым пороговым значением. Если пороговое значение не превышено, оно уменьшается вдвое; это сделано для снижения частоты ненужных операций записи файлов во встроенных системах с энергонезависимой памятью.

  • phone <dial ...> - используется совместно с драйвером модема ACTS (тип modem) или драйвером JJY (тип jjy). Для ACTS аргументы состоят максимум из 10 телефонных номеров. Для драйвера jjy в режимах 100-180 аргументом является один телефонный номер.

  • reset [allpeers] [auth] [ctl] [io] [mem] [sys] [timer] - сброс одной или нескольких групп счетчиков, поддерживаемых ntpd и предоставляемых ntpq.

  • setvar <variable [default]> - добавление системных переменных, которые могут использоваться для распространения дополнительной информации, например, политики доступа. Если за переменной вида «name=value» следует ключевое слово default, то переменная будет указана как часть системных переменных по умолчанию. Данные дополнительные переменные служат только для ознакомления. Они не связаны с протоколом, за исключением того, что могут быть указаны в списке. Известные переменные протокола всегда будут переопределять любые переменные, определенные с помощью механизма setvar. Существуют три специальные переменные, которые содержат имена всех переменных из одной группы. Список sys_var_list содержит имена всех системных переменных. peer_var_list - имена всех одноранговых переменных, а clock_var_list - имена переменных эталонных часов.

  • tinker [allan allan | dispersion dispersion | freq freq | huffpuff huffpuff | panic panic | step step | stepback stepback | stepfwd stepfwd | stepout stepout] - может быть использовано для изменения некоторых системных переменных в исключительных случаях, для чего команда должна быть указана в файле конфигурации перед любыми другими параметрами конфигурации. Переменные:

    • allan <allan> - аргумент становится новым значением для минимального перехвата Allan (Автоматизированный большой узел линейного анализа), который является параметром алгоритма синхронизации PLL/FLL. Значение в логарифмических секундах по умолчанию равно 11 (2048 с), что также является нижним пределом;

    • dispersion <dispersion> - новое значение скорости увеличения дисперсии, обычно .000015 с/с;

    • huffpuff <huffpuff> - новое значение для экспериментального диапазона фильтра «huff-n“-puff», который определяет самый последний интервал, в течение которого алгоритм будет искать минимальную задержку. Нижний предел составляет 900 с (15 м), но более приемлемое значение - 7200 с (2 часа). Значения по умолчанию нет, т.к. фильтр не включается, пока не будет подана команда;

    • panic <panic> - порог «паники», обычно равный 1000 секундам. Если значение равно нулю, то проверка работоспособности «паники» отключена, и будет принято любое значение смещения часов;

    • step <step> - порог шага, который по умолчанию равен 0,128 секунды. Его можно задать любым положительным числом в секундах. Если значение равно 0, то корректировка шага не происходит. Контроль времени ядра отключается, если пороговое значение шага равно 0 или превышает значение по умолчанию;

    • stepback <stepback> - пороговое значение шага в обратном направлении, которое по умолчанию равно 0,128 секунды. Его можно задать любым положительным числом в секундах. Если пороговые значения шага вперед и шага назад равны нулю, корректировка шага не происходит. Дисциплина времени ядра отключается, если пороговое значение шага в каждом направлении равно 0 или превышает 0,5 секунды;

    • stepfwd <stepfwd> - аналогично stepback, только для шага вперед;

    • stepout <stepout> - время ожидания отключения, которое по умолчанию равно 900 с. Можно задать любым положительным числом в секундах. Если оно равно 0, импульсы отключения не будут подавляться.

  • rlimit [memlock <megabytes> | stacksize <4kPages> | filenum <filedescriptors>] - набор ограничений. Переменные:

    • memlock <megabytes> - игнорируется для обеспечения обратной совместимости;

    • stacksize <4kPages> - указывает максимальный размер стека процессов в системах с функцией mlockall. По умолчанию используется значение 50 страниц размером 4 тыс;

    • filenum <filedescriptors> - максимальное количество файловых дескрипторов, которые ntpd может открыть одновременно. По умолчанию используется системное значение по умолчанию.