Download PDF
Download page Подготовка сервера с ОС Astra Linux.
Подготовка сервера с ОС Astra Linux
Статья содержит порядок подготовки сервера с ОС Astra Linux Special Edition для установки платформы и настройки узлов кластера.
Если на сервере уже установлена ОС Astra Linux, переустановите ОС и выполните её настройку по инструкциям из этой статьи.
Для корректной работы платформы выполняйте только те настройки, которые указаны в этой статье. Корректная работа платформы с другими настройками ОС не гарантируется.
Установка ОС
Вы можете использовать один диск для ОС и платформы либо установить ОС на отдельный диск.
При установке операционной системы:
- На шаге Установка базовой системы выберите Ядро для установки — linux-5.15-generic или linux-6.1-generic.
- На шаге Выбор программного обеспечения:
- Выберите следующие компоненты:
- Средства Виртуализации.
- Консольные утилиты.
Средства удаленного подключения SSH.
- Убедитесь, что остальные компоненты отключены.
- Выберите следующие компоненты:
- На шаге Дополнительные настройки ОС:
- Выберите уровень защищенности "Орел" или "Воронеж".
- Убедитесь, что отключены опции:
- Замкнутая программная среда.
- Запрет установки бита исполнения.
Запрет исполнения скриптов пользователя.
Если вы выбрали уровень защищённости "Воронеж", рекомендуем отключить опцию "Очистка освобождаемой внешней памяти". Эта опция значительно увеличивает нагрузку на CPU и время выполнения некоторых операций.
Настройка ОС на сервере с платформой
Перейдите в режим суперпользователя:
sudo su -
BASHНастройте список источников в файле /etc/apt/sources.list:
для установки в закрытом контуре укажите только источник cdrom. Остальные источники должны быть удалены или закомментированы:
Пример файла для Astra Linux Special Edition 1.7.5
deb cdrom:[OS Astra Linux 1.7.5 1.7_x86-64 DVD]/ 1.7_x86-64 contrib main non-free
CODEдля установки в открытом контуре у кажите только источники из поддерева Frozen для нужной версии ОС. Остальные источники должны быть удалены или закомментированы:
Пример файла для Astra Linux Special Edition 1.7.4 base (1.7.4-24.04.2023_14.23.iso)
deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/repository-main/ 1.7_x86-64 main contrib non-free deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/repository-update/ 1.7_x86-64 main contrib non-free deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/repository-base/ 1.7_x86-64 main contrib non-free deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/repository-extended/ 1.7_x86-64 main contrib non-free
CODEПример файла для Astra Linux Special Edition 1.7.4 uu1 (installation-1.7.4.11-23.06.23_17.13.iso)
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/uu/last/repository-base/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/uu/last/repository-extended/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/uu/last/repository-main/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.4/uu/last/repository-update/ 1.7_x86-64 main contrib non-free
CODEПример файла для Astra Linux Special Edition 1.7.5
deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/repository-base/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/repository-extended/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/repository-main/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/repository-update/ 1.7_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/uu/last/repository-update/ 1.7_x86-64 main contrib non-free
CODE
В файле /etc/network/interfaces настройте сетевую конфигурацию со статическим IP-адресом:
Пример конфигурации
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.254
CODEЕсли платформа будет использоваться в открытом информационном контуре (с доступом к Интернет), создайте файл /etc/resolv.conf и укажите в нём настройки DNS-серверов:
Пример настройки
nameserver 77.88.8.8 nameserver 1.1.1.1 options timeout:1 options attempts:2
CODEПерезапустите службу networking:
sudo systemctl restart networking
BASH- Проверьте доступность сети.
Настройка системного времени
Открытый контур
На сервере платформы и узлах кластера настройте синхронизацию системного времени с NTP-сервером. Подробнее см. в документации Astra Linux.
Закрытый контур
Настройте NTP-сервер на сервере с платформой и NTP-клиенты на узлах кластера.
Настройка NTP-сервера
- Установите пакеты ПО NTP:
sudo apt-get update
CODEsudo apt-get install ntp
CODE - В конфигурационном файле /etc/ntp.conf:
- Отключите синхронизацию с внешними NTP-серверами. Для этого закомментируйте все строки, начинающиеся с pool или server.
- Подключите локальный NTP-сервер. Для этого добавьте строку:
server 127.127.1.0 fudge 127.127.1.0 stratum 8
CODE - Разрешите сетевые подключения к локальному NTP-серверу. Для этого добавьте строки вида:
restrict <адрес_подсети> mask <маска_подсети> nomodify notrap
CODE
- Перезапустите службу ntp:
sudo /etc/init.d/ntp restart
CODE - Проверьте работу NTP-сервера:
ntpq -p
CODEПример вывода
remote refid st t when poll reach delay offset jitter ============================================================================== *LOCAL(0) .LOCL. 5 l 38 64 177 0.000 +0.000 0.000
CODE
Настройка NTP-клиентов
- Установите пакеты ПО NTP:
sudo apt-get update
CODEsudo apt-get install ntp
CODE - В конфигурационном файле /etc/ntp.conf:
- Отключите синхронизацию с внешними NTP-серверами. Для этого закомментируйте все строки, начинающиеся с pool или server.
- Включите синхнронизацию с локальным NTP-сервером. Для этого добавьте строку вида:
server <IP-адрес_или_hostname_NTP-сервера> iburst
CODE
- Перезапустите службу ntp:
sudo /etc/init.d/ntp restart
CODE - Проверьте работу NTP-сервера:
ntpq -p
CODEПример вывода
remote refid st t when poll reach delay offset jitter ============================================================================== 172.31.52.41 .INIT. 16 u 29 64 0 0.000 +0.000 0.000
CODE - Подождите несколько минут и проверьте, совпадает ли время на серверах:
date
CODE
Настройка сети на узлах кластера
В файле /etc/network/interfaces настройте сетевую конфигурацию. Примеры конфигураций:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.254
CODEauto lo iface lo inet loopback auto eth0 vmbr0 vmbr1 iface eth0 inet manual auto eth0.111 iface eth0.111 inet manual vlan_raw_device eth0 auto eth0.112 iface eth0.112 inet manual vlan_raw_device eth0 iface vmbr0 inet static address 1.1.111.10 netmask 255.255.255.0 gateway 1.1.111.1 bridge_ports eth0.111 bridge_stp off iface vmbr1 inet static address 1.1.112.10 netmask 255.255.255.0 gateway 1.1.112.1 bridge_ports eth0.112 bridge_stp off
CODEauto lo iface lo inet loopback auto eth0 eth1 bond0 bond0.118 vmbr0 iface eth0 inet manual iface eth1 inet manual iface bond0 inet manual pre-up modprobe bonding mode=active-backup post-down rmmod bonding bond-mode active-backup bond-primary eth0 bond-miimon 100 bond-downdelay 200 bond-updelay 150 bond-slaves eth0 eth1 iface bond0.118 inet manual vlan-raw-device bond0 iface vmbr0 inet static address 172.22.18.74 netmask 255.255.255.0 gateway 172.22.18.1 bridge_ports bond0.118 bridge_stp off
CODEauto lo iface lo inet loopback auto eth2 eth3 bond0 bond0.772 vmbr0 iface eth2 inet manual iface eth3 inet manual iface bond0 inet manual bond-mode 6 bond-miimon 100 bond-slaves eth2 eth3 iface bond0.772 inet manual vlan-raw-device bond0 iface vmbr0 inet static address 10.77.2.20/24 gateway 10.77.2.1 bridge_ports bond0.772 bridge_stp off
CODEauto lo iface lo inet loopback auto eth0 eth1 bond0 vmbr0 iface eth0 inet manual iface eth1 inet manual iface bond0 inet manual bond-mode 802.3ad bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-xmit-hash-policy 1 bond-slaves eth0 eth1 iface vmbr0 inet static address 172.22.18.74 netmask 255.255.255.0 gateway 172.22.18.1 bridge_ports bond0 bridge_stp off
CODEauto lo iface lo inet loopback auto eth0 eth1 bond0 bond0.118 vmbr0 iface eth0 inet manual iface eth1 inet manual iface bond0 inet manual bond-mode 802.3ad bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-xmit-hash-policy 1 bond-slaves eth0 eth1 iface bond0.118 inet manual vlan-raw-device bond0 iface vmbr0 inet static address 172.22.18.74 netmask 255.255.255.0 gateway 172.22.18.1 bridge_ports bond0.118 bridge_stp off
CODEПодробнее о сетевых настройках см. в статьях Настройки сети на узле кластера, Режимы работы бондов.
Перезапустите службу networking:
sudo systemctl restart networking
BASHПроверьте настройки сети:
ip -c a
BASH- Проверьте доступность узла со стороны сервера с платформой.
При добавлении узла платформа:
- Импортирует настройки сетевых интерфейсов из файла /etc/network/interfaces в сервис NetworkManager.
- Отправляет ICMP-запросы на проверочный IP-адрес, заданный в настройках кластера:
- если IP-адрес недоступен, возвращает исходные сетевые настройки;
- если проверка прошла успешно, выполняет настройку сети.
Импорт настроек не будет выполняться, если при добавлении узла включить опцию Не настраивать сеть автоматически.
После настройки сети в файле /etc/network/interfaces остаётся только конфигурация loopback-интерфейса (lo). Дальнейшую настройку сети на узле кластера рекомендуется выполнять через интерфейс платформы или утилиту nmcli. При добавлении записей в файл /etc/network/interfaces возможен конфликт сетевых настроек.
Если на добавляемом узле кластера был вручную создан бридж или бонд, этот интерфейс будет отображаться в платформе как неуправляемый. Его нельзя отредактировать и удалить через интерфейс платформы.
Если узел был добавлен в платформе с версией ниже 2023.07.1, то его конфигурация будет перенесена в NetworkManager только после изменения настроек сети (например, добавления интерфейса) через интерфейс платформы.
Настройка подключения к узлам кластера
Корректное подключение узла гарантируется только при использовании учётной записи, отличной от root.
Раздел содержит инструкции, которые необходимо выполнить, чтобы платформа могла корректно подключаться к узлам кластера. Авторизация платформы на узлах кластера осуществляется по SSH-ключу.
Уровень защищённости "Орёл"
- Добавьте публичный SSH-ключ сервера с платформой в файл /home/<username>/.ssh/authorized_keys, где <username> — имя пользователя, под которым платформа будет подключаться к серверу. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: раздел Узлы → кнопка Подключить узел → кнопка Хочу использовать публичный ssh-ключ.
Установите права для файла /home /<username>/.ssh/authorized_keys:
sudo chmod 600 /home/<username>/.ssh/authorized_keys
BASHsudo chown <username> /home/<username>/.ssh/authorized_keys
BASH<username> — имя пользователя для подключения
Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.
В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя:
%astra-admin ALL=(ALL:ALL) NOPASSWD: ALL %sudo ALL=(ALL:ALL) NOPASSWD: ALL
CODE- Подключите узел кластера по инструкции из статьи Управление серверами кластера.
Настройте права пользователя для подключения:
sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
BASH<username> — имя пользователя для подключения
Уровень защищённости "Воронеж"
Для создания ВМ с ОС Windows платформа использует директорию /opt/ispsystem/vm/tmp. В этой директории создаётся временный конфигурационный файл для установки ОС. После установки ОС файл удаляется.
Платформа автоматически создаст эту директорию и установит необходимые мандатные атрибуты при подключении узла.
Убедитесь, что службы astra-sudo-control, astra-nochmodx-lock, astra-interpreters-lock отключены:
sudo astra-sudo-control disable
BASHsudo astra-nochmodx-lock disable
BASHsudo astra-interpreters-lock disable
BASHСоздайте директорию для хранения ВМ (например, /vm) и установите для неё мандатные атрибуты:
sudo mkdir /vm && sudo pdpl-file 0:63:0:ccnr /vm
BASH/vm — имя директории
Добавьте в файл /home/<username>/.ssh/authorized_keys публичный SSH-ключ сервера с платформой. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: Узлы → Подключить узел → кнопка Хочу использовать публичный ssh-ключ .
Установите права для файла /home /<username>/.ssh/authorized_keys:
sudo chmod 600 /home/<username>/.ssh/authorized_keys
BASHsudo chown <username> /home/<username>/.ssh/authorized_keys
BASH<username> — имя пользователя для подключения
Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.
В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя:
%astra-admin ALL=(ALL:ALL) NOPASSWD: ALL %sudo ALL=(ALL:ALL) NOPASSWD: ALL
CODE- Подключите узел кластера по инструкции из статьи Управление серверами кластера.
Настройте права пользователя для подключения:
sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
BASHsudo pdpl-user -i 63 <username>
BASH<username> — имя пользователя для подключения