Быть в курсе
Назад к списку статей

Как настроить синхронизацию часов с помощью NTP

Network Time Protocol (NTP) — сетевой протокол для синхронизации системного времени компьютеров через сетевое соединение. При установке соединения NTP-клиент (ваш сервер или ВМ) отправляет запрос на UDP‑порт 123 к нескольким серверам. Они отвечают точным временем, основанным на атомных часах или GPS, и NTP-клиент корректирует локальные часы с точностью до микросекунд.

Ищете надежную инфраструктуру для запуска и масштабирования вашего проекта? Обратите внимание на облачные решения от Облака Рег.ру — это удобная платформа, где собраны IaaS, PaaS и SaaS‑сервисы для любых бизнес-задач.

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

Автоматическая синхронизация времени необходима, чтобы:

  • Обеспечить единую временную шкалу. Все устройства и приложения опираются на одинаковое системное время, что очень важно для корректного обмена событиями и данными.
  • Гарантировать корректность транзакций и безопасности. TLS/SSL-сертификаты, Kerberos-аутентификация, электронная подпись и другие механизмы шифрования тоже требуют точного времени.
  • Вести точные логи и аудит. Метки времени позволяют расследовать инциденты и контролировать безопасность — без них анализ событий невозможен.
  • Упорядочить расписания и задачи. Планировщики (cron), резервное копирование и рассылки зависят от правильного времени запуска.
  • Соблюдать нормативные требования. Некоторые системы и регламенты требуют хранения временных меток с высокой точностью.

Правильная настройка синхронизации времени с помощью NTP — залог корректной работы всей инфраструктуры. Она предотвращает множество потенциальных проблем, которые связаны с несоответствием времени.

Рекомендуемые NTP-серверы для России

Для наиболее надежной работы рекомендуются:

Пуловые серверы:

  • 0.ru.pool.ntp.org (основной)
  • 1.ru.pool.ntp.org (резервный)
  • 2.ru.pool.ntp.org (балансировочный)
  • 3.ru.pool.ntp.org (дополнительный резервный)

Специализированные серверы:

  • ntp1.vniiftri.ru (сервер ВНИИФТРИ)
  • ntp2.vniiftri.ru (резервный сервер ВНИИФТРИ)
  • ntp3.vniiftri.ru (дополнительный сервер ВНИИФТРИ)

Использование комбинации пуловых и специализированных серверов обеспечит:

  • высокую точность (до миллисекунд);
  • надежность за счет резервирования;
  • минимальные задержки благодаря географической близости серверов;
  • стабильность и балансировку нагрузки.
Источник: Shutterstock. NTP-клиент позволяет синхронизировать локальные часы с точностью до микросекунд

Настройка синхронизации часов с помощью NTP

Есть несколько инструментов и подходов к настройке синхронизации времени на сервере. Выбор зависит от операционной системы и сервиса, который используется для установки.

Способ 1. Синхронизация времени Linux с помощью systemd-timesyncd

systemd-timesyncd — это минималистичный клиент синхронизации времени, который встроен в systemd. Он не требует отдельной установки, потребляет минимум ресурсов и подходит для большинства серверов, где не нужна продвинутая конфигурация.

Важно! Если на сервере используется systemd, то, скорее всего, установлен встроенный сервис синхронизации времени systemd-timesyncd. Однако этот сервис может конфликтовать с классическим демоном ntpd, если он также запущен. Проверить запущенные сервисы можно командой:

Если ntpd запущен, выберите один из сервисов. Например, вы можете остановить и отключить ntpd:

1. Чтобы настроить синхронизацию с помощью systemd-timesyncd, откройте конфигурационный файл:

2. Укажите рекомендованные серверы в секции [Time]:

3. Убедитесь, что в конфигурации сети включена синхронизация времени. Файлы конфигурации обычно находятся по следующим путям:

  • /etc/systemd/network/
  • /var/lib/systemd/network/
  • /etc/systemd/networkd.conf

4. Параметр должен быть указан как true:

5. Перезапустите сервис:

6. Пропишите:

7. Проверьте синхронизацию времени:

8. В выводе должно быть указано:

Источник: Shutterstock. Не забывайте о том, что одновременная работа серсисов ntpd и systemd-timesyncd может привести к конфликту

Способ 2. Синхронизация времени Linux с помощью ntpd

ntpd — это классический демон синхронизации времени, который основан на полном протоколе NTP. Он позволяет тонко настраивать поведение клиента, указывать предпочтения между серверами, использовать аутентификацию и даже запускать сервер времени внутри сети.

Важно! Если одновременно работают сервисы ntpd и systemd-timesyncd, между ними может возникнуть конфликт. Вы можете либо удалить systemd-timesyncd, либо настроить синхронизацию времени через него — подробнее в способе 1.

Чтобы узнать, какие службы активны, выполните команду:

Если systemd-timesyncd запущен, но вы предпочитаете ntpd, то отключите ненужный сервис:

1. Установите ntpd:

2. Отредактируйте файл конфигурации:

3. Закомментируйте стандартные серверы и укажите рекомендуемые:

4. Перезапустите ntpd:

5. Проверьте состояние синхронизации:

Источник: Shutterstock. Chrony поможет с синхронизацией часов в условиях нестабильного интернет-соединения

Способ 3. Синхронизация времени Linux с помощью chrony

chrony — современный и точный инструмент синхронизации времени, который включен во многие дистрибутивы Linux. Он хорошо работает в виртуализированных средах и в условиях нестабильного или прерывистого интернет-соединения.

1. Подключите Chrony и запустите службу:

2. Отредактируйте список NTP-серверов. Для этого откройте конфигурационный файл:

3. Замените или дополните строки с NTP-серверами. Каждый сервер должен быть указан на новой строке с параметром iburst для ускоренного старта:

4. Перезапустите службу, чтобы применить изменения:

5. Проверьте, от каких серверов сейчас поступает синхронизация:

Пример вывода:

Символ * указывает текущий основной сервер. + — дополнительный.

Источник: Shutterstock. Синхронизация времени обеспечивает корректный обмен событиями и данными между устройствами

Способ 4. Синхронизация времени Windows Server

Для Windows используется служба Windows Time (w32time).

1. Подключитесь к Windows Server через RDP и запустите командную строку (cmd) или PowerShell от имени администратора.

2. Остановите службу времени:

3. Настройте NTP-серверы:

4. Установите сервер как надежный источник времени:

5. Запустите службу времени:

6. Проверьте текущую конфигурацию:

Убедитесь, что в выводе указан список серверов, который вы прописали.

Готово! Настройка синхронизации времени с помощью NTP завершена. Часы сервера теперь автоматически обновляются по точному источнику, тем самым обеспечивая корректную работу систем и журналов.

Как настроить резервное копирование в S3
Резервное копирование данных из объектного хранилища S3 — это процесс создания копий данных, которые хранятся в Amazon S3 или аналогичных...
Подробнее
Как настроить синхронизацию часов с помощью NTP
Network Time Protocol (NTP) — сетевой протокол для синхронизации системного времени компьютеров через сетевое соединение. При установке соединения NTP-клиент (ваш...
Подробнее
Что такое ETL и с какими задачами поможет
Каждый современный бизнес работает с данными — много и постоянно. Но просто собрать данные недостаточно. Чтобы они стали полезными, их...
Подробнее
WAF (Web Application Firewall): как работает защита веб-приложений
Современные сайты и онлайн-сервисы постоянно подвергаются атакам со стороны злоумышленников, которые стараются найти самые слабые места в защите. Один из...
Подробнее
Интеграция облачных технологий и ленточных решений: зачем это нужно
В последнее десятилетие в сфере бизнеса происходит постепенная цифровизация: организации чаще предпочитают хранить документы и другую важную информацию в электронном...
Подробнее
Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний
А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Подробнее
Системы контроля версий: зачем они нужны и как их использовать
Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Подробнее
Соглашение об уровне обслуживания (SLA)
Поговорим о документе, который может серьезно повлиять на успех проекта, будь то интернет-магазин, SaaS-платформа или любой другой онлайн-сервис. Речь пойдет...
Подробнее
Что такое S3 (Simple Storage Service)
Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Подробнее
Полный обзор NoSQL: особенности и использование
Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Подробнее