Привет всем,

В этой заметке хочу продемонcтрировать настройку ntp-сервера для дальнейшего его включения в пуул - ntp.org.

Вообще, самой организацией pool.ntp.org рекомендуется сетапить минимум 3 сервера, но для моей итак не большой виртуальной инфры это избыточно. Поэтому будем настраивать 1 сервер.

Итак, у меня есть свеже установленный сервер с freebsd. На этот сервер через пограничный микротик занатирован порт - 123/UDP. По ssh подключаюсь на сервер и ставлю пакет - ntp:

root@ntp:~ # pkg install ntp

В процессе редактирование файла ntp.conf, потребуется указать сервера StratunOne, StratumTwo.

  • StratunOne - наивысший уровень серверов, которые получают информацию точного времени непосредственно от GPS-приемника, CDMA или WWV.
  • StratumTwo - нижный уровень серверов, которые получают информацию о времени с серверов StratunOne по сети.

Рекомендуется указываеть по два/три сервера с каждого уровня, найти сервера можно по ссылкам - StratunOne и StratumTwo.

Открываем файл конфигурации и прописываем в нем:

root@ntp:~ # vi /etc/ntp.conf
---
tos minclock 3 maxclock 6

server ntp3.fau.de
server ntp.nic.kz
server ntp1.vniiftri.ru
server ntp01.plutex.de

restrict default kod limited nomodify notrap nopeer noquery
restrict -6 default kod limited nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict -6 ::1

leapfile "/var/db/ntpd.leap-seconds.list"

driftfile /etc/ntp/drift

В этом конфиге я только добавить правила restrict, взятые с сайта pool.ntp.org. Ну и выбрал рабочие сервера server по ссылкам предоставленным выше.

В файле /etc/rc.conf проверяем, что включен автозапуск ntpd:

root@ntp:~ # vi /etc/rc.conf
---
ntpd_enable="YES"

Ну и перезапускаем сервис ntpd:

root@ntp:~ # /etc/rc.d/ntpd restart

Спустя некоторое время, наш ntp сервер синканется с сервером из списка, который вы указали в конфигурационном файле. Проверить статус синхронизации сервером можно командой:

root@ntp:~ # ntpq -p
---
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp3.rrze.uni-e .PZFs.           1 u   26   64  377  104.721  -18.744   5.791
-ntp.nic.kz      .GPSs.           1 u   31   64  377   68.796   -1.670   6.215
*ntp1.vniiftri.r .MRS.            1 u   28   64  357   70.411  -22.188   7.053
+91.202.41.82 (9 .PPS.            1 u   19   64  377  100.572  -23.703   3.950

В имени удаленного сервера присутствуют значки, которые говорят об:

  • * - при наличии этого символа в имени хоста, говорит нам что мы засинхронизировались с этим хостом,
  • + - этот символ говорит нам о пригодности к синхронизации,
  • - - соответсвенно этот символ говорит о не пригодности хоста к синку
  • x - говорит нам о недоступности удаленного хоста.

Просмотрим информацию по нашему серверу:

root@ntp:~ # ntpdate -q localhost
---
server 127.0.0.1, stratum 2, offset +0.000005, delay 0.02586
server ::1, stratum 2, offset +0.000030, delay 0.02600
26 Jul 10:17:02 ntpdate[931]: adjust time server 127.0.0.1 offset +0.000005 sec

Как можно понять из вывода стратум уровень нашего сервера - второй. И наш сервер пригоден для синхронизации.

Отлично сервер настроен для включения его в пулл, переходим на сайт ntppool.org и жмем на кнопку управления серверов: ntpd-for-ntppool1.png

Далее просто добавляем наш сервер, указывая его адрес. ntpd-for-pool2.png

Сервис попытается автоматом определить вашу зону, в моем случаи определилась не корретная зона. Что бы исправить это, просто в комментах при добавлении сервера указываем корректную зону: ntpd-for-pool2.png

После проверки сервера, он будет включен в pool нашей зоны, обычно этот процесс занимает около суток.