Синхронизация времени NTP (Network Time Protocol) на сервере настраивается через установку и конфигурацию NTP-демона или systemd-timesyncd с указанием NTP-серверов в файле конфигурации и последующей проверкой статуса синхронизации командой timedatectl или ntpq.
Зачем нужна синхронизация времени
- Корректная работа приложений и баз данных, зависящих от точного времени
- Синхронизация логов событий между несколькими серверами
- Правильное функционирование сертификатов SSL/TLS и криптографических операций
- Точность в распределённых системах и микросервисной архитектуре
- Предотвращение проблем с аутентификацией и авторизацией
Пошаговая инструкция по настройке NTP
Для систем на базе systemd (Ubuntu 20.04+, Debian 10+, CentOS 8+, RHEL 8+)
- Откройте терминал и проверьте текущий статус синхронизации времени командой
timedatectl - Если синхронизация отключена, включите её командой
timedatectl set-ntp true - Отредактируйте конфиг systemd-timesyncd, открыв файл
/etc/systemd/timesyncd.confв текстовом редакторе - Найдите строку
#NTP=и раскомментируйте её, добавив адреса NTP-серверов:NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org - Сохраните файл и выйдите из редактора
- Перезагрузите сервис timesyncd командой
systemctl restart systemd-timesyncd - Проверьте статус синхронизации командой
timedatectl statusилиtimedatectl timesync-status
Для систем с NTP-демоном (CentOS 7, RHEL 7, Debian 9 и старше)
- Установите NTP-пакет командой
yum install ntp(для RedHat/CentOS) илиapt-get install ntp(для Debian/Ubuntu) - Откройте конфиг NTP в редакторе:
nano /etc/ntp.conf - Найдите строки, начинающиеся с
server, и замените их на:server 0.ru.pool.ntp.org,server 1.ru.pool.ntp.org,server 2.ru.pool.ntp.org - Удалите или закомментируйте строки
restrict default kod nomodify notrap nopeer noqueryиrestrict -6 default kod nomodify notrap nopeer noquery, если требуется разрешить синхронизацию - Сохраните файл клавишей
Ctrl+X, затемYиEnter - Запустите NTP-сервис командой
systemctl start ntpdилиservice ntpd start - Включите автозагрузку NTP:
systemctl enable ntpd - Проверьте статус синхронизации командой
ntpq -p(статус появится через 1-2 минуты)
Проверка и диагностика синхронизации
- Выполните команду
timedatectl(для systemd) илиntpq -p(для ntpd) - В выводе найдите строку с серверами, отмеченные звёздочкой (*) или буквой (o) — это активные серверы
- Проверьте смещение времени: значение в столбце
offsetдолжно быть близко к нулю (±10 мс считается нормой) - Если серверы не синхронизируются, проверьте доступность сети командой
ping 0.ru.pool.ntp.org - Убедитесь, что порт 123 (UDP) не заблокирован файрволом:
firewall-cmd --permanent --add-service=ntp(для firewalld)
Часто задаваемые вопросы
Что означает сообщение "System clock synchronized: no"? Это означает, что синхронизация ещё не произошла; дождитесь 1–2 минуты и повторите проверку, или проверьте доступность NTP-серверов и наличие интернета.
Можно ли использовать публичные NTP-серверы на production-сервере? Да, пулы 0–3 pool.ntp.org предназначены для production; для критичных систем рекомендуется использовать локальный NTP-сервер или GPS-часы.
Как синхронизировать время между двумя серверами без интернета? Сделайте один сервер NTP-сервером (включив в его конфиге server 127.127.1.0 — локальные часы), настроив его вручную командой date -s "2026-08-30 14:30:00", и укажите его адрес на втором сервере в строке server 192.168.1.X.