Подготовка серверов для установки системы 5А
Процесс подготовки серверов для установки компонентов системы 5А происходит в несколько этапов:
- Настройка SSH-ключей.
- Настройка сетевого экрана (Firewall).
- Установка и настройка Docker.
- Проверка работы systemd.
- Проверка наличия crontab.
- Установка и настройка FRR для сетевого агента.
- Установка keepalived для VRRP.
- Дополнительные настройки для CentOS Stream 9 и RedOS.
- Типичные проблемы и их решение.
- Финальная проверка перед развёртыванием приложения.
Для каких задач используются компоненты
- SSH-ключи — обеспечивают безопасное беспарольное соединение между серверами, необходимое для автоматизации развертывания и управления компонентами балансировщика.
- Docker — используется для контейнеризации компонентов системы 5А. Это обеспечивает изоляцию, простоту обновления и единообразие окружения на всех поддерживаемых ОС.
- systemd — служит init-системой для управления сервисами (Docker, FRR), их автозапуском и контролем состояния.
- crontab — планировщик задач, используемый для выполнения регулярных операций (ротация логов, проверки состояния, обновления маршрутов).
- FRR (Free Range Routing) — обеспечивает динамическую маршрутизацию по протоколам BGP, OSPF, VRRP, BFD. Эти протоколы необходимы для отказоустойчивой связности сетевых агентов балансировщика.
1. Настройка SSH-ключей
Для обеспечения безопасного и беспарольного доступа между серверами необходимо настроить SSH-ключи.
Debian 12
- Установите пакет
openssh-client, если он не установлен:sudo apt update && sudo apt install openssh-client -y - Сгенерируйте новую пару SSH-ключей (если у вас их ещё нет):
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ на целевой сервер:
ssh-copy-id user@server_ip - Проверьте, что вход выполняется без запроса пароля:
ssh user@server_ip
Ubuntu Server 24.04 LTS
- Установите пакет
openssh-client:sudo apt update && sudo apt install openssh-client -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
Astra Linux Common Edition (Орел) версии 2.12.45
- Установите пакет
openssh-client:sudo apt update && sudo apt install openssh-client -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
Astra Linux Special Edition 1.8
Настройка SSH-ключей выполняется аналогично Debian, но утилита ssh-copy-id может отсутствовать. В этом случае используйте альтернативный способ.
- Установите пакет
openssh-client:sudo apt update && sudo apt install openssh-client -y - Создайте SSH-ключ на сервере развёртывания, если он ещё не создан:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ на целевой сервер с помощью команды:
cat ~/.ssh/id_rsa.pub | ssh user@server_ip 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys' - Убедитесь, что вход выполняется без пароля:
ssh user@server_ip
Альт Сервер 10.4
- Установите пакет
openssh-clients:sudo apt update && sudo apt install openssh-clients -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
CentOS Stream 9
- Установите пакет
openssh-clients:sudo dnf install openssh-clients -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
RedOS 8.0
- Установите пакет
openssh-clients:sudo dnf install openssh-clients -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
RedOS 7.3
- Установите пакет
openssh-clients:sudo yum install openssh-clients -y - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Скопируйте публичный ключ:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
2. Настройка сетевого экрана (Firewall)
Перед установкой компонентов системы 5А необходимо открыть порты на всех серверах в соответствии с требованиями, описанными в документе «Требования к серверам» (раздел «Настройка сетевого экрана», Таблицы 1 и 2). Убедитесь, что разрешены как входящие, так и исходящие соединения согласно матрице взаимодействий.
Для операционных систем, использующих firewalld (CentOS Stream 9, RedOS), примеры открытия портов приведены в разделе 8 данного документа. Для других ОС настройка выполняется стандартными средствами (iptables, nftables).
Если вы используете firewalld, после настройки всех правил не забудьте выполнить sudo firewall-cmd --reload.
3. Установка и настройка Docker
Debian 12
- Обновите список пакетов и установите зависимости:
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 (кодовое имя
bookworm):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 - Обновите список пакетов и установите Docker Engine:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Добавьте текущего пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
Ubuntu Server 24.04 LTS
- Обновите список пакетов и установите зависимости:
sudo apt update sudo apt install gnupg apt-transport-https ca-certificates curl -y - Добавьте официальный GPG-ключ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg - Добавьте репозиторий Docker (кодовое имя
noble):echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Обновите список пакетов и установите Docker Engine:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Добавьте пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
Astra Linux Common Edition (Орел) версии 2.12.45
- Обновите список пакетов и установите зависимости:
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 (используйте
bookworm):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 - Обновите список пакетов и установите Docker Engine:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Если возникли ошибки с зависимостями, подключите репозиторий
repository-extendedи повторите установку:sudo apt install astra-repository-extended -y sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Добавьте пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
Astra Linux Special Edition 1.8
Важно: Установка из официального репозитория Docker может быть запрещена политиками безопасности. В этом случае используйте Docker из штатных репозиториев Astra Linux.
- Обновите список пакетов:
sudo apt update - Установите Docker из репозитория Astra:
sudo apt install docker.io docker-compose -y - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Добавьте текущего пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
Альт Сервер 10.4
- Обновите список пакетов:
sudo apt update - Установите Docker. Проверьте наличие пакета
docker-ceв репозитории:sudo apt install docker-ce -y - Если пакет
docker-ceне найден, установитеdocker.io:sudo apt install docker.io -y - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Добавьте пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
CentOS Stream 9
- Установите утилиту
dnf config-manager, если она не установлена:sudo dnf install dnf-plugins-core -y - Добавьте официальный репозиторий Docker:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - Установите Docker Engine:
sudo dnf install docker-ce docker-ce-cli containerd.io -y - Запустите Docker и добавьте его в автозагрузку:
sudo systemctl enable --now docker - Добавьте пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
RedOS 8.0
Перед установкой Docker удалите конфликтующие пакеты (podman, старые версии docker, cri-dockerd):
# Проверить наличие конфликтующих пакетов
rpm -qa | grep -E 'docker|podman|cri|containerd'
# Удалить найденные конфликтующие пакеты (если они не нужны для других задач)
sudo dnf remove docker docker-ce docker-ce-cli containerd.io cri-dockerd podman-docker -y
sudo dnf autoremove -y
sudo dnf clean allДля установки Docker следуйте официальной инструкции РЕД ОС 8.0:
После выполнения официальной инструкции дополнительно выполните:
# Добавить текущего пользователя в группу docker
sudo usermod -aG docker $USER
# Проверить работоспособность Docker
docker infoЕсли официальная инструкция отсутствует или недоступна, используйте стандартную установку Docker (как для CentOS Stream 9, но с учётом EL8).
RedOS 7.3
Перед установкой Docker удалите конфликтующие пакеты (podman, старые версии docker, cri-dockerd):
# Проверить наличие конфликтующих пакетов
rpm -qa | grep -E 'docker|podman|cri|containerd'
# Удалить найденные конфликтующие пакеты (если они не нужны для других задач)
sudo yum remove docker docker-ce docker-ce-cli containerd.io cri-dockerd podman-docker -y
sudo yum autoremove -y
sudo yum clean allДля установки Docker следуйте официальной инструкции РЕД ОС 7.3:
После выполнения официальной инструкции дополнительно выполните:
# Добавить текущего пользователя в группу docker
sudo usermod -aG docker $USER
# Проверить работоспособность Docker
docker infoЕсли официальная инструкция отсутствует или недоступна, используйте стандартную установку Docker (см. инструкцию для CentOS 7, dnf необходимо заменить на yum).
4. Проверка работы systemd
На всех целевых ОС в качестве init-системы используется systemd. Для проверки его работоспособности выполните следующие команды на каждом сервере:
-
Убедитесь, что systemd является init-системой. Выполните команду:
ps -p 1 -o comm=Ожидаемый вывод:
systemd. Если выводinitилиsysvinit, значит, systemd не используется. -
Убедитесь, что система загружена не в аварийном режиме. Выполните команду:
systemctl get-defaultОжидаемый вывод:
multi-user.targetилиgraphical.target. Если выводrescue.targetилиemergency.target, верните систему в обычный режим:sudo systemctl set-default multi-user.target sudo reboot
5. Проверка наличия crontab
Для планирования регулярных задач система 5А использует cron. Убедитесь, что утилита crontab установлена и доступна.
Debian 12
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cron:sudo apt update sudo apt install cron -y - Запустите службу cron и добавьте её в автозагрузку:
sudo systemctl enable --now cron
Ubuntu Server 24.04 LTS
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cron:sudo apt update sudo apt install cron -y - Запустите службу cron:
sudo systemctl enable --now cron
Astra Linux Common Edition (Орел) 2.12.45
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cron:sudo apt update sudo apt install cron -y - Запустите службу cron:
sudo systemctl enable --now cron
Astra Linux Special Edition 1.8
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cron:sudo apt update sudo apt install cron -y - Запустите службу cron:
sudo systemctl enable --now cron
Альт Сервер 10.4
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cronie:sudo apt update sudo apt install cronie -y - Запустите службу cronie:
sudo systemctl enable --now cronie
CentOS Stream 9
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cronie:sudo dnf install cronie -y - Запустите службу crond:
sudo systemctl enable --now crond
RedOS 8.0
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cronie:sudo dnf install cronie -y - Запустите службу crond:
sudo systemctl enable --now crond
RedOS 7.3
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cronie:sudo yum install cronie -y - Запустите службу crond:
sudo systemctl enable --now crond
6. Установка и настройка FRR
Debian 12
- Добавьте GPG-ключ репозитория FRR:
curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg > /dev/null - Добавьте репозиторий FRR (кодовое имя
bookworm):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 -y - Включите необходимых демонов в файле
/etc/frr/daemons:Установите:sudo nano /etc/frr/daemonszebra=yes bgpd=yes ospfd=yes vrrpd=yes bfdd=yes - Создайте файлы конфигурации и настройте права:
sudo touch /etc/frr/frr.conf sudo touch /etc/frr/vtysh.conf sudo chown -R frr:frr /etc/frr sudo chmod 640 /etc/frr/*.conf - Запустите FRR и добавьте в автозагрузку:
sudo systemctl enable --now frr - Проверьте корректность конфигурации:
Внутри
sudo vtyshvtyshвыполните:show running-config show ip route show ip bgp summary show ip ospf neighbor show vrrp exit
Ubuntu Server 24.04 LTS
- Добавьте GPG-ключ репозитория FRR:
curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg > /dev/null - Добавьте репозиторий FRR (кодовое имя
noble):echo deb '[signed-by=/usr/share/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr noble frr-stable | sudo tee -a /etc/apt/sources.list.d/frr.list - Обновите список пакетов и установите FRR:
sudo apt update sudo apt install frr frr-pythontools -y - Настройка демонов, прав и запуск — аналогично Debian 12 (шаги 4–7).
Astra Linux Common Edition (Орел) 2.12.45
- Добавьте GPG-ключ репозитория FRR:
curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg > /dev/null - Добавьте репозиторий FRR (используйте
bookworm):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 -y - Настройка демонов, прав и запуск — аналогично Debian 12 (шаги 4–7).
Astra Linux Special Edition 1.8 (сборка из исходников)
Важно: В Astra Linux SE подключение сторонних репозиториев часто запрещено. Поэтому FRR устанавливается сборкой из исходников.
- Подготовьте пакеты
libyang2. Скачайте их из официального репозитория FRR: https://deb.frrouting.org/frr/pool/frr-10.3/liby/libyang2/ (opens in a new tab). Для архитектуры amd64 необходимы:libyang2_2.1.128-2~deb10u2_amd64.deblibyang2-dev_2.1.128-2~deb10u2_amd64.deblibyang2-tools_2.1.128-2~deb10u2_amd64.deb
- Установите зависимости для сборки:
sudo apt update sudo apt install git gcc make autoconf automake libtool libjson-c-dev libelf-dev python3-dev libreadline-dev libcap-dev bison flex libprotobuf-c-dev protobuf-c-compiler -y - Установите пакеты
libyang2:cd ~/libyang2_packages sudo dpkg -i libyang2_*.deb libyang2-dev_*.deb libyang2-tools_*.deb - Клонируйте репозиторий FRR:
git clone https://github.com/FRRouting/frr.git cd frr - Запустите скрипт начальной настройки:
./bootstrap.sh - Настройте конфигурацию сборки:
./configure LIBYANG_CFLAGS="-I/usr/include/libyang" LIBYANG_LIBS="-L/usr/lib/x86_64-linux-gnu -lyang" - Скомпилируйте и установите:
make && sudo make install - Создайте системную группу и пользователя:
sudo groupadd frr sudo useradd -r -s /sbin/nologin -g frr frr - Создайте директорию для конфигурационных файлов:
sudo mkdir -p /usr/local/etc/frr sudo touch /usr/local/etc/frr/frr.conf sudo touch /usr/local/etc/frr/vtysh.conf - Создайте файл
/usr/local/etc/frr/daemons:sudo tee /usr/local/etc/frr/daemons <<EOF zebra=yes bgpd=yes ospfd=yes vrrpd=yes bfdd=yes EOF - Настройте права:
sudo chown -R frr:frr /usr/local/etc/frr sudo chmod 640 /usr/local/etc/frr/*.conf sudo chmod 755 /usr/local/etc/frr - Скопируйте systemd unit-файл:
sudo cp tools/frr.service /etc/systemd/system/ sudo ldconfig sudo systemctl daemon-reload - Запустите FRR:
sudo systemctl enable --now frr - Проверьте через
vtysh(путь к vtysh может быть/usr/local/bin/vtysh):Выполните проверочные команды.sudo /usr/local/bin/vtysh
Альт Сервер 10.4
Вариант 1: Установка из репозитория Альт (если доступно)
- Выполните поиск пакета
frr:sudo apt update apt search frr - Если пакет
frrнайден, установите его:sudo apt install frr frr-pythontools -y - Настройте FRR (включение демонов, создание
frr.confиvtysh.conf, права, запуск) так же, как описано для Debian 12 (шаги 4–7).
Вариант 2: Сборка из исходников (если пакет отсутствует)
Сборка FRR на Альт Сервер 10.4 выполняется аналогично сборке для Astra Linux SE 1.8, но с использованием пакетного менеджера apt для установки зависимостей. Следуйте инструкции для Astra SE, заменяя apt при установке зависимостей.
CentOS Stream 9
- Установите репозиторий EPEL:
sudo dnf install epel-release -y - Добавьте официальный репозиторий FRR для RHEL 9:
sudo dnf install https://frrouting.org/repo/frr-10.3-el9.rpm -y - Установите FRR:
sudo dnf install frr frr-pythontools -y - Включите демонов в
/etc/frr/daemons:Установите:sudo nano /etc/frr/daemonszebra=yes bgpd=yes ospfd=yes vrrpd=yes bfdd=yes - Создайте файлы конфигурации и настройте права:
sudo touch /etc/frr/frr.conf sudo touch /etc/frr/vtysh.conf sudo chown -R frr:frr /etc/frr sudo chmod 640 /etc/frr/*.conf - Запустите FRR:
sudo systemctl enable --now frr - Проверьте через
vtysh:Внутриsudo vtyshvtyshвыполните:show running-config show ip route show ip bgp summary show ip ospf neighbor show vrrp exit
Альтернативный способ (сборка из исходников) – если установка из репозиториев невозможна, используйте инструкцию для Astra SE 1.8, адаптировав установку зависимостей через dnf.
RedOS 8.0
- Установите репозиторий EPEL:
sudo dnf install epel-release -y - Добавьте официальный репозиторий FRR для RHEL 8:
sudo dnf install https://frrouting.org/repo/frr-10.3-el8.rpm -y - Установите FRR:
sudo dnf install frr frr-pythontools -y - Настройка демонов, прав и запуск – аналогично CentOS Stream 9 (шаги 4–7).
RedOS 7.3
- Установите репозиторий EPEL:
sudo yum install epel-release -y - Добавьте официальный репозиторий FRR для RHEL 7:
sudo yum install https://frrouting.org/repo/frr-10.3-el7.rpm -y - Установите FRR:
sudo yum install frr frr-pythontools -y - Настройка демонов, прав и запуск – аналогично CentOS Stream 9, но с использованием
yumи проверкой, чтоsystemctlдоступен.
Примечание для RedOS 7.3: Если
dnfотсутствует, везде используйтеyum. Firewalld может отсутствовать – перейдите к разделу 8 для проверки.
7. Установка keepalived для VRRP
Для обеспечения отказоустойчивости VIP-адресов по протоколу VRRP необходимо установить keepalived на каждый агент балансировки.
Минимальная версия: keepalived ≥ 2.2 (требуется для поддержки VRRPv3 с дробным интервалом анонсов, unicast-режима и корректной работы nopreempt).
Проверка версии после установки:
keepalived --version
# Ожидается: 2.2.x или новееУстановка (Ubuntu/Debian/Astra/Альт):
sudo apt update
sudo apt install -y keepalivedУстановка (CentOS Stream 9 / RedOS 8.0 / RedOS 7.3):
sudo dnf install -y keepalived # для CentOS 9, RedOS 8
# или
sudo yum install -y keepalived # для RedOS 7Сервис keepalived не нужно запускать или включать в автозагрузку вручную. Его конфигурацией и жизненным циклом управляет агент системы «Балансировщик 5А».
8. Дополнительные настройки для CentOS Stream 9 и RedOS
CentOS Stream 9
Настройка SELinux
SELinux включён по умолчанию и может блокировать работу компонентов 5А. Для упрощения настройки рекомендуется отключить SELinux:
- Временно отключите:
sudo setenforce 0 - Постоянно отключите:
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config - Перезагрузите систему:
sudo reboot
Настройка firewalld
Общее требование: Перед открытием портов ознакомьтесь с полным списком необходимых портов в документе «Требования к серверам» (Таблицы 1 и 2). Ниже приведены примеры для основных портов системы и портов FRR.
Откройте порты, необходимые для работы FRR (BGP 179/tcp, OSPF 89/tcp, VRRP 112/tcp), а также базовые порты системы 5А (веб-интерфейс, API, БД):
# Порты для FRR
sudo firewall-cmd --permanent --add-port=179/tcp
sudo firewall-cmd --permanent --add-port=89/tcp
sudo firewall-cmd --permanent --add-port=112/tcp
# Основные порты системы 5А (пример, полный список см. в требованиях)
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --permanent --add-port=5432/tcp
# Применить изменения
sudo firewall-cmd --reload
# Проверить открытые порты
sudo firewall-cmd --list-portsRedOS 8.0
Аналогично CentOS Stream 9, но используйте dnf (если требуется) и проверьте наличие firewalld:
# Если firewalld не установлен:
sudo dnf install firewalld -y
sudo systemctl enable --now firewalldДалее выполните команды открытия портов (как выше).
RedOS 7.3
SELinux – отключается аналогично.
Firewalld может отсутствовать. Если он не нужен, пропустите настройку. Если требуется:
sudo yum install firewalld -y
sudo systemctl enable --now firewalld
# Затем открыть порты через firewall-cmd (аналогично CentOS)9. Типичные проблемы и их решение
| Проблема | Решение |
|---|---|
vtysh: Can't open configuration file | Не создан vtysh.conf или неправильные права. Выполните шаг 6 (создание файлов и настройка прав: sudo touch /etc/frr/frr.conf /etc/frr/vtysh.conf && sudo chown -R frr:frr /etc/frr && sudo chmod 640 /etc/frr/*.conf). |
| Конфликт версий Docker CLI | Удалите конфликтующие пакеты (шаг 3 для RedOS 7.3/8.0: sudo yum/dnf remove docker docker-ce docker-ce-cli containerd.io cri-dockerd podman-docker -y) и переустановите Docker по официальной инструкции. |
Отсутствует файл /usr/local/etc/frr/daemons | В Ред ОС используется путь /etc/frr/daemons. Проверьте его наличие. Для Astra SE 1.8 путь — /usr/local/etc/frr/daemons. |
FRR не стартует (systemctl status frr показывает ошибку) | Проверьте, что в /etc/frr/daemons (или /usr/local/etc/frr/daemons) включены только нужные демоны: zebra=yes, bgpd=yes, ospfd=yes, vrrpd=yes, bfdd=yes. Остальные оставьте no. Также проверьте синтаксис frr.conf. |
Ошибка прав на /etc/frr/*.conf | Выполните sudo chown -R frr:frr /etc/frr && sudo chmod 640 /etc/frr/*.conf (шаг 6 для всех ОС, кроме Astra SE 1.8, где путь /usr/local/etc/frr). |
10. Финальная проверка перед развёртыванием приложения
Убедитесь, что на каждом сервере выполнены следующие условия:
- Docker работает:
docker info(без ошибок, пользователь в группеdocker, раздел 3). - FRR запущен:
systemctl status frr(активен, нет ошибок - раздел 6). - SSH-ключи созданы и настроены (раздел 1).
- systemd используется как init (раздел 4).
- crontab доступен (раздел 5).
- Порты открыты в соответствии с требованиями: проверьте, что на всех серверах разрешены входящие соединения на порты из Таблицы 1 документа «Требования к серверам». Для быстрой проверки можно использовать команду:
(список портов замените на актуальный для вашей конфигурации).
sudo ss -tulpn | grep -E ':(443|9000|5432|50051|9090)'
Только после успешной проверки всех пунктов приступайте к установке компонентов Балансировщика 5А.