Настройка производится на FreeBSD 8.2-RELEASE.
Начиная с версии FreeBSD 9.0 статья, в принципе, неактуальна, т.к. установить NTPd система предлагает ещё на стадии установки в меню BSDInstaller. Тем не менее — тут содержатся полезные примеры.
Корректировка времени производится с помощью Network Time Protocol — Сетевой Протокол Времени.
Установка:
# cd /usr/ports/net/ntp
# make install clean
Редактируем файл конфигурации NTPd — /etc/ntp.conf.
Главными тут являются строки, указывающие демону с какими серверами ему производить синхронизацию. По умолчанию используются:
server 0.freebsd.pool.ntp.org iburst maxpoll 9
server 1.freebsd.pool.ntp.org iburst maxpoll 9
server 2.freebsd.pool.ntp.org iburst maxpoll 9
Можно указать сервера вида:
server 0.CC.pool.ntp.org iburst maxpoll 9
Где вместо СС указывается аббревиатура вашей страны. Т.к. сервер, на котором производится настройка ntpd находится вна Украине,то будет выглядеть так:
server 0.ua.pool.ntp.org iburst maxpoll 9 prefer
В таком случае автоматически будут выбраны сервера из пула ntp.org, находящиеся в вашей стране. Можно использовать другие сервера, указав их вручную (см. конфиг в конце статьи).
Параметр prefer указывает что это предпочтительный сервер.
Список доступных для синхронизации серверов есть тут:
http://support.ntp.org/bin/view/Servers/StratumOneTimeServers
Найти сервер в вашем регионе можно тут:
http://support.ntp.org/bin/view/Servers/WebSearch
Для проверки доступности синхронизации с выбранным сервером, введите:
# ntpdate -q ntp.dc.volia.com
Ответ должен быть такого вида:
# ntpdate -q ntp.dc.volia.com
server 82.144.220.9, stratum 2, offset -0.021772, delay 0.02603
15 Jan 23:40:18 ntpdate[33803]: adjust time server 82.144.220.9 offset -0.021772 sec
Добавьте возможность логгирования работы демона:
logfile /var/log/ntp.log
Раскомментируйте строки, ограничивающие использование вашего сервера:
restrict default ignore
restrict 127.0.0.1
Если требуется разрешить синхронизацию машинам из сети:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Запустить демон можно командой:
# service ntpd start
Перезапуск:
# service ntpd restart
Теперь проверьте состояние работы указанных в конфигурации серверов:
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*infocom.km.ua 192.53.103.108 2 u 46 64 377 5.663 -2.572 2.151
burka.carrier.k .INIT. 16 u — 64 0 0.000 0.000 0.000
pingvin.vc.ukrt .INIT. 16 u — 64 0 0.000 0.000 0.000
* отмечен сервер, с которым мы последний раз провели синхронизацию
+ с сервером возможна синхронизация
— синхронизация невозможна
х сервер недоступен
Теперь проверьте доступность вашего сервера:
# ntpdate -q localhost
server 127.0.0.1, stratum 3, offset -0.000002, delay 0.02562
server ::1, stratum 3, offset -0.000000, delay 0.02562
16 Jan 01:33:23 ntpdate[1848]: adjust time server ::1 offset -0.000000 sec
Все хорошо, сервер работает и доступен.
Если вывод похож на такой:
# ntpdate -q localhost
server 127.0.0.1, stratum 16, offset -0.000002, delay 0.02562
server ::1, stratum 16, offset -0.000002, delay 0.02562
16 Jan 01:28:31 ntpdate[1807]: no server suitable for synchronization found
значит что-то сделано неправильно — нет доступных для синхронизации серверов.
Что бы разрешить серверу производить запуск демона NTPd и произвести синхронизацию времени при старте системы — добавьте в файл /etc/rc.conf строки:
ntpd_enable=»YES»
ntpdate_enable=»YES»
Полный пример рабочего файла /etc/ntp.conf:
server ntp.dc.volia.com iburst maxpoll 9 prefer
server ntp.time.in.ua iburst maxpoll 9
server 0.freebsd.pool.ntp.org iburst maxpoll 9
logfile /var/log/ntp.log
restrict default ignore
restrict localhost
restrict ntp.dc.volia.com
restrict ntp.time.in.ua
restrict 0.freebsd.pool.ntp.org
В логе записи об успешных попытках синхронизации:
16 Jan 02:00:17 ntpd[1910]: synchronized to 62.149.0.30, stratum 1
16 Jan 02:01:17 ntpd[1910]: synchronized to 82.144.220.9, stratum 2