Подготовка серверов для установки компонентов системы 5А
Процесс подготовки серверов для установки компонентов системы 5А происходит в несколько этапов:
-
Настройка SSH-ключей.
-
Установка и настройка Docker.
-
Проверка работы systemd.
-
Проверка наличия crontab.
-
Установка и настройка FRR для сетевого агента.
Все рекомендации по настройке применимы к операционной системе Debian и дистрибутивам, основанным на ней (Ubuntu, Astra Linux).
Настройка SSH-ключей
По умолчанию вход на целевые серверы требует данных о логине и пароле. Для работы компонентов системы 5А требуется настройка беспарольного входа на серверы с помощью SSH-ключа.
В зависимости от наличия SSH-ключа и способу подключения к целевому серверу выполните следующие действия:
Вариант 1. У вас ещё нет SSH-ключа
-
Если вы выполняете установку с сервера развертывания и подключаетесь к целевому серверу:
-
Создайте SSH-ключ на сервере развертывания:
# Создайте SSH-ключ: ssh-keygen -t rsa -b 4096 # Проверьте наличие созданного ключа: ls -l ~/.ssh/ -
Скопируйте публичный ключ на целевой сервер, указав в команде ниже следующие значения:
- user — логин учетной записи пользователя;
- server_ip — IP-адрес целевого сервера.
ssh-copy-id user@server_ip -
Проверьте, что вход на целевой сервер выполняется без пароля:
ssh user@server_ip
-
-
Если вы работаете непосредственно на целевом сервере (например, через консоль):
⚠️Не рекомендуется создавать ключи прямо на целевом сервере для входа на этот же сервер — это нарушает принципы безопасности. Но если вы хотите настроить вход с другого устройства, выполните шаги ниже.
-
Создайте SSH-ключ на вашей локальной машине:
# Создайте SSH-ключ: ssh-keygen -t rsa -b 4096 # Проверьте наличие созданного ключа: ls -l ~/.ssh/ -
Скопируйте содержимое публичного ключа (
~/.ssh/id_rsa.pub) с локальной машины. -
На целевом сервере выполните команды:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cp ~/.ssh/id_rsa . chmod 644 ./id_rsa
-
Вариант 2. У вас уже есть SSH-ключ
-
Если вы выполняете установку с сервера развертывания и подключаетесь к целевому серверу:
-
Убедитесь, что у вас есть публичный и приватный файлы ключа.
- Приватный ключ:
~/.ssh/id_rsa(или id_ed25519) - Публичный ключ:
~/.ssh/id_rsa.pub
- Приватный ключ:
-
Скопируйте публичный ключ на целевой сервер, указав в команде ниже следующие значения:
- user — логин учетной записи пользователя;
- server_ip — IP-адрес целевого сервера.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
-
-
Если вы работаете непосредственно на целевом сервере (например, через консоль):
-
Получите публичный ключ с вашей локальной машины (например, через USB, буфер обмена, email и т.п.).
-
На целевом сервере выполните команды:
mkdir -p ~/.ssh chmod 700 ~/.ssh # Вставьте публичный ключ в authorized_keys nano ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
-
Установка и настройка Docker
Для выполнения стандартной установки Docker на целевом сервере выполните следующие шаги:
-
Обновите пакеты системы:
sudo apt update -
Установите необходимые зависимости:
sudo apt install gnupg apt-transport-https ca-certificates curl -y -
Импортируйте официальный GPG-ключ Docker для проверки пакетов:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg -
Добавьте репозиторий Docker в список источников APT, заменив "bookworm" на вашу версию Debian:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
Обновите список пакетов:
sudo apt update -
Установите Docker Engine и вспомогательные пакеты:
sudo apt install docker-ce docker-ce-cli containerd.io -
Проверьте успешность установки, посмотрев версию Docker:
docker --version -
Добавьте текущего пользователя в группу
dockerи примените это изменение в текущей сессии:sudo usermod -aG docker $USER newgrp docker
Проверка работы systemd
Если на целевых серверах используется одна из рекомендуемых ОС,
то systemd в них уже установлен и настроен по умолчанию при стандартной установке.
Поэтому на данном этапе требуется выполнить проверку следующих моментов:
-
Проверьте, что
systemdиспользуется как init-система. Для этого выполните команду:ps -p 1 -o comm=В корректном случае ожидается вывод
systemd. Если выводinitилиsysvinit— значит, чтоsystemdне используется как init-система. -
Проверьте, что система не загружена в режиме без
systemd. Такое может быть, если система загружена с параметром ядраinit=/bin/bashили вrescue/emergencyрежиме — в таком случае systemd может не управлять службами. Для проверки уровня запуска выполните команду:systemctl get-defaultВ корректном случае ожидается вывод:
graphical.target # (редко на сервере) multi-user.target # ← стандарт для серверовЕсли вывод
rescue.targetилиemergency.target, то ОС работает в аварийном режиме. Для возврата в обычный режим выполните команды:sudo systemctl set-default multi-user.target sudo reboot
Проверка наличия crontab
Система 5А использует cron для планирования регулярных задач (например, сбор метрик и т.д.).
Убедитесь, что на всех целевых хостах установлена и доступна утилита crontab.
Для этого выполните команду:
crontab -l-
Если команда успешно выполняется (даже если выводит "no crontab for user"), то
crontabустановлен и работоспособен. -
Если команда возвращает ошибку вида "command not found" или "crontab: command not found", необходимо установить пакет
cronилиcronieв зависимости от дистрибутива:sudo apt update sudo apt install cronПосле установки убедитесь, что служба cron запущена:
sudo systemctl enable cron sudo systemctl start cron
Установка и настройка FRR
Для корректной работы сетевых агентов в разделе Сеть и поддержки протоколов BGP, OSPF и VRRP выполните следующие шаги:
-
Добавьте репозиторий FRR и установите пакеты:
curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg > /dev/null # Добавление репозитория в sources.list.d echo deb '[signed-by=/usr/share/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr bookworm frr-stable | sudo tee -a /etc/apt/sources.list.d/frr.list # Обновление списка пакетов и установка FRR sudo apt update sudo apt install frr frr-pythontools -
Включите демонов, необходимых для работы протоколов BGP, OSPF и VRRP:
- Отредактируйте файл
/etc/frr/daemons:
sudo nano /etc/frr/daemons # Или используйте другой редактор, например, vim- Измените строки:
bgpd=yes ospfd=yes vrrpd=yes bfdd=yes - Отредактируйте файл
-
Проверьте наличие файла FRR-конфигурации и настройте права:
sudo touch /etc/frr/frr.conf sudo chown -R frr:frr /etc/frr sudo chmod 640 /etc/frr/*.conf -
Запустите FRR или перезапустите его для применения изменений:
sudo systemctl enable frr # Включение автозапуска при загрузке системы sudo systemctl start frr # Запуск сервиса sudo systemctl restart frr # Перезапуск сервиса, если нужно применить изменения -
Проверьте корректность конфигурации для
vtysh:sudo vtysh # Внутри vtysh проверьте состояние протоколов show ip route show ip bgp summary show ip ospf neighbor show vrrp exit