Установка и настройка сервера OpenNTPD
Cервер OpenNTPD следует установить из портов:
1.cd /usr/ports/net/openntpd
2.make install clean
По умолчанию конфигурация сервера OpenNTPD хранится в файле /usr/local/etc/ntpd.conf. Мой файл конфигурации имеет следующий вид:
6.server ntp.psn.ru
7.server ntp2.kangran.su
8.server ntp.letinet.ru
Строки listen on ... содержат список IP-адресов, которые "слушает" наш сервер, строки server ... - список публичных NTP-серверов, с которыми синхронизируется наш сервер (сервер ОpenNTPD "умеет" синхронизироваться как с отдельными NTP-серверами, так и с пулами NTP-серверов, список которых должен определяться строками servers ..., например, servers pool.ntp.org). Вот, собственно, и вся конфигурация.
Для того, чтобы сервер OpenNTPD запускался при запуске операционной системы и сразу же делал грубую начальную корректировку времени, нужно добавить в файл /etc/rc.conf следующие строки (без второй строки будет выполняться плавная начальная корректировка времени):
1.openntpd_enable="YES"
2.openntpd_flags="-s"
На этом настройка сервера OpenNTPD завершается. Можно запустить сервер командой /usr/local/etc/rc.d/openntpd start, а затем запросить его состояние командой /usr/local/etc/rc.d/openntpd status. Если последняя команда выдаст сообщение openntpd is running as pid ..., все нормально, если же – openntpd is not running, Вам следует найти и устранить ошибки в файлах конфигурации. После этого необходимо подождать не менее получаса и выполнить команду ntpdate -q localhost. Если Вы внимательно следовали инструкциям, она выдаст сообщение о том, что NTP-сервер имеет stratum 3 и может использоваться для синхронизации времени:
server 127.0.0.1, stratum 3, offset -0.000001, delay 0.02565
13 Apr 12:00:00 ntpdate[93386]: adjust time server 127.0.0.1 offset -0.000001 sec
Анализ состояния сервера OpenNTPD
Для того, чтобы диагностические сообщения об изменении системного времени и выполнении операций синхронизации с публичными NTP-серверами и/или пулами публичных NTP-серверов выводились в файл /var/log/debug.log, следует изменить строку openntpd_flags в файле /etc/rc.conf:
1.openntpd_flags="-sv"
После внесения изменений в файл /etc/rc.conf следует перезапустить сервер OpenNTPD командой /usr/local/etc/rc.d/openntpd restart.
Другим способом отладки сервера OpenNTPD является его запуск не в виде демона, как это принято по умолчанию, а в виде обычного приложения, выводящего все диагностические сообщения на консоль. Такой запуск сервера OpenNTPD может быть выполнен командой:
1./usr/local/sbin/ntpd -dv
Как в первом, так и во втором случаях признаком корректной работы сервера OpenNTPD могут служить примерно такие сообщения:
Apr 13 15:01:46 ... ntpd[6684]: reply from 193.41.86.177: offset 0.007338 delay 0.014602, next query 9s
Apr 13 15:01:46 ... ntpd[6684]: reply from 89.111.168.177: offset 0.009182 delay 0.014520, next query 7s
...
Apr 13 15:03:03 ... ntpd[6684]: reply from 89.111.168.177: offset 0.008260 delay 0.013687, next query 31s
Apr 13 15:03:03 ... ntpd[6683]: adjusting local clock by 0.006359s
Для того, чтобы сервер OpenNTPD "сбросил" информацию о своем состоянии в файл /var/log/messages, необходимо послать ему сигнал SIGINFO:
1.killall -SIGINFO ntpd
В случае корректной работы сервера OpenNTPD в файле /var/log/messages появится примерно такое сообщение:
Apr 13 15
43 ... ntpd[93356]: 6 out of 6 peers valid
Если что-то не так, например, "умер" один из выбранных публичных NTP-серверов, сообщение будет выглядеть так:
Apr 13 17:03:43 ... ntpd[93356]: 5 out of 6 peers valid
Apr 13 17:03:43 ... ntpd[93356]: bad peer ntp.letinet.ru (95.140.94.2)
Заключение
Я надеюсь, что приведенной информации будет более чем достаточно для корректной настройки и последующей отладки NTP-сервера OpenNTPD на компьютере с операционной системой FreeBSD.
Для синхронизации Вы можете использовать следующие адреса серверов точного времени:
• ntp.time.in.ua - основной сервер точного времени (stratum 1);
• ntp2.time.in.ua - резервный сервер точного времени (stratum 1);
• ntp3.time.in.ua - резервный сервер точного времени (stratum 2).