Дерево страниц

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1

  • Astra Linux Common Edition 2.12

Внимание!

  1. Установка Astra Linux в автоматическом режиме означает автоматическое принятие лицензионного соглашения (см. Лицензионные соглашения и политика лицензирования ГК Astra Linux).
  2. При установке в автоматическом режиме Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) и Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) выбор уровня защищенности должен осуществляться в соответствии с условиями действующего лицензионного договора. Подробнее про уровни защищенности см.  Astra Linux Special Edition (очередное обновление x.7): Ключевые изменения в комплексе средств защиты информации.

PXE (англ.Preboot eXecution Environment) — среда для загрузки компьютеров с помощью сетевой карты без использования жестких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы.
Подробная информация об автоматической установке с помощью списка ответов: Установка Astra Linux по сети (UEFI или Legacy BIOS).

Введение

Предполагается, что для выполнения загрузки по сети используется следующая конфигурация оборудования:

  • Все компьютеры находятся в одной локальной сети (в одном широковещательном домене).
  • В этой сети имеются:
    • Настроенный DHCP-сервер, выдающий клиентским компьютерам не только сетевые IP-адреса, но и другие сетевые параметры (в частности, IP-адрес TFTP-сервера, с которого будет загружаться установочный образ). Далее для примера приводится установка и настройка DHCP-сервера, однако если в сети уже имеется собственный DHCP-сервер, то следует выполнить его настройку в соответствии с приведенными в статье инструкциями.
    • Настроенный TFTP сервер, с которого можно загрузить установочные данные и файлы для первичной загрузки:
    • Настроенные разделяемые сетевые ресурсы, из которых можно загружать пакеты. Для загрузки могут использоваться протоколы FTP или HTTP.

      Это не совсем обычные репозитории пакетов: в обычных репозиториях пакетов нет загрузочных модулей ядра.
      Чтобы необходимые модули были доступны при сетевой установке проще всего использовать в качестве разделяемых сетевых ресурсов примонтированные установочные диски (образы дисков).

      Для примера используются HTTP-репозитории:

В составе инфраструктуры используются РАЗНЫЕ источники данных, работающие по РАЗНЫМ протоколам, расположенные в РАЗНЫХ местах файловой системы, и, возможно, даже на разных серверах:


Для упрощения изложения далее предполагается, что сетевые службы DHCP, TFTP, HTTP располагаются на одном и том же компьютере. При необходимости эти службы могут быть установлены на разных компьютерах

Как это работает:

  1. Компьютер-клиент подключается к сети и запрашивает IP-адрес, передавая в запросе информацию о собственной конфигурации.
  2. DHCP-сервер выделяет и передает компьютеру-клиенту IP-адрес. Вместе с адресом передаются дополнительные сетевые параметры, в том числе IP-адрес TFTP-сервера с необходимыми для установки ОС файлами.
  3. Компьютер-клиент подключается к TFTP-серверу и загружает файлы для установки ОС.
  4. Компьютер-клиент выполняет установку ОС используя полученные файлы.


Установка ОС выполняется с заранее заданными фиксированными именами (имя хоста, имя пользователя, пароль пользователя). Рекомендуется после установки сменить имена и пароли.

Установка и настройка сервера PXE

Установка пакетов

Установить необходимые пакеты:

sudo apt install tftpd-hpa pxelinux syslinux
Где:

  • tftpd-hpa - TFTP-server;
  • pxelinux - загрузчик для сетевой загрузки PXE;
  • syslinux - загрузчик для сетевой загрузки DOS FAT / NTFS;
  • дополнительно может понадобиться установить и настроить сервер времени (если в сети не доступен ранее настроенный сервер), подробнее см. статью Службы синхронизации времени в Astra Linux

Настройка службы TFTP

Служба tftpd после установки запускается автоматически и сразу предоставляет доступ к каталогу /srv/tftp/, в котором далее и будут размещены файлы для сетевой загрузки.

Установка и настройка службы DHCP

Создание собственной службы DHCP требуется только в том случае, если в сети нет уже такой действующей службы. Если в сети уже имеется служба DHCP (DHCP-сервер), то следует внести в его настройку указанные ниже параметры в соответствии его с инструкциями по эксплуатации.

Для создания собственного DHCP-сервера:

  1. Установить пакет:

    sudo apt install isc-dhcp-server

  2. Настроить пакет:

    1. В файле /etc/default/isc-dhcp-server:

      INTERFACESv4="eth0"
    2. Настроить конфигурацию в файле /etc/dhcp/dhcpd.conf. В данной конфигурации dhcp сервер будет определять тип клиента (UEFI или Legacy BIOS) и передавать ему нужный загрузчик:

      authoritative;
      option domain-name "my.dom";
      default-lease-time 600;
      max-lease-time 7200;
      log-facility local7;
      option domain-name-servers 8.8.8.8;
      allow booting;
      allow bootp;
      option fqdn.no-client-update    on;  
      option fqdn.rcode2            255;
      option pxegrub code 150 = text ;
      
      next-server 192.168.56.1; 
      option architecture code 93 = unsigned integer 16 ;
      if option architecture = 00:07 {
        filename "bootx64.efi"; 
      } elsif option architecture = 00:09 {
        filename "bootx64.efi";
      } else {
        filename "pxelinux.0"; 
      }
      
      subnet 192.168.56.0 netmask 255.255.255.0 {
          range 192.168.56.20 192.168.56.250;
          option broadcast-address 192.168.56.255;
          option routers 192.168.56.1;
          option subnet-mask 255.255.255.0;
      }  
    3. После внесения изменений в настройки перезапустить службу:

      sudo systemctl restart isc-dhcp-server

Независимо от использующейся службы DHCP для загрузки по сети нужны следующие файлы:

  • pxelinux.0;
  • библиотеки syslinux;
  • ядро ОС;
  • специальный initrd.

Эти файлы находятся на установочном диске в каталоге netinst и для того, чтобы они могли быть переданы клиентам, они должны быть скопированы в каталог /srv/tftp/.

Для копирования файлов:

  1. Для Astra Linux Special Edition (в примере ниже предполагается, что основной установочный диск находится в приводе компакт дисков) это копирование сделать командами:

    sudo mkdir -p       /srv/repo/se/
    sudo mount /dev/sr0 /srv/repo/se/
    sudo mkdir -p                                /srv/tftp/se/
    sudo cp /srv/repo/se/netinst/linux     /srv/tftp/se/
    sudo cp /srv/repo/se/netinst/initrd.gz /srv/tftp/se/

    Для Astra Linux Common Edition, если образ установочного диска находится в файле ce212.iso:

    sudo mkdir -p       /srv/repo/ce/
    sudo mount ce212.iso /srv/repo/ce
    sudo mkdir -p                            /srv/tftp/ce/
    sudo cp /srv/repo/ce/netinst/linux     /srv/tftp/ce/
    sudo cp /srv/repo/ce/netinst/initrd.gz /srv/tftp/ce/

  2. Скопировать в каталог /srv/tftp файл pxelinux.0 и необходимые библиотеки syslinux из установленной ОС:

    sudo cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftp/
    sudo cp /usr/lib/syslinux/modules/bios/{chain.c32,ldlinux.c32,libcom32.c32,libutil.c32,menu.c32} /srv/tftp/

  3. Создать каталог /srv/tftp/pxelinux.cfg/:

    sudo mkdir -p /srv/tftp/pxelinux.cfg

  4. Создать в этом каталоге файл /srv/tftp/pxelinux.cfg/default. Пример содержимого файла:

    Содержимое файла может зависеть от аппаратной конфигурации компьютеров, на которых выполняется установке.

  5. ui menu.c32
    PROMPT 0
     
    MENU TITLE PXE Boot menu
    TIMEOUT 50
    DEFAULT local
      
    LABEL local
        MENU LABEL Boot from local drive
        kernel chain.c32
        append hd0
    # Astra Linux Special Edition
    LABEL netinstall
        MENU LABEL Start Astra Linux SE net install
        kernel se/linux
        append initrd=se/initrd.gz modprobe.blacklist=evbug auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=se16 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/se/preseed.cfg interface=auto netcfg/dhcp_timeout=60 astra_install=1 vga=788 debian-installer/allow_unauthenticated=true nomodeset
    # Astra Linux Common Edition
    LABEL netinstall
        MENU LABEL Start Astra Linux CE net install
        kernel ce/linux
        append initrd=ce/initrd.gz modprobe.blacklist=evbug auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=ce212 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/ce/preseed.cfg interface=auto netcfg/dhcp_timeout=60 vga=788 debian-installer/allow_unauthenticated=true nomodeset
    При использовании приведенного выше файла по умолчанию загрузка клиента выполняется с локального жесткого диска. Это сделано для предотвращения повторной автоматической установки после завершения первой установки, или случайной установки на компьютер с уже установленной ОС, подключенный к этой же сети.

    Важные параметры:

    1. hostname - имя хоста, которое будет использовано при автоматической установке ОС;

    2. domain - имя домена ;

    3. url - адрес, по которому должны быть доступны конфигурационные файлы. В данном примере используется протокол TFTP, однако можно использовать FTP или HTTP (файлы при этом должны быть размещены в соответствующих локациях).

    4. append ... astra_install=1 - параметр ядра astra_install=1 необходим для корректной установки Astra Linux Special Edition с включенным МКЦ.

  6. Для загрузки в режиме UEFI служит специальный EFI образ загрузчика grub. Для его установки:

    1. Загрузить архив с образом с помощью web-браузера по ссылке: скачать. По умолчанию архив будет сохранен в подкаталоге Загрузки домашнего каталога;

    2. Распаковать архив Загрузки/netinst.tar.gz в каталог /srv/tftp:

      sudo tar xvf Загрузки/netinst.tar.gz -C /srv/tftp

    3. Отредактировать конфигурационный файл /srv/tftp/debian-installer/amd64/grub/grub.cfg:

      if loadfont $prefix/font.pf2 ; then
        set gfxmode=800x600
        set gfxpayload=keep
        insmod efi_gop
        insmod efi_uga
        insmod video_bochs
        insmod video_cirrus
        insmod gfxterm
        insmod png
        terminal_output gfxterm
      fi
      
      if background_image /isolinux/splash.png; then
        set color_normal=light-gray/black
        set color_highlight=white/black
      else
        set menu_color_normal=cyan/blue
        set menu_color_highlight=white/blue
      fi
      
      menuentry "Boot default EFI bootloader" {
       set background_color=black
       regexp -s root '\((.+)\)' "$cmdpath"
       chainloader /EFI/Boot/Bootx64.efi
      }
      
      # Установка Astra Linux Special Edition
      menuentry 'Install Astra Linux SE' {
          set background_color=black
          linux    /se/linux modprobe.blacklist=evbug debian-installer/allow_unauthenticated=true auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/se/preseed.cfg interface=auto netcfg/dhcp_timeout=60 nomodeset
          initrd   /se/initrd.gz
      }
      # Установка Astra Linux Common Edition
      menuentry 'Install Astra Linux CE' {
          set background_color=black
          linux    /ce/linux modprobe.blacklist=evbug debian-installer/allow_unauthenticated=true auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/ce/preseed.cfg interface=auto netcfg/dhcp_timeout=60 nomodeset
          initrd   /ce/initrd.gz
      }
      
      

      При редактировании следует указать правильное имя домена и пути поиска файлов. При этом, несмотря на указание в имени пути протокола FTP, в самом деле используется протокол TFTP, что следует учесть, указывая имя файла. По умолчанию в файле задана загрузка образа EFI из EFI/Boot/Bootx64.efi (на некоторых системах может быть иначе). Это сделано для того, чтобы избежать повторной автоматической установки после завершения первой установки, или случайной установки на компьютер с уже установленной ОС, подключенный к этой же сети;

  7. Перезапустить службы:

    sudo systemctl restart isc-dhcp-server # если используется
    sudo systemctl restart tftpd-hpa

  • Нет меток