Установка пакетов
Установить пакет tftpd-hpa. Установить его можно из графического менеджера пакетов, или из командной строки командой:
Настройка tftp-hpa
Настройки пакета хранятся в файле /etc/default/tftpd-hpa. Приведём его к следующему виду (жирным шрифтом выделены рекомендованные к добавлению параметры):
TFTP_USERNAME=»tftp»
TFTP_DIRECTORY=»/srv/tftp»
TFTP_ADDRESS=»0.0.0.0:69″ TFTP_OPTIONS=»–secure»
TFTP_OPTIONS=»—ipv4 —secure —create —umask 027 —permissive«
В настройках указаны дополнительные опции:
Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /srv/tftp.
Чтобы сервис начал работу с новыми настройками, его нужно перезапустить:
Размещение данных для загрузки
Создать директорию с репозиторием и примонтировать туда установочный диск:
В этой директории создать файл default . Содержимое файла default для полной автоматизации должно содержать параметры, передаваемые файлу preseed.cfg:
DEFAULT astra LABEL astra kernel linux append initrd=initrd.gz vga=788 auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=ftp://10.0.2.254/preseed.cfg interface=auto netcfg/dhcp_timeout=60 TIMEOUT 5
В примере выше предполагается, что IP-адрес сервера для загрузки 10.0.2.254
Файл preesed.cfg из вложения является образцом. Его применение уничтожит все данные на носителе без запроса подтверждения.
Подготовленный файл ответов preseed.cfg положить в директорию /srv/ftp.
В файле preseed.cfg с помощью текстового редактора указать источник, из которого должны будут скачиваться пакеты при установке, например репозиторий на сервере Яндекс (адрес сервера и путь к репозиторию выделены жирным шрифтом):
# Если вы выберете ftp, то mirror/country string устанавливать не нужно.
d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/ftp/hostname string ### mirror.yandex.ru
d-i mirror/ftp/directory string /astra/current/orel/repository
d-i mirror/ftp/proxy string
Выставить права на этот файл:
Получить файл ответов можно выполнив команду:
На машине, на которую будет произведена установка ОС, выставить загрузку по сети.
Подготовка инфраструктуры PXE на Astra Linux
PXE (англ.Preboot eXecution Environment) — среда для загрузки компьютеров с помощью сетевой карты без использования жестких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы.
Подробная информация об автоматической установке с помощью списка ответов: https://www.debian.org/releases/stretch/s390x/apbs01.html.ru
Введение
Предполагается, что для выполнения загрузки по сети используется следующая конфигурация оборудования:
- все компьютеры находятся в одной локальной сети (в одном широковещательном домене);
- в этой сети имеются:
- настроенный DHCP-сервер, выдающий клиентским компьютерам не только сетевые IP-адреса, но и другие сетевые параметры (в частности, IP-адрес TFTP-сервера, с которого будет загружаться установочный образ). Далее для примера приводится установка и настройка DHCP-сервера, однако если в сети уже имеется собственный DHCP-сервер, то следует выполнить его настройку в соответствии с приведенными в статье инструкциями ;
- настроенный TFTP сервер, с которого можно загрузить установочные данные и файлы для первичной загрузки:
- tftp://192.168.56.1/se
- tftp://192.168.56.1/ce
Это не совсем обычные репозитории пакетов: в обычных репозиториях пакетов нет загрузочных модулей ядра.
Чтобы необходимые модули были доступны при сетевой установке проще всего использовать в качестве разделяемых сетевых ресурсов примонтированные установочные диски (образы дисков).В составе инфраструктуры используются РАЗНЫЕ источники данных, работающие по РАЗНЫМ протоколам, расположенные в РАЗНЫХ местах файловой системы, и, возможно, даже на разных серверах:
- в первом случае это источник установочных файлов и и файлов для первичной загрузки, работающий по протоколу TFTP. Далее в примерах эти данные размещаются в каталоге /srv/tftp/;
- во втором случае (репозитории пакетов), работающий по протоколу HTTP (или FTP). Размещается, например, в каталоге /srv/repo или в каталоге /var/www/html/repo или доступен пр сети. Подробнее про создание и настройку таких репозиториев см. Создание локальных и сетевых репозиториев.
Для упрощения изложения далее предполагается, что сетевые службы DHCP, TFTP, HTTP располагаются на одном и том же компьютере. При необходимости эти службы могут быть установлены на разных компьютерах
- клиент подключается к сети и запрашивает IP-адрес, передавая в запросе информацию о собственной конфигурации;
- DHCP-сервер назначает клиенту IP-адрес и вместе с назначенным адресом передаёт клиенту дополнительные сетевые параметры, в том числа IP-адрес TFTP-сервера с необходимыми файлами сценариев установки;
- клиент подключается к TFTP-серверу и загружает файлы со сценариями установки;
- клиент выполняет установку в соответствии с полученными сценариями.
Установка выполняется с заранее заданными фиксированными именами (имя хоста, имя пользователя, пароль пользователя). Рекомендуется после установки сменить имена и пароли.
Установка и настройка сервера PXE
Установка пакетов
Установить необходимые пакеты:
- tftpd-hpa — TFTP-server;
- pxelinux — загрузчик для сетевой загрузки PXE;
- syslinux — загрузчик для сетевой загрузки DOS FAT / NTFS;
Настройка службы TFTP
Служба tftpd после установки запускается автоматически и сразу предоставляет доступ к каталогу /srv/tftp/, в котором далее и будут размещены файлы для сетевой загрузки.
Установка и настройка службы DHCP
Создание собственой службы DHCP требуется только в том случае, если в сети нет уже такой действующей службы. Если в сети уже имеется служба DHCP (DHCP-сервер), то следует внести в его настройку указанные ниже параметры в соответствии его с инструкциями по эксплуатации.
Для создания собственного DHCP-сервера:
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
Независимо от использующейся службы DHCP для загрузки по сети нужны следующие файлы:
Эти файлы находятся на установочном диске в каталоге netinst и для того, чтобы они могли быть переданы клиентам, они должны быть скопированы в каталог /srv/tftp/.
- Для 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/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/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
При использовании приведенного выше файла по умолчанию загрузка клиента выполняется с локального жесткого диска. Это сделано для предотвращения повторной автоматической установки после завершения первой установки, или случайной установки на компьютер с уже установленной ОС, подключенный к этой же сети.
- hostname — имя хоста, которое будет использовано при автоматической установке ОС;
- domain — имя домена ;
- url — адрес, по которому должны быть доступны конфигурационные файлы. В данном примере используется протокол TFTP, однако можно использовать FTP или HTTP (файлы при этом должны быть размещены в соответствующих локациях).
- append . astra_install=1 — параметр ядра astra_install=1 необходим для корректной установки Astra Linux Special Edition с включенным МКЦ.
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 >