10.1 Настройка PXE с аутентификацией и KICKSTART

Подготовка к сетевой установке PXE
Настройка tftp на сервере
Настройка lighttp на сервере
Подготовка необходимых файлов для начальной загрузки на сервере
Дополнение
Автоматизация развертывания
Подготовка рабочей станции

Подготовка к сетевой установке PXE

Для сетевой установки на рабочих станциях в необходимо настроить DHCP сервер на машине.

Выполните команду:

# yum install dhcp

Создание конфигурационного файла:

# nano /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {# диапазон ip адресов организации
option subnet-mask 255.255.255.0;
option routers 192.168.1.38;#Ip машины с pxe
option broadcast-address 192.168.1.255;
range 192.168.1.100 192.168.1.201;
}
default-lease-time 600;
max-lease-time 7200;
allow booting;
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 192.168.1.38;
filename "/pxelinux.0";

Настройка tftp на сервере

Необходимо установить пакет TFTP и syslinux командой:

# yum install tftp-server syslinux

Изменить конфигурационный файл сервиса tftp, который размещается по адресу /usr/lib/systemd/system/tftp.service. Пропишите путь к каталогу, в котором будет развернут pxe сервер в переменную ExecStart, например -s /var/www/html/pxeboot/. Прежде чем вносить изменения в файл, создайте этот каталог командой:

# mkdir -p /var/lib/tftpboot/images/REDOS

пример файла /usr/lib/systemd/system/tftp.service:

[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot/
StandardInput=socket
[Install]
Also=tftp.socket

Далее необходимо перезапустить сервис tftp командой и добавить его в автозагрузку:

# systemctl daemon-reload
# systemctl restart tftp
# systemctl enable tftp

Настройка lighttp на сервере

Установите LIGHTTPD на сервер командой:

# yum install ligthtpd

В файл конфигурации /etc/lighttpd/lighttpd.conf вносятся следующие изменения:

var.server_root = "/var/lib/tftpboot"
server.use-ipv6 = "disable"
server.bind = "192.168.1.38"
server.document-root = server_root

Перезапустить сервис httpd командой и добавить его в автозагрузку:

# systemctl restart lighttpd
# systemctl enable lighttpd

Подготовка необходимых файлов для начальной загрузки на сервере

Для разворачивания установки PXE необходимо скопировать в каталог установки необходимые файлы, для этого выполните:

# cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
# cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/libutil.c32 /var/lib/tftpboot/

Выполните команду:

# mkdir -p /var/lib/tftpboot/pxelinux.cfg

Создаете файл меню с содержимым:

# nano /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
prompt 0
timeout 30
ONTIMEOUT local
MENU TITLE PXE Menu
LABEL REDOS 7.2
MENU LABEL REDOS 7.2
MENU PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
KERNEL images/REDOS/images/pxeboot/vmlinuz
APPEND initrd=images/REDOS/images/pxeboot/initrd.img ramdisk_size=128000 ip=dhcp method=http://192.168.1.38/images/REDOS/ devfs=nomount

Дополнение

При использовании команды menu PASSWD пароль можно задать либо как есть, либо использовать алгоритм хеширования, добавив в начале параметра соответствующую сигнатуру

Алгоритм Сигнатура
MD5 $1$
SHA-1 $4$
SHA-2-256 $5$
SHA-2-512 $6$

Таким образом для пароля Qwerty и алгоритме MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Далее необходимо распаковать содержимое установочных дисков (установочный диск представляет собой образ в формате iso) в соответствующие каталоги. Для этого необходимо в корневом каталоге создать папку с названием iso при помощи команды:

# mkdir /mnt/iso
# cd /путь/до/iso

Смонтировать образ системы в папку /mnt/iso, для этого воспользоваться командой mount:

# mount -t iso9660 -o loop redos-MUROM-7.2-x86_64-DVD1.iso /mnt/iso

Скопировать содержимое установочных файлов при помощи команды cp:

# cp -vR /iso/* /var/lib/tftpboot/images/REDOS/

Размонтировать образ при помощи команды umount:

# umount /mnt/iso

Переведите selinux в режим Permissive для этого выполните команду:

# setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config

Дайте права всем на файл pxelinux.0.

# chmod 777 /var/www/html/pxeboot/pxelinux.0

Автоматизация развертывания

Для создания файла kickstart нужно использовать графическую утилиту system-config-kickstart. Для её установки необходимо выполнить:

yum install system-config-kickstart

Создать файл ks.cfg с помощью программы и поместить его в каталог с установочными файлами ос. Например:

# cp ks.cfg /var/lib/tftpboot

Или воспользоваться вариантом — скопировать дефолтный ks.cfg созданный системой при установке:

# cp /root/anaconda-ks.cfg /var/lib/tftpboot

Переименуйте файл:

# mv /var/lib/tftpboot/anaconda-ks.cfg /var/lib/tftpboot/ks.cfg

Добавить в конфигурацию пункта меню pxe, в строку append параметр ks. Пример:

# nano /var/lib/tftpboot/pxelinux.cfg/default

…
APPEND initrd=images/REDOS/images/pxeboot/initrd.img ramdisk_size=128000 ip=dhcp method=http://192.168.1.38/images/REDOS/ devfs=nomount ks=http://192.168.1.38/ks.cfg
…

Подготовка рабочей станции

Для установки ОС на рабочей станции выбираем загрузку по сети: «Network Boot Agent» или «PXE boot».

Важно
Необходимо чтобы загрузка по PXE была активирована в BIOS. Настройка может называться по-разному в зависимости от версии BIOS и производителя материнской платы. Необходимо ознакомиться со спецификацией на конкретную материнскую плату.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email