Статья содержит порядок подготовки сервера с ОС Astra Linux Special Edition для установки платформы и настройки узлов кластера. Чтобы приобрести ОС Astra Linux Special Edition, обратитесь к любому из официальных партнёров "Группы Астра".

Если на сервере уже установлена ОС Astra Linux, переустановите ОС и выполните её настройку по инструкциям из этой статьи.  

Для корректной работы платформы выполняйте только те настройки, которые указаны в этой статье. Корректная работа платформы с другими настройками ОС не гарантируется.

Установка ОС


Для установки Astra Linux Special Edition 1.8.1 используйте один из дистрибутивов:

  • Astra Linux 1.8.1.UU1 (версия 1.8.1.12) с debian_installer. Файл ISO-образа — installation-1.8.1.12-29.08.24_15.37-di.iso;
  • Astra Linux 1.8.1.UU2 (версия 1.8.1.16) с debian_installer. Файл ISO-образа — installation-1.8.1.16-27.12.24_15.22-di.iso.

Для установки Astra Linux Special Edition 1.8.3 используйте дистрибутив версии 1.8.3.7 с debian_installer. Файл ISO-образа — installation-1.8.3.7-30.07.25_11.19-di.iso.

Вы можете использовать один диск для ОС и платформы либо установить ОС на отдельный диск. Укажите максимально возможный объём диска для корневого раздела.

При установке операционной системы:

  1. На шаге Установка базовой системы выберите Ядро для установки:
    • для версии 1.7.4 — linux-5.15-generic;
    • для версии 1.8.1 — linux-6.6-generic;
    • для версии 1.8.3 — linux-6.12-generic.
  2. На шаге Выбор программного обеспечения:
    1. Выберите следующие компоненты:
      1. Консольные утилиты.
      2. Средства удаленного подключения SSH.

    2. Убедитесь, что остальные компоненты отключены.
      Корректные настройки ПО

      Корректная настройка параметров

  3. На шаге Дополнительные настройки ОС:
    1. Выберите уровень защищенности "Орел" или "Воронеж".
    2. Убедитесь, что отключены опции:
      1. Замкнутая программная среда.
      2. Запрос пароля для команды sudo.
      3. Запрет установки бита исполнения.
      4. Запрет исполнения скриптов пользователя.

        Если эти опции остались включены, после установки ОС отключите их командами: 

        sudo astra-digsig-control disable
        sudo astra-sudo-control disable
        sudo astra-nochmodx-lock disable
        sudo astra-interpreters-lock disable
        BASH

        Если вы выбрали уровень защищённости "Воронеж", рекомендуем отключить опцию "Очистка освобождаемой внешней памяти". Эта опция значительно увеличивает нагрузку на CPU и время выполнения некоторых операций. 

        Корректная настройка параметров

Настройка ОС на сервере с платформой


  1. Перейдите в режим суперпользователя: 

    sudo su -
    BASH
  2. Настройте список источников в файле /etc/apt/sources.list:

    • для установки в закрытом контуре укажите только источник cdrom и вставьте установочный диск в DVD-привод. Остальные источники должны быть удалены или закомментированы:

      Пример файла для Astra Linux Special Edition 1.7.4

      deb cdrom:[OS Astra Linux 1.7.4 1.7_x86-64 DVD]/ 1.7_x86-64 contrib main non-free
      CODE

      Пример файла для Astra Linux Special Edition 1.8.1

      deb cdrom:[OS Astra Linux 1.8.1 1.8_x86-64 DVD]/ 1.8_x86-64 contrib main non-free
      CODE

      Пример файла для Astra Linux Special Edition 1.8.3

      deb cdrom:[OS Astra Linux 1.8.3 1.8_x86-64 DVD]/ 1.8_x86-64 contrib main non-free
      CODE
    • для установки в открытом контуре укажите только источники из поддерева Frozen для нужной версии ОС. Подробнее о поддереве Frozen см. в документации Astra Linux:

      • Интернет-репозитории Astra Linux Special Edition x.7

      • Интернет-репозитории Astra Linux Special Edition x.8
        Остальные источники должны быть удалены или закомментированы:  

        Пример файла для Astra Linux Special Edition 1.8.3 (installation-1.8.3.7-30.07.25_11.19-di.iso)

        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.3/repository-main/ 1.8_x86-64 main contrib non-free
        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.3/repository-extended/ 1.8_x86-64 main contrib non-free
        CODE

        Пример файла для Astra Linux Special Edition 1.8.1 uu2 (installation-1.8.1.16-27.12.24_15.22-di.iso)

        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.1/uu/2/repository-main/ 1.8_x86-64 main contrib non-free
        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.1/uu/2/repository-extended/ 1.8_x86-64 main contrib non-free
        CODE

        Пример файла для Astra Linux Special Edition 1.8.1 uu1 (installation-1.8.1.12-29.08.24_15.37.iso)

        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.1/uu/1/repository-main/ 1.8_x86-64 main contrib non-free
        deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/1.8.1/uu/1/repository-extended/ 1.8_x86-64 main contrib non-free
        CODE

        Пример файла для 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/1/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/1/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/1/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/1/repository-update/ 1.7_x86-64 main contrib non-free
        CODE
  3. В файле /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
  4. Если платформа будет использоваться в открытом информационном контуре (с доступом к Интернет), создайте файл /etc/resolv.conf и укажите в нём настройки DNS-серверов:

    Пример настройки

    nameserver 77.88.8.8
    nameserver 1.1.1.1
    options timeout:1
    options attempts:2
    CODE

    Если сервис NetworkManager управляет настройками DNS, он может удалить файл /etc/resolv.conf. Чтобы отключить управление DNS, добавьте в раздел main файла /etc/NetworkManager/NetworkManager.conf строку: 

    dns=none
    CODE
  5. Перезапустите службу networking

    sudo systemctl restart networking
    BASH
  6. Проверьте доступность сети.

Настройка системного времени


На сервере платформы и узлах кластера настройте ПО chrony для синхронизации системного времени с NTP-сервером. Подробнее см. в документации Astra Linux

Настройка сети на узлах кластера


Порядок настройки зависит от версии ОС:

  • Astra Linux 1.7.4 — настройте сеть с помощью службы networking. При подключении узла платформа перенесёт настройки сетевых интерфейсов в службу NetworkManager;
  • Astra Linux 1.8.1. 1.8.3 — настройте сеть с помощью службы NetworkManager.

Настройка для Astra Linux 1.7.4

  1. В файле /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
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
        bond-master bond0
    
    auto eth1
    iface eth1 inet manual
        bond-master bond0
    
    auto bond0
    iface bond0 inet manual
        bond-mode 802.3ad
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 200
        bond-xmit-hash-policy layer3+4
        bond-slaves eth0 eth1
    
    auto bond0.118
    iface bond0.118 inet manual
        vlan-raw-device bond0
    
    auto vmbr0
    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
        bridge_fd 0
    CODE
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # Bonding configuration
    auto bond0
    iface bond0 inet manual
        bond-mode active-backup
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 150
        bond-primary eno1
        bond-slaves eno1 eno2
    
    # Physical interfaces
    auto eno1
    iface eno1 inet manual
        bond-master bond0
    
    auto eno2
    iface eno2 inet manual
        bond-master bond0
    
    # VLAN 90 configuration
    auto bond0.90
    iface bond0.90 inet manual
        vlan-raw-device bond0
    
    # Bridge configuration
    auto vmbr90
    iface vmbr90 inet static
        address 172.16.90.11
        netmask 255.255.255.192
        gateway 172.16.90.1
        bridge_ports bond0.90
        bridge_stp off
        dns-nameservers <IP-адреса DNS-серверов>
        dns-search <доменное имя сервера>
    CODE

    В такой конфигурации:

    • бонд будет объединять два сетевых slave-интерфейса;
    • сетевой интерфейс eno1 будет выступать в роли "Currently Active Slave";
    • через бридж будет проходить трафик с тегом VLAN 90.
    auto 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
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0 eth1 bond0
    iface eth0 inet manual
    iface eth1 inet manual
    
    iface bond0 inet static
        address 172.22.18.74
        netmask 255.255.255.0
        gateway 172.22.18.1
        bond-mode 802.3ad
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 200
        bond-xmit-hash-policy 1
        bond-slaves eth0 eth1
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
        bond-master bond0
    
    auto eth1
    iface eth1 inet manual
        bond-master bond0
    
    auto bond0
    iface bond0 inet manual
        bond-mode 802.3ad
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 200
        bond-xmit-hash-policy layer3+4
        bond-slaves eth0 eth1
    
    auto bond0.118
    iface bond0.118 inet manual
        vlan-raw-device bond0
    
    auto vmbr0
    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
        bridge_fd 0
    CODE

    Подробнее о сетевых настройках см. в статьях Настройки сети на узле кластера и Режимы работы бондов.

  2. Если конфигурация содержит бонд, установите пакет ПО ifenslave
    sudo apt install ifenslave
    BASH
  3. Если конфигурация содержит бридж, установите пакет ПО bridge-utils
    sudo apt install bridge-utils
    BASH
  4. Перезапустите службу networking

    sudo systemctl restart networking
    BASH
  5. Проверьте настройки сети: 

    ip -c a
    BASH
  6. Проверьте доступность узла со стороны сервера с платформой:
    1. Подключитесь к серверу с платформой по SSH.
    2. Выполните команду:
      ping <IP-адрес узла>
      CODE

При добавлении узла платформа:

  1. Импортирует настройки сетевых интерфейсов из файла /etc/network/interfaces в сервис NetworkManager.
  2. Отправляет ICMP-запросы на проверочный IP-адрес, заданный в настройках кластера:
    • если IP-адрес недоступен, возвращает исходные сетевые настройки;
    • если проверка прошла успешно, выполняет настройку сети.

Импорт настроек не будет выполняться, если при добавлении узла включить опцию Не настраивать сеть автоматически.

После настройки сети в файле /etc/network/interfaces остаётся только конфигурация loopback-интерфейса (lo). Дальнейшую настройку сети на узле кластера рекомендуется выполнять через интерфейс платформы или утилиту nmcli. При добавлении записей в файл /etc/network/interfaces возможен конфликт сетевых настроек.

Если на добавляемом узле кластера был вручную создан бридж или бонд, этот интерфейс будет отображаться в платформе как неуправляемый. Его нельзя отредактировать и удалить через интерфейс платформы.

Если узел был добавлен в платформе с версией ниже 2023.07.1, то его конфигурация будет перенесена в NetworkManager только после изменения настроек сети (например, добавления интерфейса) через интерфейс платформы.

Настройка для Astra Linux 1.8.1, 1.8.3

  1. Настройте сетевую конфигурацию с помощью утилиты nmcli. Примеры конфигураций: 

    Cервис NetworkManager может удалить настройки DNS из файла /etc/resolv.conf. Поэтому сетевая конфигурация должна содержать настройки DNS.

    1. Настройте интерфейс eth0: 
      sudo nmcli connection add type ethernet con-name eth0 ifname eth0 ip4 192.168.1.10/24 gw4 192.168.1.254 ipv4.dns "77.88.8.8 77.88.8.1" ipv4.dns-search domain.local
      CODE

    После выполнения команды создаётся статическая настройка для интерфейса eth0: 

    • IP-адрес — 192.168.1.10;
    • маска подсети — /24;
    • шлюз по умолчанию — 192.168.1.254;
    • DNS-серверы — 77.88.8.8, 77.88.8.1;
    • домен поиска — domain.local.
    1. Создайте интерфейс бонда bond0 в режиме агрегации 802.3ad: 
      sudo nmcli connection add type bond con-name bond0 bond.options "mode=802.3ad,xmit_hash_policy=layer3+4,miimon=100,downdelay=200,updelay=200" connection.autoconnect yes connection.interface-name bond0 ip4 192.168.1.10/24 gw4 192.168.1.254 ipv4.dns "77.88.8.8 77.88.8.1" ipv4.dns-search domain.local
      CODE
    2. Подключите интерфейсы eth0 и eth1 к бонду: 
      sudo nmcli connection add type ethernet ifname eth0 master bond0 slave-type bond con-name eth0
      sudo nmcli connection add type ethernet ifname eth1 master bond0 slave-type bond con-name eth1
      CODE

    После выполнения команд:

    • интерфейсы eth0 и eth1 объединяются в канал агрегации bond0. Используется режим агрегации LACP (802.3ad);
    • для интерфейса bond0 задаются настройки: IP-адрес 192.168.1.10; маска подсети /24; шлюз по умолчанию — 192.168.1.254; DNS-серверы — 77.88.8.8, 77.88.8.1; домен поиска — domain.local.
    1. Создайте VLAN-интерфейс eth0.118: 
      sudo nmcli connection add type vlan con-name eth0.118 ifname eth0.118 dev eth0 id 118 ip4 192.168.1.10/24 gw4 192.168.1.254 ipv4.dns "77.88.8.8 77.88.8.1" ipv4.dns-search domain.local
      CODE

    После выполнения команды:

    • создаётся виртуальная подсеть VLAN с id 118 и привязкой к интерфейсу eth0 (eth0.118);
    • для интерфейса eth0.118 задаются настройки: IP-адрес 192.168.1.10; маска подсети /24; шлюз по умолчанию — 192.168.1.254; DNS-серверы — 77.88.8.8, 77.88.8.1; домен поиска — domain.local.
    1. Создайте интерфейс бонда bond0 в режиме агрегации 802.3ad: 
      sudo nmcli connection add type bond con-name bond0 bond.options "mode=802.3ad,xmit_hash_policy=layer3+4,miimon=100,downdelay=200,updelay=200" connection.autoconnect yes connection.interface-name bond0
      CODE
    2. Подключите интерфейсы eth0 и eth1 к бонду:
      sudo nmcli connection add type ethernet ifname eth0 master bond0 slave-type bond con-name eth0
      sudo nmcli connection add type ethernet ifname eth1 master bond0 slave-type bond con-name eth1
      CODE
    3. Создайте VLAN-интерфейс bond0.118 поверх бонда: 
      sudo nmcli connection add type vlan con-name bond0.118 ifname bond0.118 dev bond0 id 118 ip4 192.168.1.10/24 gw4 192.168.1.254 ipv4.dns "77.88.8.8 77.88.8.1" ipv4.dns-search domain.local
      CODE

    После выполнения команд:

    • интерфейсы eth0 и eth1 объединяются в канал агрегации bond0. Используется режим агрегации LACP (802.3ad);
    • создаётся виртуальная подсеть VLAN с id 118 поверх канала агрегации (bond0.118);
    • для интерфейса bond0.118 задаются настройки: IP-адрес 192.168.1.10; маска подсети /24; шлюз по умолчанию — 192.168.1.254; DNS-серверы — 77.88.8.8, 77.88.8.1; домен поиска — domain.local.
    1. Создайте интерфейс бонда bond0 в режиме active-backup: 
      sudo nmcli connection add type bond ifname bond0 mode active-backup primary eth0 miimon 100 downdelay 200 updelay 150
      CODE
    2. Подключите интерфейсы eth0 и eth1 к бонду: 
      sudo nmcli connection add type ethernet ifname eth0 master bond0 slave-type bond con-name eth0
      sudo nmcli connection add type ethernet ifname eth1 master bond0 slave-type bond con-name eth1
      CODE
    3. Создайте VLAN-интерфейс bond0.118 поверх бонда: 
      sudo nmcli connection add type vlan con-name bond0.118 ifname bond0.118 dev bond0 id 118 ip4 192.168.1.10/24 gw4 192.168.1.254 ipv4.dns "77.88.8.8 77.88.8.1" ipv4.dns-search domain.local
      CODE

    После выполнения команд:

    • интерфейсы eth0 и eth1 объединяются в канал агрегации bond0. Основным устройством является eth0. Используется режим active-backup;
    • создаётся виртуальная подсеть VLAN с id 118 поверх канала агрегации (bond0.118);
    • для интерфейса bond0.118 задаются настройки: IP-адрес 192.168.1.10; маска подсети /24; шлюз по умолчанию — 192.168.1.254; DNS-серверы — 77.88.8.8, 77.88.8.1; домен поиска — domain.local.

    Подробнее о сетевых настройках см. в статьях Настройки сети на узле кластера и Режимы работы бондов.

  2. Обновите сетевую конфигурацию: 
    sudo nmcli connection reload
    CODE
  3. Проверьте настройки сети: 

    nmcli connection show
    BASH
  4. Проверьте доступность узла со стороны сервера с платформой: 
    1. Подключитесь к серверу с платформой по SSH.
    2. Выполните команду:
      ping <IP-адрес узла>
      CODE

Настройка подключения к узлам кластера


Раздел содержит инструкции, которые необходимо выполнить, чтобы платформа могла корректно подключаться к узлам кластера. Авторизация платформы на узлах кластера осуществляется по SSH-ключу.

Корректное подключение узла гарантируется только при использовании учётной записи, отличной от root.

Уровень защищённости "Орёл"

  1. Добавьте публичный SSH-ключ сервера с платформой в файл /home/<username>/.ssh/authorized_keys, где <username> — имя пользователя, под которым платформа будет подключаться к серверу. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: раздел Узлы → кнопка Подключить узел → кнопка Хочу использовать публичный ssh-ключ.   
  2. Установите права для файла /home /<username>/.ssh/authorized_keys:

    sudo chmod 600 /home/<username>/.ssh/authorized_keys
    BASH
    sudo chown <username> /home/<username>/.ssh/authorized_keys
    BASH

    <username> — имя пользователя для подключения

  3. Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.

  4. В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя: 

    %astra-admin ALL=(ALL:ALL) NOPASSWD: ALL
    %sudo ALL=(ALL:ALL) NOPASSWD: ALL
    CODE

Уровень защищённости "Воронеж"

Для создания ВМ с ОС Windows платформа использует директорию /opt/ispsystem/vm/tmp. В этой директории создаётся временный конфигурационный файл для установки ОС. После установки ОС файл удаляется. Платформа автоматически создаст эту директорию и установит необходимые мандатные атрибуты при подключении узла.

  1. Убедитесь, что службы astra-sudo-control, astra-nochmodx-lock, astra-interpreters-lock отключены: 

    sudo astra-sudo-control disable
    
    BASH
    sudo astra-nochmodx-lock disable
    
    BASH
    sudo astra-interpreters-lock disable
    BASH
  2. Создайте директорию для хранения ВМ (например, /vm) и установите для неё мандатные атрибуты

    sudo mkdir /vm && sudo pdpl-file 0:63:0:ccnr /vm
    BASH

    /vm — имя директории

  3. Добавьте в файл /home/<username>/.ssh/authorized_keys публичный SSH-ключ сервера с платформой. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: Узлы Подключить узел → кнопка Хочу использовать публичный ssh-ключ

  4. Установите права для файла /home /<username>/.ssh/authorized_keys:

    sudo chmod 600 /home/<username>/.ssh/authorized_keys
    BASH
    sudo chown <username> /home/<username>/.ssh/authorized_keys
    BASH

    <username> — имя пользователя для подключения

  5. Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.

  6. В файле /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> — имя пользователя для подключения

  • для ОС с уровнем защищённости "Воронеж" выполните на узле команды:
    sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
    BASH
    sudo pdpl-user -i 63 <username>
    BASH

    <username> — имя пользователя для подключения  

Может быть полезно

Статьи из базы знаний: