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

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

Как именно работает NTP и что это такое?

Протокол NTP зависит от иерархической структуры очень точных серверов времени на каждом уровне. На уровне 0 опорное время определяется либо атомными часами, либо временем GPS; серверы NTP в это время не функционируют.

После синхронизации с основными часами серверы NTP, расположенные на Уровне 1, в дальнейшем используются в качестве источника времени серверами, расположенными на Уровне 2. Серверы, работающие на уровне 2, также могут взаимодействовать друг с другом. Серверы, расположенные на более высоких уровнях, работают аналогично серверам уровня 3. Всего существует 256 потенциальных уровней.

Архитектура на основе уровней, которую использует NTP, является надежной и способной противостоять сбоям. В случае если резервные серверы не могут взаимодействовать с основными серверами, процесс синхронизации берут на себя основные серверы. Серверы NTP могут оставаться доступными в любое время, если они сконфигурированы с избыточностью.

NTP синхронизируется с несколькими серверами, чтобы обеспечить максимально точный учет времени. Шаги, необходимые для установки и настройки NTP-сервера:

  1. Для точного учета времени необходимо, чтобы демон ntpd был запущен. Он может работать либо как сервер для сбора времени с других узлов, либо как клиент для отправки времени на другие узлы. Выход задается настройками конфигурационного файла.
  2. Введя $ sudo apt-get install ntp, можно установить NTP с помощью управления пакетами системы. Файл /etc/ntp.conf содержит настройки для NTP после его установки и запуска. Driftfile, находящийся по адресу /var/lib/ntp/ntp.drift, является первой строкой в конфигурационном файле. Здесь записывается частота, с которой часы теряют время на указанную величину. Таким образом, это ситуация, в которой прошлые наблюдения за течением времени могут быть полезны. Если другие NTP-серверы недоступны, для получения данных будет использоваться этот файл.
  3. Driftfile, расположенный по адресу /var/lib/ntp/ntp.drift, является первой строкой в конфигурационном файле. Этот файл отслеживает текущее значение времени и его значение на предыдущей итерации, а также частоту, с которой текущее время отклоняется от правильного. Этот файл используется вместо NTP-серверов в случае отключения сети.
  4. Выберите в качестве местоположения, когда появится запрос на сохранение журналов синхронизации:
    • server 0.ubuntu.pool.ntp.org
    • server 1.ubuntu.pool.ntp.org
    • server 2.ubuntu.pool.ntp.org
    • server 3.ubuntu.pool.ntp.org

В этих строках указано точное время, которое предоставляется серверами, входящими в эту группу, которые можно найти на сервере. Используя опцию iburst, вы можете дать клиенту инструкции передавать на сервер много пакетов одновременно, что повысит точность синхронизации.

Заключение

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

Последнее обновление: 19.01.2023