Network Time Protocol (NTP) — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.
NTP использует для своей работы протокол UDP. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.
NTP использует алгоритм Марзулло (предложен Кейтом Марзулло (Keith Marzullo) из Университета Калифорнии, Сан-Диего), включая такую особенность, как учёт времени передачи. В версии 4 способен достигать точности 10 мс (1/100 с) при работе через Интернет, и до 0,2 мс (1/5000 с) и лучше внутри локальных сетей.
1. Устанавливаем из портов:
cd /usr/ports/net/ntp/ make install clean rehash
2. Редактируем ntp.conf
# ee /etc/ntp.conf
# Сервера, с которыми будем синхронизироваться # iburst - ускоряем процесс синхронизации # prefer - предпочитаемый сервер для синхронизации server 0.ua.pool.ntp.org iburst prefer server 1.ua.pool.ntp.org iburst server 2.ua.pool.ntp.org iburst server 3.ua.pool.ntp.org iburst # driftfile - файл, в котором хранится смещение времени локальной машины относительно серверов точного времени driftfile /etc/ntp/drift # куда писать логи logfile /var/log/ntp.log # список разрешенных серверов для синхронизации: restrict 0.ua.pool.ntp.org restrict 1.ua.pool.ntp.org restrict 2.ua.pool.ntp.org restrict 3.ua.pool.ntp.org # localhost restrict 127.0.0.1 # разрешим пользоваться нашей службой внутри сети restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
3. Добавляем в автозапуск
echo 'ntpd_enable="YES"' >> /etc/rc.conf echo 'ntpd_program="/usr/sbin/ntpd"' >> /etc/rc.conf echo 'ntpd_sync_on_start="YES"' >> /etc/rc.conf
4. Запускаем
/etc/rc.d/ntpd start
5. Обновить время
ntpdate -s time.nist.gov
6. После запуска сервера нужно подождать немного, минут 15.
Проверим, работает ли наш сервер времени:
ntpdate -q localhost