Подготовка сервера Альт Сервер 11
Процесс подготовки серверов для установки компонентов системы 5А происходит в несколько этапов:
- Настройка SSH-ключей.
- Настройка прав sudo.
- Обновление системы и ядра.
- Настройка сетевого экрана (Firewall).
- Проверка и настройка занятых портов.
- Проверка свободного места на диске.
- Установка и настройка Docker.
- Проверка работы systemd.
- Проверка наличия crontab.
- Установка и настройка FRR.
- Установка keepalived для VRRP.
- Типичные проблемы и их решение.
- Финальная проверка перед развёртыванием приложения.
Для каких задач используются компоненты
- SSH-ключи — обеспечивают безопасное беспарольное соединение между серверами, необходимое для автоматизации развертывания и управления компонентами балансировщика.
- Docker — используется для контейнеризации компонентов системы 5А. Это обеспечивает изоляцию, простоту обновления и единообразие окружения на всех поддерживаемых ОС.
- systemd — служит init-системой для управления сервисами (Docker, FRR), их автозапуском и контролем состояния.
- crontab — планировщик задач, используемый для выполнения регулярных операций (ротация логов, проверки состояния, обновления маршрутов).
- FRR (Free Range Routing) — обеспечивает динамическую маршрутизацию по протоколам BGP, OSPF, VRRP, BFD. Эти протоколы необходимы для отказоустойчивой связности сетевых агентов балансировщика.
1. Настройка SSH-ключей
Для обеспечения безопасного и беспарольного доступа между серверами необходимо настроить SSH-ключи.
Рекомендация по безопасности: для развёртывания системы используйте выделенный jump-хост (промежуточный сервер). Это повышает безопасность (снижает риск компрометации учётных данных) и упрощает управление ключами доступа. Подробнее о настройке jump-хоста см. в разделе Типичные проблемы.
Альт Сервер 11
- Установите пакет
openssh-clients:sudo apt update && sudo apt install openssh-clients -yПримечание: В Альт Сервер 11 пакет может называться
openssh-clientsили уже быть установленным. При необходимости используйтеapt-getвместоapt. - Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 - Установите корректные права на публичный ключ:
chmod 644 ~/.ssh/id_rsa.pub - Скопируйте публичный ключ на целевой сервер:
ssh-copy-id user@server_ip - Проверьте подключение:
ssh user@server_ip
2. Настройка прав sudo
Убедитесь, что ваш пользователь имеет право выполнять команды с повышенными привилегиями.
- Добавьте пользователя в группу
wheel(на Альт Сервер это даёт праваsudo):Если командаsudo usermod -aG wheel $USERusermodнедоступна, можно добавить запись в файл/etc/sudoers(выполните отroot):echo "$USER ALL=(ALL) ALL" >> /etc/sudoers - После этого выйдите из системы и зайдите снова, чтобы изменения вступили в силу.
- Проверьте наличие прав:
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. Выполните следующие действия:
- Проверьте, не запущен ли
httpd2:sudo systemctl status httpd2 - Если сервис активен, остановите его и отключите автозагрузку:
Это команда одновременно остановит службу и запретит её автоматический запуск при загрузке системы.
sudo systemctl disable --now httpd2.service - Убедитесь, что порт 80 больше не прослушивается:
Команда не должна выдать ничего, если порт свободен.
sudo ss -tulpn | grep :80
Если в системе запущен другой веб-сервер, использующий порт 80 (например, nginx, apache2), его также необходимо остановить и отключить, чтобы освободить порт.
6. Проверка свободного места на диске
Убедитесь, что на сервере достаточно свободного места для установки компонентов системы 5А. Минимальные требования:
- Корневой раздел (
/) — не менее 15 ГБ свободного места. - Раздел
/tmp— не менее 1 ГБ для временных файлов.
- Проверьте свободное место:
df -h - При необходимости очистите временные файлы:
sudo rm -rf /tmp/* sudo rm -rf /var/tmp/* sudo apt clean && sudo apt autoremove -y - Если Docker уже установлен, можно также очистить неиспользуемые образы и контейнеры:
docker system prune -a -f
7. Установка и настройка Docker
Альт Сервер 11
- Обновите список пакетов:
sudo apt update - Установите Docker. Проверьте наличие пакета
docker-engineв репозитории:Если пакетsudo apt install docker-engine -ydocker-engineне найден, установитеdocker.io:sudo apt install docker.io -yПримечание: В Альт Сервер 11 рекомендуется использовать
docker.ioилиdocker-ceиз официального репозитория Docker (если он добавлен). - Запустите Docker и добавьте в автозагрузку:
sudo systemctl enable --now docker - Проверьте, что Docker работает:
systemctl status docker - Добавьте пользователя в группу
docker:sudo usermod -aG docker $USERВажно: После выполнения
usermodвыйдите из системы и зайдите снова, или выполнитеnewgrp dockerдля текущей сессии. - Проверьте версию Docker:
docker --version
Если Docker уже был установлен ранее, убедитесь, что он запущен и добавлен в автозагрузку (пункты 3–4).
8. Проверка работы 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
9. Проверка наличия crontab
Для планирования регулярных задач система 5А использует cron. Убедитесь, что утилита crontab установлена и доступна.
Альт Сервер 11
- Проверьте доступность
crontab:sudo crontab -l - Если команда не найдена, установите пакет
cronie:sudo apt update sudo apt install cronie -y - Запустите службу cronie:
sudo systemctl enable --now cronie
10. Установка и настройка FRR
Альт Сервер 11
Вариант 1: Установка из репозитория Альт (если доступно)
- Выполните поиск пакета
frr:sudo apt update apt search frr - Если пакет
frrнайден, установите его: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 bash -c 'chmod 640 /etc/frr/*.conf' - Запустите FRR и добавьте в автозагрузку:
sudo systemctl enable --now frrПримечание: Эта команда одновременно включает автозагрузку службы и запускает её. После выполнения убедитесь, что служба активна (см. шаг 6).
- Проверьте корректность конфигурации и статус службы:
Убедитесь, что в выводе присутствует
sudo systemctl status frractive (running). Затем проверьте конфигурацию черезvtysh:Внутриsudo vtyshvtyshвыполните: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А.