Руководство по настройке Chrony в качестве NTP-сервера и клиента в AlmaLinux 9
NTP, или протокол сетевого времени, — это сетевой протокол для синхронизации времени и часов в компьютерной сети.
Chrony реализует NTP или протокол сетевого времени и является альтернативой другим приложениям, таким как 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 с правами администратора root.
Настройка часового пояса системы
Чтобы настроить часовой пояс в Linux, вы можете использовать утилиту timedatectl. В следующем разделе показано, как настроить и проверить системный часовой пояс перед установкой сервера Chrony NTP.
Сначала проверьте список доступных часовых поясов с помощью следующей команды и решите, какой часовой пояс вы хотите использовать.
sudo timedatectl list-timezones
Теперь выполните команду ниже, чтобы изменить часовой пояс по умолчанию на вашем сервере. Следующая команда настроит часовой пояс по умолчанию на Европа/Амстердам.
sudo timedatectl set-timezone Europe/Amsterdam
Затем проверьте текущий часовой пояс, используя следующую команду.
sudo timedatectl
В разделе «Часовой пояс» вы можете увидеть свой текущий часовой пояс.
Или вы также можете проверить системный часовой пояс по умолчанию, проверив файл /etc/localtime. Убедитесь, что файл представляет собой символическую ссылку соответствующего часового пояса.
ls -lah /etc/localtime
Установка Хрони
Chrony — это реализация протокола NTP, которую можно использовать в качестве сервера NTP и клиента NTP. В следующем разделе показано, как установить Chrony и управлять службой Chrony с помощью утилиты systemctl.
Для начала выполните приведенную ниже команду dnf, чтобы найти пакет chrony в репозитории AlmaLinux. Вы должны увидеть, что репозиторий Baseos по умолчанию предоставляет Chrony и готов к установке.
sudo dnf search chrony
Установите chrony с помощью следующей команды dnf. При появлении запроса введите y для подтверждения и нажмите ENTER.
sudo dnf install chrony
После установки Chrony выполните следующую команду, чтобы запустить и включить службу chronyd. Chronyd — это системный сервис для Chrony. С помощью этих команд chronyd будет запускаться и запускаться автоматически при загрузке системы.
sudo systemctl start chronyd
sudo systemctl enable chronyd
Проверьте службу chronyd, используя следующую команду, чтобы убедиться, что служба работает.
sudo systemctl status chronyd
Следующий вывод подтверждает, что chronyd запущен, поскольку отображается выходное сообщение active (running).
Настройка брандмауэра
После установки 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.
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.
Настройка 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-серверы.
Затем добавьте к параметру server следующее:
# 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
Добавьте параметр allow и укажите подсеть вашей сети. Любой подсети сети, указанной в параметре allow, будет разрешен доступ к вашей установке 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-сервера.
Более того, вы также можете получить подробные версии отчета, добавив параметр -v, который означает подробный вывод.
chronyc sources -v
Настройка Chrony в качестве NTP-клиента
Вверху вы узнали, как создать NTP-сервер с помощью Chrony. Вы узнаете, как настроить Chrony в качестве NTP-клиента. В следующем примере пакет Chrony устанавливается на клиентском компьютере с именем узла node1 и IP-адресом 192.168.10.20.
Чтобы настроить Chrony в качестве NTP-клиента, вы должны добавить свой NTP-сервер в параметр server в файле конфигурации Chrony /etc/chrony.conf.
Сначала выполните следующую команду, чтобы убедиться, что служба chronyd запущена на вашем клиентском компьютере.
sudo systemctl status chronyd
При запуске должен отображаться следующий вывод:
Теперь откройте файл конфигурации chrony /etc/chrony.conf с помощью редактора nano.
sudo nano /etc/chrony.conf
Добавьте свой NTP-сервер в параметр server. Вы можете использовать IP-адрес или полное доменное имя вашего NTP-сервера.
Дополнительный параметр iburst позволяет службе Chronyd выполнить первое обновление часов вскоре после запуска, а параметр prefer будет устанавливать приоритет источника NTP-сервера среди других серверов без предпочтения. вариант.
server 192.168.10.15 iburst prefer
Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу chronyd и применить изменения. Затем проверьте chronyd, чтобы убедиться, что служба работает.
sudo systemctl restart chronyd
sudo systemctl status chronyd
Наконец, введите следующую команду, чтобы проверить источники NTP-сервера на вашем клиентском компьютере.
chronyc sources
chronyc sources -v
В случае успеха вы должны увидеть, что ваш NTP-сервер используется в качестве источника NTP-сервера на клиентском компьютере.
Базовое использование команды Chronyc
Chronyc — это интерфейс командной строки для управления Chrony как NTP-сервером, так и NTP-клиентом. В последнем разделе вы изучите некоторые основные команды chronyc для управления установкой NTP.
Параметр отслеживания покажет вам производительность системных часов.
chronyc tracking
В разделе Идентификатор ссылки вы должны увидеть источник NTP-сервера, который в данный момент синхронизируется.
С помощью параметра ntpdata вы можете измерить и проверить источник NTP.
chronyc ntpdata
В поле Удаленный адрес вы можете увидеть IP-адрес источника NTP-сервера. В разделе Удаленный порт вы должны получить порт NTP-сервера по умолчанию, который используется в данный момент. Наконец, в разделе Локальный адрес вы должны увидеть IP-адрес клиентского компьютера в качестве соответствующего ссылочного идентификатора.
Затем используйте параметр активности, чтобы показать количество NTP-серверов на узле.
chronyc activity
Вы можете увидеть выходные данные онлайн, если NTP-сервер доступен и только, и статус оффлайн, если одноранговый сервер находится в автономном режиме.
Наконец, вы также можете разрешить/запретить сетевую подсеть в Chrony через командную строку chronyc.
Используйте параметр allow, чтобы разрешить подсетям доступ и использование сервера Chrony NTP.
chronyc allow IP/subnet
Чтобы запретить подсетям доступ к вашему NTP-серверу Chrony, используйте параметр deny следующим образом:
chronyc deny IP/subnet
Заключение
Хорошая работа! Теперь вы успешно установили Chrony на сервер AlmaLinux 9. Вы также узнали, как настроить NTP-сервер с помощью Chrony и как настроить NTP-клиент с помощью Chrony. Кроме того, вы также настроили системный часовой пояс с помощью timedatectl и изучили базовую командную строку chronyc для управления установкой Chrony.