Установка и настройка Chrony (NTP) на Rocky Linux

Что такое NTP и Chrony
NTP (Network Time Protocol) — протокол для синхронизации системных часов в сети. Chrony — современная реализация NTP для Unix‑подобных систем. Chrony быстрее конвергирует и лучше работает на системах с переменным подключением, в виртуальных машинах и контейнерах.
Краткое определение: Chrony — демон (chronyd) и клиентская утилита (chronyc) для точной и устойчивой синхронизации времени.
Для кого это руководство
Это руководство рассчитано на системных администраторов и инженеров DevOps, у которых есть две машины Rocky Linux: одна будет сервером времени, другая — клиентом. Подойдёт как для Rocky Linux 8, так и для Rocky Linux 9.
Important: Требуется не‑root пользователь с sudo‑привилегиями на обоих хостах.
Сетевые примеры в руководстве
Используемые тестовые хосты:
Hostname IP Address Used as
-------------------------------------------
rocky8 192.168.5.100 NTP Server
client1 192.168.5.120 NTP ClientУстановка Chrony
Chrony доступен в стандартном репозитории baseos Rocky Linux.
Проверьте пакет:
sudo dnf info chronyВыполните установку:
sudo dnf install chrony -yЗапустите и включите сервис chronyd, чтобы он стартовал при загрузке:
sudo systemctl enable --now chronydПроверьте статус сервиса:
sudo systemctl status chronyd
Быстрая методология настройки (mini‑метод)
- Установите chrony на все хосты.
- На сервере: укажите внешние источники времени и откройте доступ клиентам.
- На клиентах: укажите внутренний NTP‑сервер.
- Перезапустите сервис и проверьте синхронизацию через chronyc.
Настройка Chrony как NTP‑сервера
На сервере (rocky8, 192.168.5.100) откройте конфигурацию:
sudo nano /etc/chrony.confСоветы по содержимому конфигурации:
- Укажите пул NTP серверов ближе к вашей географии. Список доступен на https://www.ntppool.org/en/.
- Используйте параметр iburst для ускоренного первоначального скачка времени.
- Разрешите доступ клиентам через директиву allow.
Пример блоков в /etc/chrony.conf:
# список внешних серверов (пример для Швеции)
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 192.168.5.0/24
# при первом запуске шагнуть, если расхождение > 1.0 с в течение 3 обновлений
makestep 1.0 3
# файл ключей для аутентификации (при необходимости)
keyfile /etc/chrony.keys
# использовать базу временной зоны для сек/прыжков
leapsectz right/UTCСохраните изменения и перезапустите сервис:
sudo systemctl restart chronydПроверьте источники времени, которые использует сервер:
chronyc sources
chronyc sources -v

Настройка брандмауэра (firewalld)
Откройте сервис NTP во firewalld:
sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reloadИли добавьте более точное правило только для подсети:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept"
sudo firewall-cmd --reloadПроверьте текущие правила:
sudo firewall-cmd --list-all
Security note: если у вас есть зональная политика, применяйте правила в нужную зону (например public или internal). Открывайте доступ только для нужных подсетей.
Настройка Chrony как NTP‑клиента
На клиенте (client1, 192.168.5.120) убедитесь, что chrony установлен:
sudo dnf install chrony -yОткройте /etc/chrony.conf и укажите ваш локальный NTP‑сервер:
sudo nano /etc/chrony.confЗамените или добавьте строку сервера:
server 192.168.5.100 iburst preferПараметры:
- iburst — первое ускоренное обновление при старте.
- prefer — ставит этот сервер в приоритет при выборе источника.
Перезапустите службу:
sudo systemctl restart chronydПроверьте состояние синхронизации на клиенте:
chronyc trackingВы увидите, к какому серверу синхронизируется клиент и текущее смещение.

Подробные данные о соединении:
chronyc ntpdataВывод покажет Remote address (адрес NTP‑сервера) и Local address (адрес клиента).

Список источников на клиенте:
chronyc sources
chronyc sources -v
Команды‑шпаргалка (cheat sheet)
- sudo systemctl enable –now chronyd — включить и запустить сервис.
- sudo systemctl restart chronyd — перезапустить сервис.
- sudo systemctl status chronyd — статус сервиса.
- chronyc tracking — текущее состояние синхронизации.
- chronyc sources — активные источники времени.
- chronyc sources -v — подробные сведения об источниках.
- chronyc ntpdata — детальные данные соединения к удалённому серверу.
- chronyc makestep — принудительно скорректировать системное время (редко требуется).
Диагностика и распространённые проблемы
Когда синхронизация не проходит:
- Проверьте, доступен ли NTP‑порт (UDP/123) между клиентом и сервером:
sudo ss -u -a | grep 123 или sudo nc -vzu 192.168.5.100 123 - Убедитесь, что в /etc/chrony.conf разрешены нужные подсети (allow).
- Проверьте правила firewalld/iptables и SELinux (если включён).
- На клиенте посмотрите chronyc sources -v — если сервер помечен с «?», то есть проблемы связи.
- Если виртуальная машина теряет время при старте, добавьте makestep 1.0 3 в конфиг.
Пример: если клиент пишет «No association», значит он не может установить связь с сервером (сетевая проблема или брандмауэр).
Когда Chrony не подходит — альтернативы
- ntpd (традиционный демон NTP): более старый, хорошо известен, но медленнее в некоторых сценариях.
- systemd‑timesyncd: лёгкий клиент без серьезных серверных возможностей, подходит для простых десктопов.
Выбор: для инфраструктуры с требованиями к точности и устойчивости Chrony обычно предпочтительнее.
Рекомендации по безопасности и жёсткие настройки
- Ограничьте доступ директивой allow только нужными подсетями.
- Если требуется аутентификация NTP, настройте ключи в /etc/chrony.keys и включите соответствующие параметры.
- Включите журналирование и мониторинг (syslog/journald) для chronyd.
- Обновляйте пакет Chrony из официального репозитория и следите за CVE‑оповещениями.
Роли и чек-листы (role‑based checklists)
Администратор сети:
- Убедиться, что порт UDP/123 открыт между серверами и клиентами.
- Настроить firewalld rich rule для нужной подсети.
Системный администратор сервера времени:
- Настроить внешние NTP‑пулы с iburst.
- Добавить makestep для первоначального выравнивания.
- Настроить мониторинг наличия входящих запросов.
Инженер DevOps на клиенте:
- Проверить, что клиент указывает на правильный сервер.
- Верифицировать синхронизацию через chronyc tracking.
- Проверить логи на предмет ошибок.
Критерии приёмки
- Сервер chronyd активен и использует внешние источники (chronyc sources -v).
- Клиент показывает состояние SYNCH (synchronized) в chronyc tracking.
- Пакеты NTP (UDP/123) доходят от клиента к серверу (проверка сети).
- Firewalld содержит правило для сервиса ntp или соответствующую rich rule.
Тестовые сценарии (test cases)
- Установка: после dnf install chrony служба должна быть доступна (systemctl status).
- Серверные источники: chronyc sources показывает внешние сервера.
- Клиентская синхронизация: chronyc tracking показывает смещение < 1 с и режим SYNCH.
- Отказ сети: при блокировке UDP/123 клиент теряет связь — проверка корректной обработки ошибок.
Тонкости и когда подход не сработает
- На системах с крайне нестабильным сетевым соединением или с очень редким подключением лучше использовать более агрессивные параметры iburst и makestep, но делать это осторожно — резкие перескоки времени могут нарушить работу приложений.
- В средах с распределёнными дата‑центрами и SLA по 1–10 мс рассмотрите NTP вкупе с PTP (Precision Time Protocol) для локальных подсетей.
Быстрое руководство по откату (rollback)
Если после изменения конфигурации начали проблемы, сделайте:
sudo cp /etc/chrony.conf.bak /etc/chrony.conf # если вы заранее сохранили бэкап
sudo systemctl restart chronydЕсли бэкапа нет, восстановите конфигурацию с минимальными рабочими параметрами: внешние серверы из ntppool и уберите специфичные правила allow, затем перезапустите.
Факто‑бокс: ключевые команды и файлы
- Конфигурация: /etc/chrony.conf
- Демон: chronyd
- CLI: chronyc
- Открыть порт в firewalld: firewall‑cmd –add-service=ntp
- Проверка связи: chronyc sources -v, chronyc tracking
Заключение
Поздравляем — вы установили и настроили Chrony как NTP‑сервер и NTP‑клиент на Rocky Linux. Вы узнали, какие параметры важны для начальной настройки, как открыть порт во фаерволе, как проверить работу через chronyc и какие шаги предпринять при проблемах.
Summary: настройте сервер с пулом внешних источников, разрешите доступ только нужным подсетям, настройте клиентов указывать на локальный сервер и протестируйте синхронизацию.
Notes: для продакшн‑инфраструктуры добавьте мониторинг доступности NTP и периодическую проверку смещения времени.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента