Сеть Fedora устанавливает через начальную загрузку PXE

Вероятно, самый легкий путь состоит в том, чтобы сделать a:

yum groupremove "X Window System"

Затем удостоверьтесь, что все остаточные связанные с Xorg файлы удалены и затем выполнение a:

yum groupinstall "X Window System"

Я не протестировал вышеупомянутую процедуру по Fedora, но это - такие ситуации, которые выравнивают по ширине их команды группы программного обеспечения наличия.

6
23.02.2015, 00:27
1 ответ

Также можно настроить службу Proxy DHCP для PXE. Таким образом, существующий DHCP-сервер не нуждается в изменении. Обычная Linux-система (например, рабочая станция) может быть использована для хостинга среды выполнения предзагрузки (PXE).

Следующие шаги необходимы для настройки PXE для сетевой загрузки установочного образа Fedora по сети (в предположении, что это также хост Fedora):

Проверка образа

$ gpg --verify Fedora-Server-21-x86_64-CHECKSUM
$ sha256sum --check Fedora-Server-21-x86_64-CHECKSUM
Fedora-Server-netinst-x86_64-21.iso: OK

Монтирование образа

mkdir /mnt/iso
mount -o loop Fedora-Server-netinst-x86_64-21.iso /mnt/iso

DHCP-установка

yum install dnsmasq tftp-server syslinux-tftpboot

Пакет tftp-сервер предназначен только для создания каталога /var/lib/tftpboot, в dnsmasq уже встроен tftp-сервер.

The config:

cat > /etc/dnsmasq.conf
interface=enp0s25
# and don't bind to 0.0.0.0
bind-interfaces
# extra logging
log-dhcp
dhcp-range=192.168.178.0,proxy
# first IP address is the one of the host
dhcp-boot=pxelinux.0,192.168.178.34,192.168.178.0
pxe-service=x86PC,"Automatic Network Boot",pxelinux
# Specify the IP address of another tftp server
enable-tftp
# default location of tftp-server on Fedora
tftp-root=/var/lib/tftpboot
# disable DNS
port=0

Start it:

systemctl start dnsmasq.service

Setup TFTP directory

Copy all needed files:

cp /mnt/iso/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/iso/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /tftpboot/pxelinux.0 /var/lib/tftpboot
cp /tftpboot/vesamenu.c32 /var/lib/tftpboot
cp /tftpboot/ldlinux.c32 /var/lib/tftpboot
cp /tftpboot/libcom32.c32 /var/lib/tftpboot
cp /tftpboot/libutil.c32 /var/lib/tftpboot

Add config:

mkdir /var/lib/tftpboot/pxelinux.cfg
cat > /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
prompt 0
# disable timeout
timeout 0
#timeout 600

# if file is missing, this is ignored
display boot.msg

label linux
  menu label Install Fedora 21 Server x86-64
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=http://workstation.example.org/

Setup HTTP Server

yum install nginx

Configure instance:

cat > /etc/nginx/conf.d/iso.conf
  server {
      listen       80 default_server;
      server_name  localhost;
      root         /mnt/iso ;
      include /etc/nginx/default.d/*.conf;
  }

Disable the default instance/ move it to a different port:

--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -43,7 +43,7 @@ http {
     include /etc/nginx/conf.d/*.conf;

     server {
-        listen       80 default_server;
+        listen       8080 default_server;
         server_name  localhost;
         root         /usr/share/nginx/html;

start the server:

systemctl start nginx.service

The Fedora installer (dracut) basically needs to get one file from that http-сервер:

LiveOS/squashfs.img

Configure Firewalld

firewall-cmd --add-service=http
firewall-cmd --add-service=dhcp
firewall-cmd --add-service=tftp
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=tftp --permanent

Boot Clients

That's it. Клиенты знают, что могут загрузиться по сети через PXE и получить сетевой образ Fedora.

Вариации могут быть: Добавление кикстартового файла (и установка таймаута) для полностью автоматической сетевой установки, настройка различных параметров PXE для разных клиентов (на основе MAC-адреса) и т.д.

Очистка

Демоны могут быть остановлены, а образ обратной связи может быть размонтирован:

systemctl stop nginx.service
systemctl stop dnsmasq.service
umount /mnt/iso

Замечание по безопасности

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

6
27.01.2020, 20:28

Теги

Похожие вопросы