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

Часть 1. Установка NTP-сервера

В этой инструкции мы рассмотрим семь простых шагов для установки и настройки NTP-сервера в Ubuntu. Мы будем работать в командной строке и использовать редактор nano, а также терминал, который открывается по нажатию Ctrl+Alt+T.

Шаг 1: Индекс репозитория 

Обновление индекса репозитория Перед установкой NTP-сервера необходимо обновить индекс репозитория. Для этого выполните следующую команду:

sudo apt-get update

Шаг 2: Сервер

Установка сервера Установка сервера начинается с выполнения следующей команды:

sudo apt-get install ntp

Перед выполнением этой команды убедитесь, что у вас есть права суперпользователя. Чтобы разрешить установку всех необходимых компонентов, введите Y (Yes). После того, как вы установили сервер, приступим к его настройке.

Шаг 3: проверяем установку

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

sntp —version

Если установка прошла успешно, то вы увидите номер версии и точное время установки. 

Шаг 4: поиск пула

По умолчанию серверная машина должна получать корректное время, но для большей надежности лучше переключиться к ближайшей группе серверов. Для этого нужно отредактировать конфигурационный файл ntp.conf, который находится по пути /etc/ntp.conf. Откройте его при помощи nano (у вас должны быть права sudo), для этого выполните команду:

sudo nano /etc/ntp.conf

В файле, который открылся, найдите строки, которые выделены оранжевым прямоугольником на изображении ниже:

Эти строки являются стандартными пулами, которые мы заменим на российские пулы, представленные на этой странице. Замените их, после сохраните изменения в ntp.conf, нажав Ctrl+O, а затем выйдите из файла, нажав Ctrl+X.

Шаг 5: перезагрузка

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

sudo service ntp restart

Шаг 6: проверка и отладка

После перезапуска сервера необходимо убедиться, что он запустился успешно. Для этого выполните следующую команду:

sudo service ntp status

Шаг 7: настройка брандмауэра 

Чтобы ваши клиенты могли выполнять вход на сервер, откройте им доступ с помощью изменения параметра UFW, прокинув UDP-порт 123 следующей инструкцией:

  • sudo ufw allow from any to any port 123 proto udp

Часть 2. Настраиваем синхронизацию NTP-клиентов

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

Шаг 1: Проверка соединения 

Чтобы проверить настройки сети NTP нужно ввести следующую команду в терминале:

  • sudo apt-get install ntpdate

Шаг 2: Указание IP и хоста 

Чтобы указать IP и хост, необходимо отредактировать файл hosts, который находится по пути /etc/hosts, используя следующую команду:

  • sudo nano /etc/hosts

Затем, в третьей строке сверху, добавьте актуальные данные (адрес добавлен просто для примера, введите реальный IP своего NTP-сервера):

  • 192.168.154.142 ntp-server

После этого следует нажать Ctrl+X и сохранить изменения, нажав Y. Обратите внимание, что эту процедуру можно выполнить и на DNS-сервере, если он у вас есть.

Шаг 3: Проверка синхронизации клиента с сервером 

Чтобы проверить синхронизацию между системами сервера и клиента нужно ввести следующую команду:

  • sudo ntpdate ntp-server

Значение, которое будет выведено на экран — смещение времени. Погрешность в несколько миллисекунд считается нормальным, поэтому на такие цифры не стоит акцентировать внимание. 

Шаг 4. Отключите службу timesyncd

Служба timesyncd синхронизирует локальное системное время, но в нашей установке она не нужна, поскольку клиенты будут синхронизироваться через NTP-сервер. Поэтому мы вводим:

  • sudo timedatectl set-ntp off

Шаг 5: Установите NTP на клиентской системе

Это делается с помощью инструкции:

  • sudo apt-get install ntp

Шаг 6: Сделайте наш NTP-сервер источником ссылок

Мы хотим, чтобы клиенты синхронизировались именно с нашим NTP-сервером, поэтому открываем знакомый нам конфигурационный файл ntp.conf и добавляем инструкцию следующего вида:

  • server NTP-server-host prefer iburst

Prefer добавляется для того, чтобы указать предпочтение (в данном случае, для сервера). В свою очередь, iburst позволяет отправлять несколько запросов на сервер, что повышает точность синхронизации. Теперь снова нажимаем Ctrl+X и сохраняем изменения, нажав y.

Шаг 7: Перезапустите сервер

Эта инструкция также проста и не требует объяснений:

  • sudo service ntp restart

Шаг 8: Проверьте очередь синхронизации

Почти завершили, осталось ввести инструкцию:

  • ntpq -ps

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

Часть 3. Продвинутые возможности синхронизации

В третьей части мы рассмотрим расширенные опции синхронизации в NTP. После установки и настройки NTP сервера и синхронизации клиентских машин с ним, мы можем более тонко настроить процесс синхронизации с помощью дополнительных параметров в файле ntp.conf, расположенном по адресу /etc/ntp.conf.

Предпочитаемый сервер

Отметка «prefer» используется для указания сервера или пула серверов, которые считаются наиболее надежными. Например:

  • server 1.ru.pool.ntp.org prefer

Отметка «server» используется для указания сервера, а директива «pool» – для указания пула серверов. Кроме того, строка «server 127.127.1.0» в конце списка пулов используется для получения системного времени при отсутствии соединения.

Настройки безопасности

Одна из команд «restrict default» устанавливает значения по умолчанию для всех команд «restrict», применяясь ко всем ограничениям. «kod» используется для отправки «поцелуя смерти» серверам, которые посылают слишком много запросов.

Другие команды, такие как «notrap», «nomodify», «nopeer» и «noquery», устанавливают ограничения на реализацию команд управления, изменения состояния, синхронизацию с определенными хостами. 

Пример использования некоторых из описанных выше команд для синхронизации узлов в сети и ограничения доступа к изменению состояния и командам управления представлен в следующей строке: restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

Также в конфигурационном файле присутствуют ограничения, позволяющие серверу общаться с самим собой, используя адреса 127.0.0.1 и ::1.

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

Проверяем корректность работы NTP

Чтобы проверить, правильно ли настроен NTP-сервер в системе Linux, можно воспользоваться командой «ntpq -p». Если настройки верны, результатом будет таблица со столбцами, выглядящая примерно так:

В первом столбце указан адрес сервера синхронизации, за ним следует восходящий сервер, level (столбец st) и nup (столбец t). Следующие три столбца показывают информацию о последней проверке серверов, периоде синхронизации и их надежности (значение 377 означает 8 успешных синхронизаций с сервером). Последние два столбца показывают разницу между синхронизированным временем и временем главного (эталонного) сервера, а также смещение времени.

Кроме того, обратите внимание на символы в первом столбце, которые появляются перед IP-адресом. Лучшим символом является «+», который указывает на надежность сервера для синхронизации. Соответственно, «-» указывает на обратное, а «*» — на текущий сервер, выбранный для синхронизации. Иногда встречается символ «x», который означает, что сервер недоступен.

Чтобы проверить, правильно ли сервер предоставляет время, необходимо использовать команду «ntpdate» на другой системе, указав IP-адрес проверяемого сервера. Вывод:

  • adjust time server (IP address) offset 0.012319 sec

Число здесь указывает на расхождение по времени. В данном случае все в норме, и разница составляет всего около 0,01 секунды, или, точнее, 12 миллисекунд, что вполне приемлемо.

Теперь давайте рассмотрим, как настроить протокол NTP в Windows.

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

Чтобы настроить NTP (Network Time Protocol) на компьютере, нужно выполнить несколько команд для изменения реестровой политики. Прежде чем приступить к изменению конфигурации, необходимо запустить службу. Это делается путем изменения следующей записи в реестре:

  • HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer

В этой ветке найдите «Enabled» и установите его в значение 1, чтобы запись в колонке Data выглядела так:

  • 0x00000001 (1)

Откройте терминал и введите команду, необходимую для перезапуска протокола:

  • net stop w32time && net start w32time

Обратите внимание, что вводить команду нужно из папки C:\Users\Administrator. Вы можете проверить, включен ли NTP, с помощью следующей команды:

  • w32tm /query /configuration

Появится длинная запись, в которой следует обратить внимание на блок NtpServer <Local>: значение Enabled в строке должно быть равно 1. Теперь откройте брандмауэр для UDP-порта 123, чтобы правильно обслуживать клиентов, а затем переходите к конфигурации.

Вернитесь в реестр и найдите запись:

  • HKLM\System\CurrentControlSet\services\W32Time\Parameters

В этой ветке довольно много параметров, но основным является «Type», который принимает одно из 4 значений:

  • NoSync — без синхронизации;
  • NTP — синхронизация с внешними серверами, указанными в NtpServer в реестре (устанавливается по умолчанию для отдельной машины);
  • NT5DS — синхронизация в соответствии с иерархией домена (устанавливается по умолчанию для машины в домене);
  • AllSync — синхронизация со всеми доступными серверами.

Теперь снова обратитесь к реестру и установите значения в ветке NtpServer. Скорее всего, там указан только сервер Microsoft. Вы можете добавить другие, обращая внимание на флаг в конце:

  • 0x1, SpecialInterval, стандартный режим, рекомендованный Microsoft;
  • 0x2, UseAsFallbackOnly, для использования сервера в качестве резервного;
  • 0x4, SymmetricActive, этот режим является основным для NTP-серверов;
  • 0x8, Client, в случае проблем с синхронизацией.

И, наконец, что вам нужно сделать, это установить интервал синхронизации в ветке:

  • W32Time\TimeProviders\NtpClient

Это контролируется параметром «SpecialPollInterval», где необходимо установить требуемое значение (указывается в секундах). По умолчанию значение установлено на неделю. Если вы хотите синхронизироваться чаще, установите 86400 для 1 дня, 21600 для четверти дня (6 часов) и 3600 для часа. Последнее значение является оптимальным с точки зрения соотношения нагрузки на систему и приемлемой точности там, где требуется частая синхронизация времени.

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

Корректное настройка времени на устройствах Cisco является важным аспектом обеспечения безопасности и эффективной работы сети. Неправильно настроенное время может привести к ошибкам в журналах событий и синхронизации сетевых служб, что может повлиять на работоспособность приложений, работающих в сети.

Шаги по настройке времени на устройствах Cisco довольно просты и легко выполнимы даже для непрофессионалов. 

  1. Для начала необходимо войти в режим конфигурирования, используя команду «conf t».
  2. Следующий шаг заключается в установке часового пояса с помощью команды «clock timezone». Настройка часового пояса позволяет устройству корректно отображать локальное время. Если, например, время московское, установите «MSK 3».
  3. Затем, необходимо указать источник NTP с помощью команды «ntp source». NTP (Network Time Protocol) является протоколом сетевого времени, который синхронизирует время на устройствах в сети. Если вы хотите сделать это устройство основным NTP-сервером для других машин в сети, установите значение в команде «ntp master» равным 2 или выше.
  4. Для обновления времени используйте команду «ntp update-calendar». Эта команда применяется для сохранения текущего времени в часах устройства, которые могут быть использованы при перезагрузке устройства.
  5. Затем, необходимо указать имена или IP-адреса серверов NTP. Для этого используйте команду «ntp server».
  6. Для проверки проблем и устранения неполадок, можно использовать команду «show». С помощью команды «show clock» можно отобразить текущее время устройства, а команда «show ntp status» покажет состояние NTP. Команда «show ntp associations» отобразит ассоциации, т.е. устройства, с которыми устройство взаимодействует для синхронизации времени.

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

Настройка NTP-сервера на роутерах MikroTik

Давайте настроим SNTP: Для настройки времени на устройствах с операционной системой MikroTik RouterOS необходимо выполнить несколько шагов.

  1. Сначала перейдите в раздел System — SNTP Client в программе Winbox. Затем найдите опцию SNTP Client и установите флажок Enabled, чтобы включить клиент SNTP.
  2. Далее, введите IP-адреса эталонных серверов в поле Server DNS Names. Это позволит вашему устройству получать точное время от выбранных серверов.
  3. Для проверки правильности настройки перейдите в раздел Система — Часы. В этом разделе можно установить часовой пояс, выбрав его из выпадающего списка, либо включив опцию Time Zone Autodetect, чтобы часовой пояс определялся автоматически.
  4. Для определения интервала синхронизации с эталонными серверами можно посмотреть значение в поле Poll Interval в меню SNTP Client. Этот интервал позволяет определять частоту обновления времени на вашем устройстве.
  5. Наконец, чтобы убедиться, что все работает правильно, можно проверить время последней синхронизации в поле Last Update в разделе SNTP Client. Если эта информация актуальна, значит ваше устройство получает время от выбранных серверов и корректно синхронизируется с ними.

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