2.1.10.4.2 Подготовка PXE-сервера для развертывания РЕД ОС с загрузкой в UEFI или Legacy в РЕД ОС 7.3
Скачать документДля успешной загрузки среды установки РЕД ОС PXE-клиент должен располагать как минимум 3 ГБ оперативной памяти.
Вы можете подробнее ознакомиться с информацией по установке и настройке PXE-сервера, просмотрев наши обучающие видео:
на RuTube — Настройка PXE с аутентификацией и KICKSTART;
в Яндекс.Дзен — Настройка PXE с аутентификацией и KICKSTART;
в VK Видео — Настройка PXE с аутентификацией и KICKSTART.
На наших каналах вы также сможете найти много другой полезной информации.
1. Сначала установите необходимые пакеты на сервер. Для этого перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install dhcp tftp-server syslinux httpd dnf-plugins-core
Здесь и далее команды будут выполняться с правами пользователя root, если не указано иное.
2. Создайте следующие каталоги:
mkdir /var/lib/tftpboot/pxelinux.cfg mkdir /var/lib/tftpboot/uefi mkdir -p /var/lib/tftpboot/images/REDOS
3. Следующей командой скопируйте файлы для запуска установки РЕД ОС в режиме legacy через PXE:
cp /usr/share/syslinux/{chain.c32,mboot.c32,memdisk,menu.c32,pxelinux.0,ldlinux.c32,libutil.c32} /var/lib/tftpboot/ chmod 777 /var/lib/tftpboot/pxelinux.0
4. Скопируйте файлы для UEFI режима установки РЕД ОС в каталог /var/lib/tftpboot/uefi.
Для этого выполните последовательность команд:
dnf download shim-x64 grub2-efi-x64 --downloaddir=/root/ cd /root/ rpm2cpio shim-x64-*.rpm | cpio -dimv rpm2cpio grub2-efi-x64-*.rpm | cpio -dimv cp ./boot/efi/EFI/BOOT/BOOTX64.EFI /var/lib/tftpboot/uefi cp ./boot/efi/EFI/redos/grubx64.efi /var/lib/tftpboot/uefi chmod 777 /var/lib/tftpboot/uefi/*.*
5. Подключите загрузочный USB-носитель с РЕД ОС 7.3 и скопируйте его содержимое в каталог /var/lib/tftpboot/images/REDOS:
cp -vR "/run/media/user/redos-MUROM-7.3.2 x86_64/." /var/lib/tftpboot/images/REDOS
Также возможен вариант копирования из iso-образа.
Смонтируйте образ:
mount -t iso9660 -o loop redos-MUROM-7.3.2-20221027.0-Everything-x86_64-DVD1.iso /mnt/
Скопируйте все содержимое в каталог /var/lib/tftpboot/images/REDOS/:
cp -vR /mnt/* /var/lib/tftpboot/images/REDOS/
Размонтируйте образ:
umount /mnt/
6. Конфигурирование DHCP-сервера.
В файле /etc/dhcp/dhcpd.conf укажите свои значение для вашей подсети, а именно шлюз и выдаваемый диапазон IP-адресов. Параметру next-server назначается IP-адрес DHCP-сервера.
Зеленым цветом выделены сетевые параметры для изменения под вашу конфигурацию сети.
nano /etc/dhcp/dhcpd.conf
non-authoritative;
allow bootp;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
range 192.168.2.70 192.168.2.80;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.2.10;
if option architecture-type = 00:07 {
filename "uefi/grubx64.efi";
}
else {
filename "pxelinux.0";
}
}
}
Запустите службу dhcpd:
systemctl enable dhcpd --now
7.1 Создайте загрузочное меню для установки в режиме legacy с использованием PXE:
nano /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
PROMPT 0
TIMEOUT 150
MENU TITLE PXE Menu
LABEL REDOS 7.3
MENU LABEL REDOS 7.3
KERNEL images/REDOS/images/pxeboot/vmlinuz
APPEND initrd=images/REDOS/images/pxeboot/initrd.img ramdisk_size=128000 ip=dhcp inst.repo=http://192.168.2.10/images/REDOS/
7.2 Создайте загрузочное меню для установки в режиме UEFI с использованием PXE:
nano /var/lib/tftpboot/uefi/grub.cfg
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
menuentry 'REDOS 7.3' {
linux images/REDOS/images/pxeboot/vmlinuz ip=dhcp inst.repo=http://192.168.2.10/images/REDOS/
initrd images/REDOS/images/pxeboot/initrd.img
}
8. Конфигурирование web-сервера httpd.
WEB-сервер используется для публикации файлов дистрибутива РЕД ОС в локальной сети.
Создайте файл:
nano /etc/httpd/conf.d/pxeboot.conf
Alias /images /var/lib/tftpboot/images
<Directory /var/lib/tftpboot/images>
Options Indexes FollowSymLinks
Require ip 127.0.0.1 192.168.2.0/24
</Directory>
Запустите службу httpd:
systemctl enable httpd --now
9. Настройка и запуск службы tftp.
Откройте файл:
nano /usr/lib/systemd/system/tftp.service
и добавьте строку в секцию [Install]:
WantedBy=multi-user.target
Откройте файл:
nano /usr/lib/systemd/system/tftp.socket
измените строку ListenDatagram=69
на ListenDatagram=0.0.0.0:69
, чтобы запустить tftp на 69 порту по IPv4-протоколу. По умолчанию порт публикуется на IPv6.
[Unit]
Description=Tftp Server Activation Socket
[Socket]
ListenDatagram=0.0.0.0:69
[Install]
WantedBy=sockets.target
После изменения модулей systemd их нужно инициализировать:
systemctl daemon-reload
Добавьте службу tftp в автозапуск:
systemctl enable tftp --now
Если selinux находится в статусе enforcing, то создайте модуль политики безопасности selinux, для разрешения доступа с клиентов к web-серверу, который участвует в установке РЕД ОС по сети.
ausearch -c 'httpd' --raw | audit2allow -M my-httpd semodule -i my-httpd.pp
Дата последнего изменения: 04.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.