FreeBSD: синхронизация времени с помощью NTP

Автор: | 16/01/2012
 

Настройка производится на 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