понедельник, 4 апреля 2016 г.

FreeBSD: Натройка сервиса NTP

Для того, чтобы настроить службу времени "ntpd" в ОС FreeBSD, проделайте следующие шаги:

1. Для автоматического запуска сервиса NTP при загрузке ОС добавьте строку ntpd_enable="YES" в файл "/etc/rc.conf". Если к этому ещё добавить ntpd_sync_on_start="YES", то при старте ОС будет дополнительно происходить грубая синхронизация с источником времени.

2. Отредактируйте файл "/etc/ntp.conf". Найдите следующие строки:

server 0.freebsd.pool.ntp.org iburst
server 1.freebsd.pool.ntp.org iburst
server 2.freebsd.pool.ntp.org iburst


Измените их, указав вместо DNS-имён источников по умолчанию свои сервера. Лишние можно удалить или закомментировать.

3. Далее найдите строки:

restrict 127.0.0.1
restrict -6 ::1
restrict 127.127.1.0


Они говорят о том, что наш сервис NTP будет предоставлять точное время только для самого себя("localhost"). Если же вам необходимо, чтобы ОС FreeBSD являлась NTP-сервером для других хостов в сети, пропишите соответствующее разрешения (например, для сети 192.168.0.0/24 - "restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap").

4. По желанию можно добавить логирование работы службы. Для этого вставьте следующую строку: "logfile /var/log/ntp.log". Чтобы организовать ротацию лога, добавьте в файл "/etc/newsyslog.conf" строку "/var/log/ntp.log 644 3 100 * J" (архивировать с помощью bzip2 лог при достижении размера в 100 Кбайт, хранить максимум 3 архива).

5. Выполните до запуска сервиса NTP команду "ntpdate -b your_ntp_source_dns_name" для того, чтобы синхронизировать часы с источником (просто запросить информацию об источнике без синхронизации времени можно командой "ntpdate -q your_ntp_source_dns_name"). Далее стартуем демон: "service ntpd start".
На этом настройку сервиса NTP можно считать законченной.

Чтобы проверить корректность работы, воспользуйтесь командой: "ntpq -p".


Строки полученной в результате выполнения команды таблицы соответствует публичным источникам, которые определены в файле "/etc/ntp.conf", столбцы содержат следующие значения:

Маркер:
'*' - сервер, с которым в настоящий момент выполняется синхронизация,
'#' - сервер отобран для синхронизации, но дистанция до него превышает максимально возможную,
'ο' - сервер отобран для синхронизации и использует сигнал pulse-per-second,
'+' - сервер добавлен в список серверов, отобранных для синхронизации,
'x' - сервер использует некорректный алгоритм,
'.' - сервер выбран из конца списка серверов, отобранных для синхронизации,
'-' - сервер отвергнут группирующим алгоритмом,
пробел - сервер имеет слишком высокий stratum и/или не может быть проверен;

remote - FQDN или IP-адрес сервера;

refid - IP-адрес сервера, с которым в настоящий момент выполняется синхронизация сервера из столбца remote;

st - stratum сервера;

t - режим работы сервера: 'u' - unicast, 'm' - multicast, 'b' - broadcast, '-' - manycast;

when - время, прошедшее с момента последнего ответа сервера в секундах или '-', если сервер еще ни разу не ответил;

poll - интервал опроса сервера в секундах;

reach - состояние восьми последних попыток запроса времени у сервера в восьмеричном представлении;

delay - задержка ответа сервера в секундах;

offset -  различие локального времени и времени на сервере (самый интересный параметр);

jitter — дисперсия, дрожание фазы (чем меньше, тем точнее синхронизация).

Также при диагностике проблем с серверами NTP может помочь команда: "ntpdate -vd your_ntp_source_dns_name". Пример вывода ниже:


Комментариев нет:

Отправить комментарий