Поиск по сайту:

Как настроить Chrony в качестве NTP-сервера и клиента в Rocky Linux


На этой странице

  1. Предпосылки
  2. Установка пакета Chrony
  3. Настройка Chrony в качестве NTP-сервера
  4. Настройка Chrony в качестве NTP-клиента
  5. Заключение

NTP или протокол сетевого времени — это сетевой протокол для синхронизации времени и часов в компьютерной сети.

Chrony — это реализация NTP или протокола сетевого времени и альтернатива другим приложениям, таким как up. Chrony может работать в Unix-подобных операционных системах, выпущенных под лицензией GNU GPL v2. Chrony используется в качестве программного обеспечения NTP-сервера по умолчанию для некоторых дистрибутивов Linux, а также доступен для нескольких дистрибутивов Linux.

В этом руководстве вы узнаете, как установить и использовать Chrony на сервере Rocky Linux. Вы узнаете, как использовать Chrony двумя разными способами:

  • Использование Chrony в качестве NTP-сервера — обычно это делается, если вы хотите создать NTP-сервер для своей локальной среды. Таким образом, вместо подключения к общедоступному NTP-серверу в Интернете клиенты будут подключаться к локальному компьютеру, на котором работает Chrony, в качестве NTP-сервера.
  • Использование Chrony в качестве NTP-клиента — это когда вам нужно синхронизировать время на вашем компьютере или клиенте с NTP-сервером.

Предпосылки

В этом руководстве предполагается, что у вас есть два разных сервера Rocky Linux, которые будут использоваться в качестве NTP-сервера и NTP-клиента. Вы можете использовать Rocky Linux v8 или последнюю версию 9. Кроме того, вам понадобится пользователь без полномочий root с привилегиями sudo root на обеих машинах.

Ниже приведены подробные серверы, которые мы будем использовать:

Hostname        IP Address       Used as
-------------------------------------------
rocky8          192.168.5.100    NTP Server
client1         192.168.5.120    NTP Client

Теперь приступим к установке и настройке Chrony.

Установка пакета Хрони

Chrony — это одна из реализаций NTP (Network Time Protocol) для Unix-подобных операционных систем.

По умолчанию пакет Chrony доступен в репозитории baseos Rocky Linux.

Вы можете проверить пакет Chriony, используя приведенную ниже команду dnf. Вы должны увидеть подробную информацию о пакете Chrony.

sudo dnf info chrony

На следующем снимке экрана вы можете увидеть, что текущая версия Chrony v4.1 доступна в репозитории baseos Rocky Linux.

Теперь, чтобы установить Chriony, выполните приведенную ниже команду dnf. Когда будет предложено подтвердить установку, введите y, затем нажмите ENTER, чтобы продолжить.

sudo dnf install chrony

После установки Chrony запустите и включите службу Chronyd с помощью приведенной ниже команды systemctl.

sudo systemctl enable chronyd
sudo systemctl start chronyd

После этого проверьте службу Chronyd с помощью приведенной ниже команды.

sudo systemctl status chronyd

Вы должны увидеть, что служба Chrionyd включена и будет запускаться автоматически при загрузке системы. И вот, статус службы Chronyd работает.

Настройка Chrony в качестве NTP-сервера

На этом этапе вы узнаете, как настроить Chrony в качестве NTP-сервера на сервере Rocky Linux. В этом примере мы будем использовать сервер Rocky Linux с именем хоста rocky8 и IP-адресом 192.168.5.100.

Чтобы настроить Chrony, необходимо отредактировать файл конфигурации Chrony по умолчанию /etc/chrony.conf.

Откройте файл /opt/.chrony.conf с помощью следующей команды редактора nano.

sudo nano /etc/chrony.conf

В директиве server вы можете указать источник NTP-сервера, который вы хотите использовать. Вы можете найти ближайший к вам пул серверов NTP по адресу https://www.ntppool.org/en/.

В этом примере мы будем использовать приведенный ниже пул серверов NTP. Также мы будем использовать дополнительную опцию iburst, позволяющую сервису Chronyd сделать первое обновление часов вскоре после запуска.

# list servers
server 0.se.pool.ntp.org iburst
server 1.se.pool.ntp.org iburst
server 2.se.pool.ntp.org iburst
server 3.se.pool.ntp.org iburst

Раскомментируйте директиву allow и добавьте подсеть IP-адреса, которому разрешен доступ к NTP-серверу. В этом примере всем клиентам в сети 192.168.5.0/24 будет разрешен доступ к серверу NTP.

# allowed clients
allow 192.168.5.0/24

Сохраните файл и выйдите из редактора, когда закончите.

Дополнительные параметры/директивы, которые вы также можете изменить:

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Specify the file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

Затем выполните следующую команду, чтобы перезапустить службу Chronyd и применить новые изменения. И служба Chronyd теперь работает как NTP-сервер.

sudo systemctl restart chronyd

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

chronyc sources

Вы также можете получить подробную информацию с помощью опции -v как подробной.

chronyc sources -v

Ниже приведен подробный статус источника NTP-сервера, который используется на сервере.

Наконец, вам нужно будет добавить порт службы NTP в файл firewalld. Это позволит клиентским машинам подключаться к вашему NTP-серверу.

Запустите приведенную ниже команду firewall-cmd, чтобы добавить службу NTP в файл firewalld. Затем перезагрузите firewalld. Это позволит любым машинам подключаться к NTP-серверу.

sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

Вы также можете указать сетевые подсети, которым разрешен доступ к NTP-серверу с помощью расширенных правил Firewalld. Добавьте расширенное правило firewalld, которое позволяет подсети 192.168.5.0/24 получать доступ к NTP-серверу с помощью приведенной ниже команды firewall-cmd. Затем перезагрузите firewalld, чтобы применить новые правила.

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept"
sudo firewall-cmd --reload

Теперь вы можете проверить правила firewalld, используя следующую команду firewall-cmd. Вы должны увидеть включенные службы и открытые порты на вашем брандмауэре.

sudo firewall-cmd --list-all

На этом этапе вы установили и настроили Chrony в качестве NTP-сервера на сервере Rocky Linux. Затем вы можете настроить Chrony в качестве NTP-клиента.

Настройка Chrony в качестве NTP-клиента

Теперь вы узнаете, как настроить Chrony в качестве NTP-клиента в системе Rocky Linux. В этом примере вы настроите клиент Chrony NTP на машине Rocky Linux с именем хоста client1.

Прежде чем начать, убедитесь, что на клиентском компьютере установлен пакет Chrony. Вы можете установить его с помощью команды dnf.

sudo dnf install chrony -y

После установки Chriony откройте файл конфигурации /etc/chrony.conf с помощью следующей команды редактора nano.

sudo nano /etc/chrony.conf

В директиве server измените источник NTP-сервера на свой NTP-сервер. В этом примере на NTP-сервере работает сервер с IP-адресом 192.168.5.100.

Кроме того, вы можете увидеть дополнительные параметры в директиве сервера\

  • Опция iburst позволяет службе Chronyd выполнить первое обновление часов вскоре после запуска.
  • Параметр prefer отдает приоритет источнику NTP-сервера среди других серверов без параметра предпочтения.

server 192.168.5.100 iburst prefer

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните следующую команду, чтобы перезапустить службу Chrony и применить новые настройки.

sudo systemctl restart chronyd

Наконец, выполните следующую команду chronyc, чтобы проверить текущее состояние NTP на компьютере client1.

chronyc tracking

Вы должны увидеть, что машина client1 подключена и синхронизирует время с сервером NTP ntp.hwdomain.io, который является IP-адресом сервера 192.168.5.100.

Вы также можете проверить подробные данные NTP с помощью приведенной ниже команды chronyc.

chronyc ntpdata

Теперь вы можете видеть в разделе «Удаленный адрес» IP-адрес NTP-сервера, а в разделе «Локальный адрес» — текущий IP-адрес компьютера.

Затем вы также можете проверить источники NTP-сервера на компьютере client1 с помощью приведенной ниже команды chronyc. И вы должны увидеть, что клиентская машина теперь использует NTP-сервер ntp.hwdomain.io с IP-адресом 192.168.5.100 в качестве источника NTP-сервера по умолчанию и предпочтительного.

chronyc sources
chronyc sources -v

Заключение

Поздравляем! Теперь вы успешно установили программное обеспечение для реализации Chrony NTP на сервере Rocky Linux. Вы также узнали об основах использования Chrony, который можно использовать как для NTP-сервера, так и для клиента. В конце концов, вы также узнали об основном использовании командной строки chronyc для проверки состояния NTP.