Настройка сервера времени NTP

Простая и понятная заметка как настроить синхронизацию времени.

У меня часы спешили на 1 час

12:29 user@ns3 [/etc]#date
Wed Nov 25 12:30:00 EET 2009
12:30 user@ns3 [/etc]#

Можно было конечно задать командой date точное время (которое у меня на мобильном к примеру), но где гарантия, что часы будут идти точно? Сделаем все нормально:

12:31 user@ns3 [/etc]#rm /etc/localtime
12:31 user@ns3 [/etc]#ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Переносим наш сервер в нашу хону (в моем случае – это Украина/Киев)
Дальше прописываем в файл /etc/rc.conf следующее:

ntpd_enable="YES" # Run ntpd Network Time Protocol (or NO).
ntpd_program="/usr/sbin/ntpd" # path to ntpd, if you want a different one.
ntpd_config="/etc/ntp.conf" # ntpd(8) configuration file
ntpd_sync_on_start="NO" # Sync time on ntpd startup, even if offset is high
ntpd_flags="-p /var/run/ntpd.pid -l /var/log/ntpd.log "

После этого, прописываем следующее в файл /etc/ntp.conf

driftfile /var/db/ntpd.drift

server ntp.colocall.net
server ntp2.colocall.net

restrict default ignore
restrict 127.0.0.1

После этого, проверяем

12:32 user@ns3 [/etc]#ntpdate ntp.colocall.net
25 Nov 11:44:05 ntpdate[91417]: adjust time server 62.149.2.1 offset 0.001632 sec
11:44 user@ns3 [/etc]#date
Wed Nov 25 11:44:07 EET 2009
11:44 user@ns3 [/etc]#/etc/rc.d/ntpd start
Starting ntpd.
11:44 user@ns3 [/etc]#tail -f /var/log/ntpd.log
25 Nov 11:44:12 ntpd[91427]: precision = 1.676 usec
25 Nov 11:44:12 ntpd[91427]: Listening on interface #0 wildcard, 0.0.0.0#123 Disabled
25 Nov 11:44:12 ntpd[91427]: Listening on interface #1 wildcard, ::#123 Disabled
25 Nov 11:44:12 ntpd[91427]: Listening on interface #2 em0, 195.176.1.2#123 Enabled
25 Nov 11:44:12 ntpd[91427]: Listening on interface #3 lo0, fe80::1#123 Enabled
25 Nov 11:44:12 ntpd[91427]: Listening on interface #4 lo0, ::1#123 Enabled
25 Nov 11:44:12 ntpd[91427]: Listening on interface #5 lo0, 127.0.0.1#123 Enabled
25 Nov 11:44:12 ntpd[91427]: Listening on routing socket on fd #26 for interface updates
25 Nov 11:44:12 ntpd[91427]: kernel time sync status 2040
25 Nov 11:44:12 ntpd[91427]: frequency initialized 0.000 PPM from /var/db/ntpd.drift
^C
11:44 user@ns3 [/etc]#ps aux | grep ntp
root   91427  0.0  0.2  4672  1896  ??  Ss   11:44AM   0:00.01 /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -l /var/log/ntpd.log
root   91433  0.0  0.1  1660   960  p0  D+   11:46AM   0:00.00 grep ntp
11:46 user@ns3 [/etc]#

Вот и все.

З.Ы. Забыл, в /etc/rc.conf нужно бы еще вот такое вот добавить

ntpdate_flags="-bs ntp.colocall.net ntp2.colocall.net"
ntpdate_enable="YES"

Теперь при старте системы она сделает запрос на сервера точного времени, проведет синхронизацию, и будет Вам счастье.