Настройка ntpdate/ntpd на FreeBSD 9.1

  1. Выставляем нужный часовой пояс (например, Омск)
portsnap fetch update
cd /usr/ports/misc/zoneinfo && make install clean
cp /usr/share/zoneinfo/Asia/Omsk /etc/localtime
  1. Для включения ntpdate во время загрузки добавим в файл /etc/rc.conf строки
ntpdate_enable=YES
ntpdate_flags=-b 0.europe.pool.ntp.org 1.europe.pool.ntp.org 2.europe.pool.ntp.org
  1. В /etc/ntp.conf приводим к виду
server 0.europe.pool.ntp.org iburst
server 1.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org iburst
server 3.europe.pool.ntp.org iburst
driftfile /var/db/ntp.drift
logfile /var/log/ntp.log

Параметр iburst позволяет ntpd ускорить начальный процесс синхронизации.

  1. Создадим файл ntp.drift и ntp.log
touch /var/db/ntp.drift
touch /var/log/ntp.log

Ntpd использует его для автоматической компенсации естественного смещения часов, позволяя ему поддерживать достаточно правильную настройку, даже если он на некоторый период отключается от внешнего источника информации о времени.

  1. Для запуска NTP при загрузке добавить в файл /etc/rc.conf строки
ntpd_enable=YES
  1. Что бы разрешить синхронизироваться с этой машины нужно в файле /etc/ntp.conf прописать
restrict default ignore
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict localhost

Разрешит синхронизацию с IP-адресов 192.168.1.1 — 254 и 127.0.0.1

  1. Запускаем ntpd
/etc/rc.d/ntpd start
  1. Для проверки состояния синхронизации набираем
ntpq -p

и видим примерно следующее

remote refid st t when poll reach delay offset jitter
==============================================================================
+ns2.infomir.com 198.123.30.132 2 u 1 64 377 57.569 -29.600 0.305
*tt52.ripe.net .PPS. 1 u 31 64 377 95.209 -32.192 0.721
-nut.rsuitb.ru 5.182.124.191 3 u 26 64 377 35.003 -9.676 12.990
+store2.bnsvcs.n 192.36.133.17 2 u 8 64 377 133.782 -20.795 0.256

remote — имена удаленных ntp серверов (в нашем случае полученные из пулов 0/1/2/3.ua.pool.ntp.org)
refid — сервер, с которым производит синхронизацию удаленный сервер ntp
st — стратум (уровень) удаленного сервера
1 — самый высокий, эти сервера для вычисления точного времени используют специальное дорогостоящее оборудование
16 — рядовая машина/клиент
t — тип пира (u = unicast, m = multicast)
when — указывает на то, как давно была произведена синхронизация с сервером
poll — частота в секундах, с которой NTP демон синхронизируется с пиром
reach — состояние доступности сервера, это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны
delay — задержка (в миллисекундах) ответа от сервера
offset — разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом — отставание, с плюсом — наши часики спешат
jitter — смещение времени на удаленном сервере

Теперь немного о значках, следа от имени пира:
\* — пир, с которым последний раз у нас была выполнена синхронизация
+ — хороший (пригодный для обновления) сервер
— — плохой (непригодный для обновления) сервер
х — сервер не отвечает

  1. Узнать, пригоден ли наш сервер для синхронизации, а также некоторые его данные можно командой
ntpdate -q localhost

и видим примерно следующее

server 127.0.0.1, stratum 2, offset -0.000004, delay 0.02563
server ::1, stratum 2, offset -0.000005, delay 0.02568
10 Jan 16:51:07 ntpdate[1204]: adjust time server 127.0.0.1 offset -0.000004 sec

Этот ответ означает, что наш сервер пригоден для синхронизации, его страта равна двум, смещение — 0.000004 а задержка при ответе равна 0.02563

  1. Аналогичной командой можно узнать эти параметры на удаленном сервере
ntpdate -q 130.149.220.2
server 130.149.220.2, stratum 2, offset -0.033755, delay 0.13460
10 Jan 16:55:38 ntpdate[1221]: adjust time server 130.149.220.2 offset -0.033755 sec
  1. В /var/log/ntp.log должны быть сообщения аналогичные нижеприведенным
0 Jan 14:34:10 ntpd[1702]: synchronized to 192.33.96.102, stratum 1
10 Jan 14:35:18 ntpd[712]: synchronized to 213.136.0.252, stratum 1

Каждая запись соответствует успешной синхронизации с удаленным сервером. Если они отсутствуют, значит синхронизация не производиться.

  1. В ntp.conf стоит добавить опцию burst
server 0.europe.pool.ntp.org iburst burst
server 1.europe.pool.ntp.org iburst burst
server 2.europe.pool.ntp.org iburst burst
server 3.europe.pool.ntp.org iburst burst

driftfile /var/db/ntp.drift

logfile /var/log/ntp.log

Опция burst, указывает ntpd посылать 8 пакетов вместо одного для попытки синхронизации, что повышает шансы на успешную синхронизацию.

  1. Настройка клиентов на синхронизацию с нашим сервером (192.168.1.1).
    В случае с клиентом под FreeBSD в /etc/ntp.conf пишем
server 192.168.1.1 iburst
driftfile /etc/ntp/drift
logfile /var/log/ntp.log
restrict default ignore
restrict 192.168.1.1

По материалам lissyara.su

Поделиться
Отправить
2013   freebsd   ntpd