Руководство по настройке Chrony в качестве NTP-сервера и клиента на AlmaLinux 9

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

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

В следующем руководстве я покажу вам, как установить Chrony на сервер AlmaLinux 9. Мы установим Chrony в качестве NTP-сервера и NTP-клиента. Кроме того, вы узнаете, как использовать командную строку chronyc для управления и мониторинга Chrony.

Предварительные условия

Чтобы начать работу, убедитесь, что у вас есть следующее:

  • Сервер AlmaLinux 9 — В данной демонстрации используется сервер с именем хоста alma9 и IP-адрес 192.168.10.15.
  • Клиентская машина Linux также использует машину AlmaLinux с именем хоста node1 и IP-адрес 192.168.10.20.
  • Некорневой пользователь с привилегиями администратора root.

Настройка системного часового пояса

Для настройки часового пояса в Linux можно использовать утилиту timedatectl. В следующем разделе мы покажем вам, как настроить и проверить системный часовой пояс перед установкой NTP-сервера Chrony.

Сначала проверьте список доступных часовых поясов с помощью следующей команды и решите, какой часовой пояс вы хотите использовать.

sudo timedatectl list-timezones

Теперь выполните приведенную ниже команду, чтобы изменить часовой пояс по умолчанию на вашем сервере. Следующая команда настроит часовой пояс по умолчанию на Европа/Амстердам.

sudo timedatectl set-timezone Europe/Amsterdam

Затем проверьте текущий часовой пояс с помощью следующей команды.

sudo timedatectl

В разделе «Часовой пояс» вы можете увидеть текущий часовой пояс.

настройка часового пояса

Также вы можете проверить системный часовой пояс по умолчанию, проверив файл /etc/localtime. Убедитесь, что файл является симлинком на нужный часовой пояс.

ls -lah /etc/localtime

Установка Chrony

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

Для начала выполните приведенную ниже команду dnf, чтобы найти пакет chrony в репозитории AlmaLinux. Вы увидите, что репозиторий baseos по умолчанию содержит пакет chrony и готов к установке.

sudo dnf search chrony

установка пакета chrony

Установите chrony с помощью следующей команды dnf. При появлении запроса введите y для подтверждения и нажмите ENTER.

sudo dnf install chrony

установка chrony

После установки Chrony выполните следующую команду для запуска и включения службы chronyd. Chronyd — это служба systemd для Chrony, с помощью этих команд chronyd будет запущен и автоматически стартует при загрузке системы.

sudo systemctl start chronyd
sudo systemctl enable chronyd

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

sudo systemctl status chronyd

Следующий вывод подтверждает, что служба chronyd запущена, поскольку выводимое сообщение активен (работает) отображается.

start enable verify chronyd

Настройка Firewalld

После установки Chrony необходимо открыть порт NTP на сервере NTP. Теперь вы добавите службу NTP в firewalld с помощью командной строки firewall-cmd.

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

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

Если же вы используете NTP-сервер для локальных сетей, выполните приведенную ниже команду firewall-cmd, чтобы указать подсеть сети с помощью правила firewalld rich-rule.

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 с помощью следующей команды.

sudo firewall-cmd --list-all

Вы должны получить службу ntp, добавленную в список служб firewalld.

настройка firewalld

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

NTP-сервер — это место, где ваши клиенты могут синхронизировать системное время. Чтобы настроить Chrony в качестве NTP-сервера, вам нужно изменить две основные конфигурации:

  • Добавить NTP-пул в качестве источника: посетить https://www.ntppool.org/en/ для получения доступных NTP-серверов, которые можно использовать в качестве источника.
  • Разрешить внутреннюю сеть: добавьте подсети внутренней сети, которым будет разрешен доступ и использование вашего NTP-сервера. Таким образом, вы можете создать частный/локальный NTP-сервер для вашей среды.

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

sudo nano /etc/chrony.conf

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

Затем добавьте в сервер параметр, например, такой:

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

Добавьте параметр разрешить параметр и укажите свою сетевую подсеть. Любая сетевая подсеть в пределах разрешить параметр будет разрешен доступ к вашей установке NTP-сервера.

# allowed clients
allow 192.168.10.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

После завершения работы сохраните и закройте редактор.

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

sudo systemctl restart chronyd

После перезапуска chronyd выполните приведенную ниже команду chronyc, чтобы проверить текущие источники NTP-сервера.[chronyc это утилита командной строки, предоставляемая Chrony для управления как NTP-сервером, так и клиентом.

chronyc sources

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

источник проверки chronyc

Кроме того, вы можете получить подробную версию отчета, добавив параметр -v опция, означающая подробный вывод.

chronyc sources -v

подробные источники

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

Вверху вы узнали, как создать NTP-сервер с помощью Chrony. Теперь вы узнаете, как настроить Chrony в качестве NTP-клиента. Пакет Chrony установлен на клиентской машине с именем хоста node1 и IP-адресом 192.168.10.20 в следующем примере.

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

Сначала выполните следующую команду, чтобы убедиться, что служба chronyd запущена на клиентской машине.

sudo systemctl status chronyd

Если она запущена, то должен появиться следующий вывод:

chrony status node1

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

sudo nano /etc/chrony.conf

Добавьте ваш NTP-сервер в сервер параметр. Вы можете использовать IP-адрес или fqdn вашего NTP-сервера.

Дополнительный параметр iburst позволяет службе Chronyd произвести первое обновление часов вскоре после старта, а параметр предпочитает определяет приоритет источника NTP Server среди других серверов без опции prefer.

server 192.168.10.15 iburst prefer

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

sudo systemctl restart chronyd
sudo systemctl status chronyd

chrony как ntp-клиент

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

chronyc sources
chronyc sources -v

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

проверка источников

Базовое использование команды Chronyc

Chronyc — это интерфейс командной строки для управления Chrony, будь то NTP-сервер или NTP-клиент. В последнем разделе вы узнаете некоторые основные команды Chronyc для управления вашей NTP-установкой.

Параметр tracking покажет вам производительность системных часов.

chronyc tracking

На Reference ID в разделе вы должны увидеть источник NTP-сервера, который в настоящее время синхронизирован.

отслеживание хроники

С помощью параметра ntpdata можно измерить и проверить источник NTP.

chronyc ntpdata

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

ntpdata

Далее используйте параметр activity, чтобы показать количество NTP-серверов на пире.

chronyc activity

Вы можете увидеть вывод онлайн если сервер NTP доступен и только, и в автономном режиме статус, если одноранговый сервер находится в автономном режиме.

активность хронов

Наконец, вы также можете разрешить/запретить сетевую подсеть в Chrony с помощью командной строки chronyc.

Используйте разрешить параметр, разрешающий подсети для доступа и использования NTP-сервера Chrony.

chronyc allow IP/subnet

Чтобы запретить подсетям доступ к серверу Chrony NTP, используйте параметр deny параметр следующим образом:

chronyc deny IP/subnet

Заключение

Отличная работа! Теперь вы успешно установили Chrony на сервер AlmaLinux 9. Вы также узнали, как настроить NTP-сервер с помощью Chrony и как настроить NTP-клиент с помощью Chrony. Кроме того, вы настроили системный часовой пояс с помощью timedatectl и узнали некоторые основы командной строки chronyc для управления установкой Chrony.

Добавить комментарий

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