Подготовка сервера Альт Сервер 11

Процесс подготовки серверов для установки компонентов системы 5А происходит в несколько этапов:

  1. Настройка SSH-ключей.
  2. Настройка прав sudo.
  3. Обновление системы и ядра.
  4. Настройка сетевого экрана (Firewall).
  5. Проверка и настройка занятых портов.
  6. Проверка свободного места на диске.
  7. Установка и настройка Docker.
  8. Проверка работы systemd.
  9. Проверка наличия crontab.
  10. Установка и настройка FRR.
  11. Установка keepalived для VRRP.
  12. Типичные проблемы и их решение.
  13. Финальная проверка перед развёртыванием приложения.

Для каких задач используются компоненты

  • SSH-ключи — обеспечивают безопасное беспарольное соединение между серверами, необходимое для автоматизации развертывания и управления компонентами балансировщика.
  • Docker — используется для контейнеризации компонентов системы 5А. Это обеспечивает изоляцию, простоту обновления и единообразие окружения на всех поддерживаемых ОС.
  • systemd — служит init-системой для управления сервисами (Docker, FRR), их автозапуском и контролем состояния.
  • crontab — планировщик задач, используемый для выполнения регулярных операций (ротация логов, проверки состояния, обновления маршрутов).
  • FRR (Free Range Routing) — обеспечивает динамическую маршрутизацию по протоколам BGP, OSPF, VRRP, BFD. Эти протоколы необходимы для отказоустойчивой связности сетевых агентов балансировщика.

1. Настройка SSH-ключей

Для обеспечения безопасного и беспарольного доступа между серверами необходимо настроить SSH-ключи.

ℹ️

Рекомендация по безопасности: для развёртывания системы используйте выделенный jump-хост (промежуточный сервер). Это повышает безопасность (снижает риск компрометации учётных данных) и упрощает управление ключами доступа. Подробнее о настройке jump-хоста см. в разделе Типичные проблемы.

Альт Сервер 11

  1. Установите пакет openssh-clients:
    sudo apt update && sudo apt install openssh-clients -y

    Примечание: В Альт Сервер 11 пакет может называться openssh-clients или уже быть установленным. При необходимости используйте apt-get вместо apt.

  2. Создайте SSH-ключ:
    ssh-keygen -t rsa -b 4096
  3. Установите корректные права на публичный ключ:
    chmod 644 ~/.ssh/id_rsa.pub
  4. Скопируйте публичный ключ на целевой сервер:
    ssh-copy-id user@server_ip
  5. Проверьте подключение:
    ssh user@server_ip

2. Настройка прав sudo

Убедитесь, что ваш пользователь имеет право выполнять команды с повышенными привилегиями.

  1. Добавьте пользователя в группу wheel (на Альт Сервер это даёт права sudo):
    sudo usermod -aG wheel $USER
    Если команда usermod недоступна, можно добавить запись в файл /etc/sudoers (выполните от root):
    echo "$USER ALL=(ALL) ALL" >> /etc/sudoers
  2. После этого выйдите из системы и зайдите снова, чтобы изменения вступили в силу.
  3. Проверьте наличие прав:
    sudo -l

3. Обновление системы и ядра

Перед установкой компонентов системы 5А необходимо обновить операционную систему и ядро до актуального состояния. Это обеспечивает совместимость и безопасность.

Выполните следующие команды от root:

su -
apt-get update
apt-get dist-upgrade
update-kernel
reboot

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

uname -r
⚠️

В ОС Альт ядро не обновляется автоматически вместе с пользовательским окружением. Команда update-kernel обязательна.

4. Настройка сетевого экрана (Firewall)

Перед установкой компонентов системы 5А необходимо открыть порты на всех серверах в соответствии с требованиями, описанными в документе «Требования к серверам» (раздел «Настройка сетевого экрана», Таблицы 1 и 2). Убедитесь, что разрешены как входящие, так и исходящие соединения согласно матрице взаимодействий.

Для Альт Сервер 11 настройка выполняется стандартными средствами (iptables, nftables).

5. Проверка и настройка занятых портов

Для корректной работы системы 5А требуются свободные порты. Убедитесь, что порт 80 (и другие необходимые порты) не занят другими службами, например встроенным веб-сервером httpd2. Выполните следующие действия:

  1. Проверьте, не запущен ли httpd2:
    sudo systemctl status httpd2
  2. Если сервис активен, остановите его и отключите автозагрузку:
    sudo systemctl disable --now httpd2.service
    Это команда одновременно остановит службу и запретит её автоматический запуск при загрузке системы.
  3. Убедитесь, что порт 80 больше не прослушивается:
    sudo ss -tulpn | grep :80
    Команда не должна выдать ничего, если порт свободен.
⚠️

Если в системе запущен другой веб-сервер, использующий порт 80 (например, nginx, apache2), его также необходимо остановить и отключить, чтобы освободить порт.

6. Проверка свободного места на диске

Убедитесь, что на сервере достаточно свободного места для установки компонентов системы 5А. Минимальные требования:

  • Корневой раздел (/) — не менее 15 ГБ свободного места.
  • Раздел /tmp — не менее 1 ГБ для временных файлов.
  1. Проверьте свободное место:
    df -h
  2. При необходимости очистите временные файлы:
    sudo rm -rf /tmp/*
    sudo rm -rf /var/tmp/*
    sudo apt clean && sudo apt autoremove -y
  3. Если Docker уже установлен, можно также очистить неиспользуемые образы и контейнеры:
    docker system prune -a -f

7. Установка и настройка Docker

Альт Сервер 11

  1. Обновите список пакетов:
    sudo apt update
  2. Установите Docker. Проверьте наличие пакета docker-engine в репозитории:
    sudo apt install docker-engine -y
    Если пакет docker-engine не найден, установите docker.io:
    sudo apt install docker.io -y

    Примечание: В Альт Сервер 11 рекомендуется использовать docker.io или docker-ce из официального репозитория Docker (если он добавлен).

  3. Запустите Docker и добавьте в автозагрузку:
    sudo systemctl enable --now docker
  4. Проверьте, что Docker работает:
    systemctl status docker
  5. Добавьте пользователя в группу docker:
    sudo usermod -aG docker $USER

    Важно: После выполнения usermod выйдите из системы и зайдите снова, или выполните newgrp docker для текущей сессии.

  6. Проверьте версию Docker:
    docker --version

Если Docker уже был установлен ранее, убедитесь, что он запущен и добавлен в автозагрузку (пункты 3–4).

8. Проверка работы systemd

На всех целевых ОС в качестве init-системы используется systemd. Для проверки его работоспособности выполните следующие команды на каждом сервере:

  1. Убедитесь, что systemd является init-системой. Выполните команду:

    ps -p 1 -o comm=

    Ожидаемый вывод: systemd. Если вывод init или sysvinit, значит, systemd не используется.

  2. Убедитесь, что система загружена не в аварийном режиме. Выполните команду:

    systemctl get-default

    Ожидаемый вывод: multi-user.target или graphical.target. Если вывод rescue.target или emergency.target, верните систему в обычный режим:

    sudo systemctl set-default multi-user.target
    sudo reboot

9. Проверка наличия crontab

Для планирования регулярных задач система 5А использует cron. Убедитесь, что утилита crontab установлена и доступна.

Альт Сервер 11

  1. Проверьте доступность crontab:
    sudo crontab -l
  2. Если команда не найдена, установите пакет cronie:
    sudo apt update
    sudo apt install cronie -y
  3. Запустите службу cronie:
    sudo systemctl enable --now cronie

10. Установка и настройка FRR

Альт Сервер 11

Вариант 1: Установка из репозитория Альт (если доступно)

  1. Выполните поиск пакета frr:
    sudo apt update
    apt search frr
  2. Если пакет frr найден, установите его:
    sudo apt install frr frr-pythontools -y
  3. Включите необходимых демонов в файле /etc/frr/daemons:
    sudo nano /etc/frr/daemons
    Установите:
    zebra=yes
    bgpd=yes
    ospfd=yes
    vrrpd=yes
    bfdd=yes
  4. Создайте файлы конфигурации и настройте права:
    sudo touch /etc/frr/frr.conf
    sudo touch /etc/frr/vtysh.conf
    sudo chown -R frr:frr /etc/frr
    sudo bash -c 'chmod 640 /etc/frr/*.conf'
  5. Запустите FRR и добавьте в автозагрузку:
    sudo systemctl enable --now frr

    Примечание: Эта команда одновременно включает автозагрузку службы и запускает её. После выполнения убедитесь, что служба активна (см. шаг 6).

  6. Проверьте корректность конфигурации и статус службы:
    sudo systemctl status frr
    Убедитесь, что в выводе присутствует active (running). Затем проверьте конфигурацию через vtysh:
    sudo vtysh
    Внутри vtysh выполните:
    show running-config
    show ip route
    show ip bgp summary
    show ip ospf neighbor
    show vrrp
    exit

Вариант 2: Сборка из исходников (если пакет отсутствует)

Сборка FRR на Альт Сервер 11 выполняется аналогично сборке для Astra Linux SE 1.8, но с использованием пакетного менеджера apt для установки зависимостей. Следуйте инструкции для Astra SE, заменяя apt при установке зависимостей. (Полная инструкция по сборке из исходников приведена в разделе для Astra Linux Special Edition 1.8 исходного документа.)

11. Установка keepalived для VRRP

Для обеспечения отказоустойчивости VIP-адресов по протоколу VRRP необходимо установить keepalived на каждый агент балансировки.

Минимальная версия: keepalived ≥ 2.2 (требуется для поддержки VRRPv3 с дробным интервалом анонсов, unicast-режима и корректной работы nopreempt).

Проверка версии после установки:

keepalived --version
# Ожидается: 2.2.x или новее

Установка (Альт Сервер 11):

sudo apt update
sudo apt install -y keepalived
ℹ️

Сервис keepalived не нужно запускать или включать в автозагрузку вручную. Его конфигурацией и жизненным циклом управляет агент системы «Балансировщик 5А».

12. Типичные проблемы и их решение

ПроблемаРешение
vtysh: Can't open configuration fileНе создан vtysh.conf или неправильные права. Выполните шаг 10 (создание файлов и настройка прав: sudo touch /etc/frr/frr.conf /etc/frr/vtysh.conf && sudo chown -R frr:frr /etc/frr && sudo bash -c 'chmod 640 /etc/frr/*.conf').
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 bash -c 'chmod 640 /etc/frr/*.conf' (шаг 10). Если FRR собран из исходников, путь может быть /usr/local/etc/frr.
Порт 80 занят (ошибка при запуске балансировщика)Убедитесь, что выполнен раздел 5. Проверка и настройка занятых портов. Проверьте, нет ли других сервисов, использующих порт 80: `sudo ss -tulpn
Docker не запускаетсяПроверьте статус: systemctl status docker. Если не активен, запустите: sudo systemctl start docker. Убедитесь, что пользователь добавлен в группу docker.
SSH-подключение отклоняется (Permission denied) при развертывании с самого сервераРекомендация: выполняйте развертывание с выделенного jump-хоста (промежуточного сервера). Это повышает безопасность и упрощает управление ключами. Если jump-хост не используется, убедитесь, что ваш публичный ключ скопирован на целевой сервер (ssh-copy-id), проверьте права на каталог ~/.ssh (должен быть 700) и файл ~/.ssh/authorized_keys (600). Временно можно включить аутентификацию по паролю в /etc/ssh/sshd_config (параметр PasswordAuthentication yes) и перезапустить sshd, но после завершения настройки рекомендуется отключить.

13. Финальная проверка перед развёртыванием приложения

Убедитесь, что на каждом сервере выполнены следующие условия:

  • Система обновлена — выполнены apt-get dist-upgrade и update-kernel, сервер перезагружен (раздел 3).
  • Docker работает: docker info (без ошибок, пользователь в группе docker, раздел 7).
  • FRR запущен: systemctl status frr (активен, нет ошибок - раздел 10).
  • SSH-ключи созданы и настроены (раздел 1).
  • systemd используется как init (раздел 8).
  • crontab доступен (раздел 9).
  • Порт 80 свободен — выполните sudo ss -tulpn | grep :80; команда не должна ничего вывести (раздел 5).
  • Порты открыты в соответствии с требованиями: проверьте, что на всех серверах разрешены входящие соединения на порты из Таблицы 1 документа «Требования к серверам». Для быстрой проверки можно использовать команду:
    sudo ss -tulpn | grep -E ':(8443|9000|5432|50051|9090)'
    (список портов замените на актуальный для вашей конфигурации).

Только после успешной проверки всех пунктов приступайте к установке компонентов Балансировщика 5А.