Синхронизация времени в Centos 7

Статья о CentOS, поддержка которого закончилась. Для новых серверов выберите замену: Rocky, AlmaLinux или Astra. Описание ниже сохранено как справка по старым системам.
Нужно, чтобы часы Linux шли по NTP. Заголовок про CentOS 7 — система в EOL. Команды ниже — для chrony на Alma/Rocky/RHEL и Debian/Ubuntu. Старый ntpd не поднимайте «по привычке».
1. Поставить и включить chrony
sudo dnf install -y chrony
sudo systemctl enable --now chronyd
chronyc tracking
Debian/Ubuntu: пакет и юнит chrony.
sudo apt install -y chrony
sudo systemctl enable --now chrony
chronyc tracking
Ожидание: Leap status : Normal, System time в долях секунды, не минутах. Если Not synchronised — нет источника или UDP/123 режет файрвол.
2. Свои серверы времени
Файл: /etc/chrony.conf (RHEL) или /etc/chrony/chrony.conf (Debian). Пример пула — подставьте корпоративный NTP, не копируйте чужой IP:
pool ru.pool.ntp.org iburst
# или внутренний:
# server ntp.example.internal iburst
sudo systemctl restart chronyd
chronyc sources -v
Ожидание: хотя бы один источник с * (текущий) или +. На закрытом контуре разрешите исходящий UDP/123 только на свои NTP.
3. Разовая синхронизация, если сильно убежало
sudo chronyc makestep
chronyc tracking
timedatectl
Ожидание timedatectl: System clock synchronized: yes, нужный часовой пояс. Мониторинг расхождения — в статье про время в Zabbix.
Защищённая синхронизация (NTS)
Обычный NTP не аутентифицирован: подмену ответов в сети заметить нельзя. chrony версии 4.0 и выше поддерживает NTS, где источник проверяется сертификатом:
server time.cloudflare.com iburst nts
Проверьте, что chrony достаточно новый (chronyc --version) и источник поддерживает NTS. Для внутренних серверов без выхода в интернет используйте собственный NTP.
Свой сервер времени для сети
На одном узле, который синхронизируется с внешними источниками, разрешите клиентам запрашивать время:
# /etc/chrony.conf на сервере
allow 192.0.2.0/24
sudo firewall-cmd --permanent --add-service=ntp
sudo firewall-cmd --reload
sudo systemctl restart chronyd
Остальные узлы указывают на него директивой server ntp.example.internal iburst. Так наружу ходит один сервер, а не вся сеть.
Диагностика
chronyc sourcestats # стабильность каждого источника
chronyc ntpdata # детали обмена
journalctl -u chronyd --since "1 hour ago"
Если источники недостижимы: проверьте UDP/123 в обе стороны и DNS-имена. В виртуальных машинах не допускайте двойной синхронизации с гипервизором и по NTP. Мониторинг расхождения: время в Zabbix.
chrony заменил ntpd в RHEL-семействе и в современных Debian/Ubuntu. Одновременно держать ntpd и chrony нельзя: оставьте одну службу.
Как проверить
chronyc tracking
chronyc sources -v
timedatectl
Leap Normal, есть звёздочка у источника, systemd считает часы синхронизированными.
Источники
- chrony documentation. URL: https://chrony-project.org/documentation.html.





















