6. Настройка и запуск NTP сервера (опционально)

6.1. Порядок загрузки данных и программ

Внимание

Данный дистрибутивный пакет находится в открытом доступе на портале ЕСКС по адресу https://info.gosuslugi.ru/download.php?id=1342 В него включен rpm пакет chrony для установки на ОС RedOS, а также примеры конфигурационных файлов. В случае использования ОС Astra Linux, соответствующий deb пакет устанавливается из официального репозитория Astra Linux. Находящиеся в дистрибутивном пакете конфигурационные файлы применимы вне зависимости от версии операционной системы.

Администратор УВ осуществляет развёртывание, запуск и настройку NTP сервиса с помощью данного руководства.

6.2. Настройка и запуск NTP сервиса БЕЗ использования docker

6.2.1. Состав и содержание дистрибутивного пакета

  • distr/chrony/chrony.rpm – установочный пакет для РЕД ОС 7.3;

  • /distr/common/einfahrt-chrony.service — unit файл для systemd;

  • /distr/config/prodConfig.conf – конфигурационный файл для использования в ПРОД среде;

  • /distr/config/testConfig.conf – конфигурационный файл для использования в ТЕСТ среде.

Путь /distr/ указан в качестве примера. Есть возможность использовать любой другой путь, скорректировав соответствующим образом приведенные ниже команды.

6.2.2. Предварительные операции (установка «пре-реквизитов»)

Примечание

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

Перед запуском NTP сервиса выполнить от имени пользователя root следующие действия:

  1. Установить пакет с сервисом chrony:

Для Astra Linux

apt-update && apt-get install -y chrony

Для RedOS

cd /distr/chrony
yum localinstall chrony.rpm

Для CentOS

cd /distr/chrony
yum install chrony.rpm
  1. Скопировать конфигурационный файл в /etc/chrony.conf:

sudo cp /distr/config/{{environment}}Config.conf /etc/einfahrt-chrony.conf

где {{environment}} – название среды, к которой подключается агент (prod/test)

6.2.3. Запуск NTP сервиса

Файл системного сервиса /distr/common/einfahrt-chrony.service необходимо скопировать в каталог /etc/systemd/system/, при необходимости скорректировав в нем пути к файлам.

Далее, от имени пользователя root выполнить команду по включению, и запуску сервиса и проверке его статуса:

sudo systemctl daemon-reload
sudo systemctl enable einfahrt-chrony
sudo systemctl start einfahrt-chrony
sudo systemctl -l status einfahrt-chrony

6.3. Настройка и запуск NTP сервиса с использованием docker

6.3.1. Предварительные условия

  1. На сервере должен быть установлен Docker версии не ниже 20.10.12.

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

  3. Этот пользователь должен иметь права на загрузку докер-образов и запуск/остановку контейнеров (т.е. добавлен в группу Docker).

6.3.2. Состав и содержание дистрибутивного пакета

Ниже приведён состав дистрибутива NTP сервиса для Docker.

  • /distr/chrony/chrony.tgz – docker image для загрузки в систему;

  • /distr/scripts/run_chrony.sh – скрипт для запуска и перезапуска ntp сервиса;

  • /distr/scripts/stop.sh – скрипт для остановки ntp сервиса;

Путь /distr/chrony использован для примера, не является фиксированным и может быть изменен на любой другой по желанию пользователя, с соответствующим внесением корректировок при его упоминаниях ниже. Ниже, в качестве примера, будет использоваться данный путь.

6.3.3. Подготовка к запуску

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

cd /distr/chrony
docker load < chrony.tgz

где chrony.tgz – имя полученного архива с docker image Агента СМЭВ4 из пакета поставки.

Загрузка должна завершиться без ошибок.

Проверить успешность загрузки можно командой:

docker images | grep einfahrt-chrony

Вывод будет содержать информацию вида:

einfahrt-chrony     latest          c7511824117e   5 days ago      13MB

6.3.4. Запуск NTP

Для запуска NTP сервиса используется скрипт run_chrony.sh (предварительно раскомментировать нужную строку с NTP серверами для используемой среды prod/test), входящий в пакет поставки.

Скрипт не требует указания параметров.

При выполнении всех шагов, перечисленных в Раздел 6.3.3, NTP сервис будет успешно запущен, с сообщением о доступных портах.

При повторном выполнении скрипта контейнер будет остановлен и запущен заново.

Остановка контейнера осуществляется скриптом stop.sh.