Заметки сисадмина

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

В данной статье научимся с вами настраивать ntp клиент и сервер на примере freebsd 10

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

1) Выставляем нужный часовой пояс (например, Москва)

portsnap fetch update

cd /usr/ports/misc/zoneinfo && make install clean
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

2) Для включения 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"
3) В /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 ускорить начальный процесс синхронизации.

4) Создадим файл ntp.drift и ntp.log

touch /var/db/ntp.drift

touch /var/log/ntp.log

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

5) Для запуска NTP при загрузке добавить в файл /etc/rc.conf строки

ntpd_enable=>"YES"

6) Что бы разрешить синхронизироваться с этой машины нужно в файле /etc/ntp.conf прописать
restrict default ignore
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Разрешит синхронизацию с IP-адресов 192.168.1.1 — 254 и 127.0.0.1

7) Запускаем ntpd

/etc/rc.d/ntpd start

8) Для проверки состояния синхронизации набираем

ntpq -p

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

remote refid st t when poll reach delay offset jitter ============================================================================== *40.118.103.7 132.163.4.103 2 u 202 1024 377 73.810 34.115 43.457 +ru-led.v4v6.net 130.173.91.58 2 u 666 1024 373 58.615 39.830 76.547 +ntp1.ivlan.net 89.109.251.21 2 u 499 1024 377 142.480 -0.170 68.986 +lan.forstwoof.r 89.109.251.21 2 u 298 1024 377 73.709 32.586 41.680
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 — он и в Африке delay — задержка (в миллисекундах) ответа от сервера
offset — разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом — отставание, с плюсом — наши часики спешат
jitter — смещение времени на удаленном сервере

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

9) Узнать, пригоден ли наш сервер для синхронизации, а также некоторые его данные можно командой

ntpdate -q localhost

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

server 127.0.0.1, stratum 3, offset 0.000004, delay 0.02567
server ::1, stratum 3, offset 0.000018, delay 0.02570
28 Dec 13:31:51 ntpdate[13707]: adjust time server 127.0.0.1 offset 0.000004 sec

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

10) В 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 пакетов вместо одного для попытки синхронизации, что повышает шансы на успешную синхронизацию.

11) Настройка клиентов на синхронизацию с нашим сервером (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

Поделиться
Комментарии
Алексей 16.08.2018 03:42
Блин, ну кто так пишет? Почему блин не написать что это за хрень ntpdate_enable="YES" Что мы добавляем клиент или сервер и коня в пальто. Или тупо скопировали с чужого ресурса?
TIvanZ 20.10.2018 22:47
Ещё раз прочитай пункт 2.
Method 01.02.2019 21:30
Кажется, начиная с FreeBSD 10.0, доступен новый инструмент длзаписи в /etc/rc.conf: sysrc ntpd_enable=YES
Павел 22.10.2019 07:58
ntpdate устарел, и намечен к удалению вместо него для разовой синхронизации при загрузке рекомендуется сделать sysrc ntpd_sync_on_start="YES" Вместо записи в ntpd.conf серверов по отдельности лучше пропискать целиком pool 0.europe.pool.ntp.org iburst В 12 релизе это уже сделано по умолчанию
Максим Орлов

Ваш покорный слуга - компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.

Оставить комментарий

Ваш Email адрес не будет опубликован. Все обязательные поля обозначены *