Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

30477
7 минут чтения
Средний рейтинг статьи: 2.4

Инструкция обновлена 9 августа 2025 г.

Синхронизация времени — это критически важный, но часто недооцененный аспект работы любой IT-инфраструктуры. Несовпадение временных меток всего на несколько секунд может привести к сбоям в аутентификации, ошибкам репликации баз данных и некорректной работе распределенных систем. За корректную синхронизацию времени на компьютерах и серверах, подключенных к сети, отвечает NTP-протокол, являющийся отраслевым стандартом. 

Сегодня мы подробно рассмотрим настройку NTP-сервера на операционных системах Ubuntu 24.04, CentOS 9 и Windows Server 2022, а также расскажем, как настроить наш NTP-сервер для синхронизации с клиентами.

VDS и VPS

Гибкие виртуальные серверы с почасовым
биллингом по всему миру: Россия, Азия и Европа.

Настройка NTP-сервера на Linux

Установим и настроим NTP-сервер на двух Linux-дистрибутивах — Ubuntu 22.04 и CentOS 9. Мы будем использовать Chrony — усовершенствованную и более эффективную реализацию протокола NTP, разработанную с нуля для лучшей работы при нестабильных сетевых условиях и при меньшем потреблении ресурсов, в отличие от классического NTP-демона (ntpd).

1) Для дистрибутива Ubuntu необходимо использовать команду:

    

Для дистрибутива CentOS команда установки будет следующей:

    

2) Основной конфигурационный файл Chrony — chrony.conf. В Ubuntu он находится в директории /etc/chrony/, в CentOS — в /etc/. Перед тем как вносить изменения, сделаем резервную копию файла, чтобы можно было откатиться к первоначальным настройкам в случае проблем:

Ubuntu:

    

CentOS:

    

3) При помощи любого текстового редактора, например nano, открываем на редактирование файл chrony.conf:

Ubuntu:

    

В дистрибутиве CentOS редактор nano по умолчанию отсутствует. Для его установки выполним команду:

    

Далее открываем конфигурационный файл:

    

Необходимо задать внешние серверы NTP, с которыми будет происходить синхронизация для получения текущего времени. Находим строки, которые начинаются со слова pool. Удалим значения по умолчанию и добавим новые адреса серверов:

    

Параметр iburst используется для отправки пакетов с короткими интервалами при первом подключении к NTP-серверу. Это ускоряет начальную синхронизацию, особенно на медленных или ненадежных сетях, помогая быстрее установить начальное время.

Image9

4) Перезапускаем сервис chrony:

Ubuntu:

    

CentOS:

    

6) Проверяем статус сервиса:

Ubuntu:

    

Image2

CentOS:

    

Если в выводе команды отображается active (running), то сервис успешно запущен и работает.

7) Добавляем сервис в автозагрузку:

Ubuntu:

    

CentOS:

    

8) Узнать подробный статус, а также получить список всех источников времени (NTP-серверов), которые знает и опрашивает Chrony, можно при помощи команды:

    

Image1

В частности, в поле Reference ID отображается IP-адрес сервера, с которым в данный момент синхронизируется система (источник эталонного времени).

9) Дополнительно можно получить информацию об источниках времени (NTP-серверах), с которыми синхронизируется сервер через Chrony:

    

Image11

На этом установка и настройка сервера NTP завершена. Теперь ваш сервер будет синхронихировать время по указанным публичным NTP-серверам.

Настройка сервера NTP для синхронизации клиентских устройств

В этом разделе рассмотрим, как разрешить доступ клиентам, чтобы они могли использовать настроенный выше NTP-сервер для получения времени. Если «раздача» времени на дополнительные серверы вам не нужна, описанные ниже шаги выполнять не требуется.

1) Открываем на редактирование файл chrony.conf:

Ubuntu:

    

CentOS:

    

В конец файла добавим директиву allow. В качестве примера укажем IP-адрес клиентского сервера (не забудьте поменять клиентский IP адрес на свой):

    

Также можно указать всю подсеть сразу:

    

Сохраняем изменения и выходим из файла.

2) Перезапускаем сервис chrony

Ubuntu:

    

CentOS:

    

6) Проверяем статус сервиса:

Ubuntu:

    

CentOS:

    

Если в выводе команды отображается active (running), то сервис успешно запущен и работает.

Подключение клиентов к NTP-серверу

Перечисленные ниже команды необходимо выполнять на сервере, который будет выступать в роли клиента.

1) Установим сервис chrony.

Ubuntu:

    

CentOS:

    

2) Открываем на редактирование конфигурационный файл chrony.conf:

Ubuntu:

    

CentOS:

    

Удаляем или закомментируем все строки, которые начинаются со слова pool, и меняем их на строку следующего вида:

    

Где 185.42.14.235 — это IP-адрес нашего NTP-сервера с chrony.

4e6d7864 9b65 4409 9916 3bb9dc5c7030

Сохраняем изменения и выходим из файла.

3) Далее перезапускаем демон chrony и проверяем его статус.

Ubuntu:

    

CentOS:

    

Если в выводе команды отображается active (running), то сервис успешно запущен и работает.

4) Для проверки синхронизации времени с ранее настроенным сервером chrony выполняем команду:

    

Image3

В параметре Reference ID должен быть указан адрес нашего сервера. Если IP-адрес отображается корректно, то наш клиентский сервер успешно синхронизируется с сервером chrony.

Настройка NTP-сервера на Windows Server 2022

В Windows Server настройку NTP выполним при помощи PowerShell.

1) Открываем PowerShell. Для начала необходимо запустить службу NTP:

    

2) Настроим службу времени Windows для синхронизации с NTP-сервером по адресу 0.ru.pool.ntp.org:

    

Image13

3) Добавим конфигурацию сервера в реестр при помощи команд:

    

4) Перезапускаем сервис w32time:

    

5) Стоит обратить внимание, что по умолчанию в Windows Server 2022 порт 123, который использует протокол NTP, заблокирован для входящих подключений. Создадим правило чтобы клиентские компьютеры могли получить доступ до нашего NTP сервера:

    

13386a65 C8f7 44b1 Beb7 E1db4f1af031

6) Проверим конфигурацию:

    

Image6

На этом этапе настройка NTP-сервера успешно завершена.

Подключение клиентов к NTP-серверу

В этом разделе мы рассмотрим, как настроить ваш сервер на «раздачу» времени — чтобы другие серверы в вашей инфраструктуре могли синхронизировать время по нему, если такая настройка вам необходима. 

Перечисленные ниже действия необходимо выполнять на сервере с Windows Server, который будет выступать в роли клиента.

1) Открываем PowerShell. Для начала необходимо запустить службу NTP:

    

2) Настроим подключение к серверу NTP при помощи команды:

    

Где 5.129.246.154 — это адрес нашего NTP-сервера.

Image12

3) Включаем NTP-клиент:

    

4) Перезапускаем сервис w32time:

    

5) Принудительно синхронизируем время с ранее настроенным NTP-сервером:

    

Image7

6) Для проверки статуса синхронизации выполним команду:

    

Image10

В параметре Source должен отображаться сервер с NTP, к которому мы подключились на предыдущем шаге.

Заключение

Грамотная конфигурация синхронизации времени по протоколу NTP служит краеугольным камнем для обеспечения отказоустойчивости и согласованности работы всех компонентов IT-инфраструктуры. В статье мы детально разобрали, как развернуть и настроить NTP-сервер, а также его клиенты в операционных системах Linux и Windows Server. 

Ключевые выгоды внедрения NTP-синхронизации заключаются в следующем:

  • Необходимость: Точное время — это не удобство, а требование для работы современных сетевых протоколов безопасности, распределенных приложений и корректного анализа логов.

  • Универсальность: Несмотря на платформенные различия, принципы работы NTP едины: выбор источников и контроль синхронизации.

  • Контроль: Обязательным элементом является мониторинг для проверки статуса синхронизации и своевременного выявления расхождений.

30477
7 минут чтения
Средний рейтинг статьи: 2.4

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server