Как установить NTP-сервер и клиент(ы) в Ubuntu

NTP или Network Time Protocol - это протокол, который используется для синхронизации всех системных часов в сети для использования одного и того же времени. Когда мы используем термин NTP, мы имеем в виду сам протокол, а также клиентские и серверные программы, работающие на компьютерах, объединенных в сеть. NTP входит в традиционный набор протоколов TCP/IP и может быть легко классифицирован как одна из самых старых его частей.

Содержание

При первоначальной настройке часов требуется шесть обменов в течение 5-10 минут, прежде чем часы будут настроены. Как только часы в сети синхронизированы, клиент(ы) обновляют свои часы с сервером раз в 10 минут. Обычно это делается посредством одного обмена сообщениями (транзакция). Эти транзакции используют порт номер 123 вашей системы.

В этой статье мы опишем пошаговую процедуру, как:

  • Установить и настроить NTP-сервер на машине Ubuntu.
  • Настроить NTP-клиент для синхронизации времени с сервером.

Установка и настройка NTP-сервера на главном компьютере

Выполните следующие шаги, чтобы установить NTP-сервер на хост-компьютере Ubuntu:

Для установки и настройки NTP мы используем командную строку Ubuntu, Терминал. Вы можете открыть приложение Terminal либо через поиск в программе запуска приложений, либо с помощью сочетания клавиш Ctrl+Alt+T.

Шаг 1: Обновление индекса репозитория

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

apt update

Шаг 2: Установите NTP-сервер с помощью apt-get

Для установки демона NTP-сервера из репозиториев APT выполните следующую команду от имени sudo:

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

Установите NTP-сервер

Система может запросить у вас пароль для sudo, а также предложить вам опцию Y/n для продолжения установки. Введите Y и нажмите Enter; после этого NTP-сервер будет установлен в вашей системе. Однако этот процесс может занять некоторое время в зависимости от скорости вашего Интернета.

Шаг 3: Проверка установки (необязательно)

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

Проверка версии сервера NTP

 

Шаг 4: Переключитесь на пул NTP-сервера, ближайший к вашему местоположению

Когда вы устанавливаете NTP-сервер, он в основном настроен на получение правильного времени. Однако вы можете переключить пул серверов на ближайший к вашему местоположению. Для этого нужно внести некоторые изменения в файл /etc/ntp.conf.

Откройте этот файл в редакторе nano с правами sudo, выполнив следующую команду:

Откройте файл ntp.conf в редакторе

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

https://support.ntp.org/bin/view/Servers/NTPPoolServers

Мы искали список пулов для России:

Выберите сервер пула NTP

Страница подскажет нам добавить следующие строки в файл ntp.conf:

файл выглядит после добавления в него вышеуказанных строк:

Добавить серверы пула в файл ntp.conf

Выйдите из файла, нажав Ctrl+O, а затем Ctrl+X

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

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

Шаг 6: Убедитесь, что сервер NTP запущен

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

Проверка состояния сервера NTP

Статус Active подтверждает, что ваш NTP сервер запущен и работает.

Шаг 7: Настройте брандмауэр так, чтобы клиент(ы) мог(ли) получить доступ к серверу NTP

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

Выполните следующую команду от имени sudo, чтобы открыть порт 123 для входящего трафика:

Теперь ваша хост-машина Ubuntu настроена для использования в качестве NTP-сервера.

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

Теперь давайте настроим нашу клиентскую машину Ubuntu на синхронизацию времени с NTP-сервером.

Шаг 1: Установите ntpdate

Команда ntpdate позволит вам вручную проверить конфигурацию соединения с NTP-сервером. Откройте приложение Terminal на клиентской машине и введите следующую команду от имени sudo:

Установите программу ntpdate

Шаг 2: Укажите IP и имя хоста NTP-сервера в файле hosts

Чтобы ваш NTP-сервер разрешался по имени хоста на вашей клиентской машине, вам необходимо настроить файл /etc/hosts.

Откройте файл hosts от имени sudo в редакторе nano, введя следующую команду:

Теперь добавьте в этот файл IP вашего NTP-сервера и укажите имя хоста следующим образом:

/etc/hosts

в нашем примере

Выйдите из файла, нажав Ctrl+X, а затем сохраните его, введя y.

При наличии DNS сервера в вашей сети, данную настройку можно произвести на нем.

Шаг 3: Проверьте, синхронизировано ли время клиентской машины с NTP-сервером

Следующая команда ntpdate позволит вам вручную проверить, синхронизировано ли время между клиентской и серверной системами:

По идее, результат должен показать смещение времени между двумя системами.

Шаг 4: Отключите службу systemd timesyncd на клиенте (если используется)

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

Для этого введите следующую команду:

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

Выполните следующую команду от имени sudo, чтобы установить NTP на клиентской машине:

Шаг 6: Настройте файл /etc/ntp.conf для добавления вашего NTP сервера в качестве нового сервера времени

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

Выполните следующую команду от имени sudo, чтобы открыть файл в редакторе Nano:

Затем добавьте в файл следующую строку, где NTP-server-host - это имя хоста, которое вы указали для вашего NTP-сервера:

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

Добавление NTP-сервера в файл ntp.conf

Нажмите Ctrl+x, чтобы выйти из файла, а затем введите y, чтобы сохранить изменения.

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

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

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

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

Вы должны увидеть ntp-server в качестве узла/источника синхронизации времени в очереди.

Итак, это все, что вам нужно было знать об установке и настройке NTP для синхронизации времени на ваших сетевых машинах Ubuntu. Процесс может показаться немного громоздким, но если вы тщательно выполните все вышеперечисленные шаги, один за другим, ваши машины будут синхронизированы в кратчайшие сроки.
Карим Буздар

Понравилась статья? Поделиться с друзьями:
Добавить комментарий