Назад | Перейти на главную страницу

Сервер загрузки PXE не работает

Я следил за учебником о том, как настроить сервер загрузки PXE для автоматической установки с помощью кикстарта. Я почти уверен, что все настроил правильно, но когда я запускаю второй сервер и автоматизация запускается, он не работает (подробности ниже).

Вот мои конфигурации, а также некоторые скриншоты ошибок при попытке загрузить новый сервер (это с Virtualbox, кстати)

/etc/dhcp/dhcpd.conf - https://pastebin.com/NjeuQvjH

/var/ftp/pub/ks.cfg - https://pastebin.com/MHCdvKrh

/tftpboot/pxelinux.cfg/default - https://imgur.com/a/cxewtC1

/ и т.д. / sysconfig / сетевые сценарии / ifcfg-enp0s3 - https://pastebin.com/r3UUVumb

Вывод ifconfig:

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.50  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::c4da:66e1:b02f:9ec  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:74:4c:65  txqueuelen 1000  (Ethernet)
        RX packets 2463  bytes 507124 (495.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1406  bytes 238379 (232.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1  bytes 76 (76.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 76 (76.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

скриншоты (2 попытки запуска) - https://imgur.com/a/v087Luq

Это в Virtualbox с двумя виртуальными машинами Centos7, кстати.

Я должен добавить, что у меня есть доступ ftp://192.168.1.50/pub/ просто отлично через мой браузер и увидеть все файлы на виртуальной машине.

Для настроек Virtualbox и виртуальных машин у меня приоритетным является порядок загрузки по сети вместе с параметром мостового адаптера (я использую USB-устройство). У меня есть неразборчивый режим, установленный на «Разрешить все» для обеих виртуальных машин, а для второго он установлен на «сервер». Тип адаптера продвинутый, как рекомендовано в видео.

Редактировать: После просмотра видео, за которым я следил, я заметил, что забыл изменить опцию «отключено» с да на нет в /etc/xinetd.d/tftp, но это ничего не помогло.

Edit2:

Это также содержимое /etc/xinetd.d/tftp - https://pastebin.com/E1Zaa0Xb

У меня также есть каталог setup / tftpboot, в котором есть различные файлы, скопированные из / usr / share / syslinux, как было указано в руководстве:

chain.c32  mboot.c32  memdisk  menu.c32  netboot  pxelinux.0  pxelinux.cfg

и / tftpboot / netboot с файлами, скопированными из смонтированного iso-образа Centos:

initrd.img  vmlinuz

xinetd, dhcpd и vsftpd все запущены и включены.

Содержание /mnt/.treeinfo

[general]
name = CentOS-7
family = CentOS
timestamp = 1525379658.57
variant =
version = 7
packagedir =
arch = x86_64

[stage2]
mainimage = LiveOS/squashfs.img

[images-x86_64]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
boot.iso = images/boot.iso

[images-xen]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img

Первая попытка завершилась ошибкой, потому что время попытки TFTP-подключения прошивки PXE истекло. TFTP - это не FTP, а совершенно отдельная служба. Служба TFTP на UDP-порту 69 из 192.168.1.50 не ответила.

Для второй попытки только next-server опция была предоставлена ​​DHCP-сервером, но имя загрузочного файла не было. Оба нужны. В результате iPXE выдает ошибку «Не загружать ничего».

После включения /etc/xinetd.d/tftpты killall -HUP xinetd, начать сначала xinetd, или заставить его фактически перечитать свою конфигурацию любым другим способом? Ваш /etc/hosts.allow и / или /etc/hosts.deny включать любые ограничения, которые могут применяться для tftp? (Например, ALL: ALL как последняя строка /etc/hosts.deny заблокировал бы его, если бы не было более конкретных настроек, разрешающих это.)

Обратите внимание, что загрузочная прошивка VirtualBox PXE на самом деле iPXE из http://ipxe.org который также может использовать HTTP. Он может принимать URL-адрес в качестве имени загрузочного файла, поэтому вы можете избежать необходимости в TFTP, если вы работаете только с виртуальными машинами VirtualBox. Но ваша цель - в конечном итоге загрузить реальное оборудование PXE, тогда вам нужно будет заставить работать TFTP.

Чтобы указать расположение файла stage2, добавьте параметр загрузки в строку APPEND файла /tftpboot/pxelinux.cfg/default:

APPEND ... inst.stage2=http://192.168.1.50/pub

Установщик автоматически добавит /LiveOS/squashfs.img суффикс к нему. Он получает этот суффикс, читая .treeinfo файл установочного набора, который должен находиться по адресу http://192.168.1.50/pub/.treeinfo если вариант URL вашего ks.cfg файл установлен правильно.

Я думаю, манипулируя .treeinfo файл может позволить поместить squashfs.img файл на другой путь, но я его не тестировал.