Cинхронизация времени NTP на сервере через командную строку

Как настроить синхронизацию времени NTP на сервере через командную строку

Синхронизация времени NTP (Network Time Protocol) на сервере настраивается через установку и конфигурацию NTP-демона или systemd-timesyncd с указанием NTP-серверов в файле конфигурации и последующей проверкой статуса синхронизации командой timedatectl или ntpq.

Зачем нужна синхронизация времени

  • Корректная работа приложений и баз данных, зависящих от точного времени
  • Синхронизация логов событий между несколькими серверами
  • Правильное функционирование сертификатов SSL/TLS и криптографических операций
  • Точность в распределённых системах и микросервисной архитектуре
  • Предотвращение проблем с аутентификацией и авторизацией

Пошаговая инструкция по настройке NTP

Для систем на базе systemd (Ubuntu 20.04+, Debian 10+, CentOS 8+, RHEL 8+)

  1. Откройте терминал и проверьте текущий статус синхронизации времени командой timedatectl
  2. Если синхронизация отключена, включите её командой timedatectl set-ntp true
  3. Отредактируйте конфиг systemd-timesyncd, открыв файл /etc/systemd/timesyncd.conf в текстовом редакторе
  4. Найдите строку #NTP= и раскомментируйте её, добавив адреса NTP-серверов: NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org
  5. Сохраните файл и выйдите из редактора
  6. Перезагрузите сервис timesyncd командой systemctl restart systemd-timesyncd
  7. Проверьте статус синхронизации командой timedatectl status или timedatectl timesync-status

Для систем с NTP-демоном (CentOS 7, RHEL 7, Debian 9 и старше)

  1. Установите NTP-пакет командой yum install ntp (для RedHat/CentOS) или apt-get install ntp (для Debian/Ubuntu)
  2. Откройте конфиг NTP в редакторе: nano /etc/ntp.conf
  3. Найдите строки, начинающиеся с server, и замените их на: server 0.ru.pool.ntp.org, server 1.ru.pool.ntp.org, server 2.ru.pool.ntp.org
  4. Удалите или закомментируйте строки restrict default kod nomodify notrap nopeer noquery и restrict -6 default kod nomodify notrap nopeer noquery, если требуется разрешить синхронизацию
  5. Сохраните файл клавишей Ctrl+X, затем Y и Enter
  6. Запустите NTP-сервис командой systemctl start ntpd или service ntpd start
  7. Включите автозагрузку NTP: systemctl enable ntpd
  8. Проверьте статус синхронизации командой ntpq -p (статус появится через 1-2 минуты)

Проверка и диагностика синхронизации

  1. Выполните команду timedatectl (для systemd) или ntpq -p (для ntpd)
  2. В выводе найдите строку с серверами, отмеченные звёздочкой (*) или буквой (o) — это активные серверы
  3. Проверьте смещение времени: значение в столбце offset должно быть близко к нулю (±10 мс считается нормой)
  4. Если серверы не синхронизируются, проверьте доступность сети командой ping 0.ru.pool.ntp.org
  5. Убедитесь, что порт 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.

Похожие материалы

Установка и настройка FTP сервер vsftpd в Ubuntu Server с защитой
DHCP сервер на базе Windows Server 2022
Роль контроллера домена Active Directory в Windows Server