<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

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

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

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

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

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

vds

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

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

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

apt update && apt -y install chrony

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

dnf -y install chrony

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

Ubuntu:

cp /etc/chrony/chrony.conf /etc/chrony/chrony.conf.backup

CentOS:

cp /etc/chrony.conf /etc/chrony.conf.backup

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

Ubuntu:

nano /etc/chrony/chrony.conf

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

dnf -y install nano

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

nano /etc/chrony.conf

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

pool 0.ru.pool.ntp.org iburst
pool 1.ru.pool.ntp.org iburst
pool 2.ru.pool.ntp.org iburst
pool 3.ru.pool.ntp.org iburst

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

Image9

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

Ubuntu:

systemctl restart chrony

CentOS:

systemctl restart chronyd

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

Ubuntu:

systemctl status chrony

Image2

CentOS:

systemctl status chronyd

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

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

Ubuntu:

systemctl enable chrony

CentOS:

systemctl enable chronyd

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

chronyc tracking

Image1

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

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

chronyc sources -v

Image11

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

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

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

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

Ubuntu:

nano /etc/chrony/chrony.conf

CentOS:

nano /etc/chrony.conf

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

allow 45.10.43.232

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

allow 192.168.1.0/24

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

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

Ubuntu:

systemctl restart chrony

CentOS:

systemctl restart chronyd

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

Ubuntu:

systemctl status chrony

CentOS:

systemctl status chronyd

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

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

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

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

Ubuntu:

apt update && apt -y install chrony

CentOS:

dnf -y install chrony

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

Ubuntu:

nano /etc/chrony/chrony.conf

CentOS:

nano /etc/chrony.conf

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

pool 185.42.14.235 iburst

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

4e6d7864 9b65 4409 9916 3bb9dc5c7030

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

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

Ubuntu:

systemctl restart chrony && systemctl status chrony

CentOS:

systemctl restart chronyd && systemctl status chronyd

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

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

chronyc tracking

Image3

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

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

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

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

Start-Service w32time

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

w32tm /config /syncfromflags:manual /manualpeerlist:"0.ru.pool.ntp.org" /reliable:yes /update

Image13

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

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" -Name "Type" -Value "NTP"

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config" -Name "AnnounceFlags" -Value 5

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" -Name "Enabled" -Value 1

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

Restart-Service -Name w32time -Force

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

New-NetFirewallRule -DisplayName "NTP Server (UDP 123)" -Direction Inbound -Protocol UDP -LocalPort 123 -Action Allow

13386a65 C8f7 44b1 Beb7 E1db4f1af031

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

w32tm /query /configuration

Image6

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

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

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

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

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

Start-Service w32time

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

w32tm /config /syncfromflags:manual /manualpeerlist:5.129.246.154 /update

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

Image12

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

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" -Name "Type" -Value "NTP"

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

Restart-Service -Name w32time -Force

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

w32tm /resync /force

Image7

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

w32tm /query /status

Image10

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

Заключение

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

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

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

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

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

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

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

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