9. Приложение Г «Настройка и запуск NTP сервера (опционально)»
9.1. Порядок загрузки данных и программ
Внимание
Данный дистрибутивный пакет находится в открытом доступе на портале ЕСКС по адресу https://info.gosuslugi.ru/download.php?id=1342 В него включен rpm пакет chrony для установки на ОС RedOS, а также примеры конфигурационных файлов. В случае использования ОС Astra Linux, соответствующий deb пакет устанавливается из официального репозитория Astra Linux. Находящиеся в дистрибутивном пакете конфигурационные файлы применимы вне зависимости от версии операционной системы.
Администратор УВ осуществляет развёртывание, запуск и настройку NTP сервиса с помощью данного руководства.
9.2. Настройка и запуск NTP сервиса БЕЗ использования Docker
9.2.1. Состав и содержание дистрибутивного пакета
distr/chrony/chrony.rpm– установочный пакет для RedOS 7.3;/distr/common/einfahrt-chrony.service— unit файл для systemd;/distr/config/prodConfig.conf– конфигурационный файл для использования в ПРОД среде;/distr/config/testConfig.conf– конфигурационный файл для использования в ТЕСТ среде.
Путь /distr/ указан в качестве примера. Есть возможность использовать любой другой путь, скорректировав соответствующим
образом приведенные ниже команды.
9.2.2. Предварительные операции (установка «пре-реквизитов»)
Примечание
До запуска сервера необходимо убедиться, что время на сервере выставлено корректно.
Перед запуском NTP сервиса выполнить от имени пользователя root следующие действия:
Установить пакет с сервисом chrony:
Для Astra Linux 1.7 SE
apt-update && apt-get install -y chrony
Для RedOS 7.3
cd /distr/chrony
yum localinstall chrony.rpm
Для ALT 8 SP Server 10
apt-get install chrony
Скопировать конфигурационный файл в /etc/chrony.conf:
sudo cp /distr/config/{{environment}}Config.conf /etc/einfahrt-chrony.conf
где {{environment}} – название среды, к которой подключается агент (prod/test)
9.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
9.3. Настройка и запуск NTP сервиса с использованием Docker
9.3.1. Предварительные условия
На сервере должен быть установлен Docker версии не ниже 20.10.12.
Создан пользователь, который будет запускать NTP сервис.
Этот пользователь должен иметь права на загрузку докер-образов и запуск/остановку контейнеров (т.е. добавлен в группу Docker).
9.3.2. Состав и содержание дистрибутивного пакета
Ниже приведён состав дистрибутива NTP сервиса для Docker.
/distr/chrony/chrony.tgz– Docker image для загрузки в систему;/distr/scripts/run_chrony.sh– скрипт для запуска и перезапуска ntp сервиса;/distr/scripts/stop.sh– скрипт для остановки ntp сервиса;
Путь /distr/chrony использован для примера, не является фиксированным и может быть изменен на любой другой по
желанию пользователя, с соответствующим внесением корректировок при его упоминаниях ниже. Ниже, в качестве примера,
будет использоваться данный путь.
9.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
9.3.4. Запуск NTP
Для запуска NTP сервиса используется скрипт run_chrony.sh (предварительно раскомментировать нужную строку с NTP
серверами для используемой среды prod/test), входящий в пакет поставки.
Скрипт не требует указания параметров.
При выполнении всех шагов, перечисленных в Раздел 9.3.3, NTP сервис будет успешно запущен, с сообщением о доступных портах.
При повторном выполнении скрипта контейнер будет остановлен и запущен заново.
Остановка контейнера осуществляется скриптом stop.sh.