Я следил за учебником о том, как настроить сервер загрузки 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
файл на другой путь, но я его не тестировал.