Установка и настройка NTP-сервера chrony на Rocky Linux / CentOS

Тематические термины: NTP , Rocky Linux , CentOS .

Сервер синхронизации времени NTP помогает актуализировать время на всех узлах сети. В инструкции рассказано о его установке и настройке на Rocky Linux / CentOS.

Установка сервера

Начиная с CentOS 8 (Rocky 8) пакетом для синхронизации времени по умолчанию является chrony — он пришел на смену ntpd.

Устанавливаем его командой:

dnf install chrony

Разрешаем автозапуск и стартуем сервис:

systemctl enable chronyd —now

Настройка NTP

Открываем файл с настройками:

vi /etc/chrony.conf

Настраиваем серверы, с которых наш NTP будет брать эталонное время. Например:

#pool 2.centos.pool.ntp.org iburst
server 192.168.0.100 iburst prefer
server 192.168.0.110 iburst
server 127.127.1.0

* где:

  • pool — указывает на выполнение синхронизации с пулом серверов.
  • server — указывает на выполнение синхронизации с сервером.
  • iburst — отправлять несколько пакетов (повышает точность).
  • prefer — указывает на предпочитаемый сервер.
  • server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.

* в данном примере мы закомментировали указанный пул по умолчанию и добавили свои серверы 192.168.0.100 и 192.168.0.110 .

Настраиваем безопасность:

allow 192.168.0.0/24

* в данном примере мы разрешаем синхронизацию времени с нашим сервером для узлов сети 192.168.0.0 / 255.255.255.0 .

Перезапускаем сервис:

systemctl restart chronyd

Добавляем правило в брандмауэр:

firewall-cmd —permanent —add-service=ntp

firewall-cmd —reload

Тестирование

Проверить состояние получения эталонного времени можно командой:

chronyc sources

Мы должны увидеть, примерно, следующее:

210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 127.127.1.0 0 6 0 — +0ns[ +0ns] +/- 0ns
^* server-01.remontka.local 2 6 17 55 +629us[+1184us] +/- 152ms

Отобразить текущее время можно командой:

date

Для настройки часового пояса применяем команду:

timedatectl set-timezone Europe/Moscow

* московское время (GMT+3).

Проверить отдачу времени сервером можно введя команду на другом Linux:

ntpdate 192.168.0.15

* где 192.168.0.15 — адрес нашего NTP-сервера.

Правильный ответ имеет следующий вид:

ntpdate[3576]: adjust time server 192.168.0.15 offset 0.017657 sec

* время было рассинхронизировано на 0.017657 секунд.

Настройка клиента Linux

Для клиентов можно выбрать несколько стратегий настройки — мы рассмотрим 3:

  1. С помощью Chrony.
  2. Сервис ntpd.
  3. Утилиты ntpdate.

Начнем с Chrony.

Chrony

Команда для установки зависит от типа дистрибутива Linux.

а) DEB (Ubuntu / Debian / Astra):

apt-get install chrony

б) RPM (Rocky / CentOS / РЕД ОС):

yum install chrony

После установки открываем /etc/chrony.conf:

vi /etc/chrony.conf

… и в качестве сервера оставляем только наш локальный сервер, например:

server 192.168.156.215 iburst

Разрешаем автозапуск сервиса:

systemctl enable chronyd || systemctl enable chrony

Перезапускаем сервис:

systemctl restart chronyd || systemctl restart chrony

Проверить состояние работы можно командой:

chronyc sources

NTP

Устанавливаем ntp:

а) DEB (Ubuntu / Debian / Astra):

apt-get install ntp

б) RPM (Rocky / CentOS / РЕД ОС):

yum install ntp

В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:

server 192.168.0.15

Остальные pool и server удаляем или комментируем.

Перезапускаем NTP:

systemctl restart ntp || systemctl restart ntpd

Проверить состояние можно командой:

ntpq -p

ntpdate

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

а) DEB (Ubuntu / Debian / Astra):

apt-get install ntpdate

б) RPM (Rocky / CentOS / РЕД ОС):

yum install ntpdate

Чтобы автоматизировать процесс, добавляем задание в cron:

crontab -e

0 0 * * * /usr/sbin/ntpdate 192.168.0.15

* в данном примере задание будет выполняться раз в день в 00:00. /usr/sbin/ntpdate — полный путь расположения утилиты, в разных системах может быть разным — проверить стоит командой which ntpdate .

Настройка клиента Windows

В командной строке выполняем:

w32tm /config /manualpeerlist:»192.168.0.15,0×8″ /syncfromflags:manual /update

EnglishRussianUkrainian