irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Доброго времени суток. Есть такой вопрос по настройке PXE-сервера на dnsmasq. Есть сервер(на archlinux, но это не суть важно) На нем 2 сетевых интерфейса: enp3s0(на нем должен работать DHCP-сервер) и enp4s0(смотрит в Internet) pacman -S syslinux cp /usr/lib/syslinux/bios/{lpxelinux.0,menu.c32,memdisk,chain.c32,libutil.c32,ldlinux.c32} /hdd/pxe/ nano /hdd/pxe/pxelinux.cfg/default DEFAULT menu.c32 PROMPT 0 TIMEOUT 600 MENU TITLE PXE BOOT MENU #MENU INCLUDE pxelinux.cfg/graphics.conf LABEL Boot Local HDD kernel chain.c32 append hd0 0 LABEL TestTools - > KERNEL menu.c32 APPEND pxelinux.cfg/testtools LABEL Utils - > KERNEL menu.c32 APPEND pxelinux.cfg/utils LABEL OS - > KERNEL menu.c32 APPEND pxelinux.cfg/os /hdd/pxe/pxelinux.cfg/{TestTools,Utils,OS} // отдельные файлы настроек, вида /hdd/pxe/pxelinux.cfg/TestTools PROMPT 0 MENU TITLE test LABEL < - Main Menu KERNEL menu.c32 APPEND pxelinux.cfg/default LABEL Memtest MENU LABEL RAM test Memtest 5.01 KERNEL memdisk APPEND iso initrd=images/memtest86+-5.01.iso pacman -S dnsmasq nano /etc/dnsmasq.conf interface=enp3s0 dhcp-range=192.168.1.2,192.168.1.10,12h enable-tftp tftp-root=/hdd/pxe dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-match=set:efi-x86_64,option:client-arch,9 dhcp-match=set:efi-x86,option:client-arch,6 dhcp-match=set:bios,option:client-arch,0 dhcp-boot=tag:efi-x86_64,"syslinux.efi" #dhcp-boot=tag:efi-x86_64,"ipxe.1e77e6bfd61e.efi" // Загрузка клиента по PXE в UEFI режиме, тут конкретно Arch Linux Netboot, этот пункт работает #dhcp-boot=tag:efi-x86_64,"Shell.efi" // Тут EFI-Shell, работает dhcp-boot=tag:bios,"lpxelinux.0" // Загрузка клиента по PXE в Legacy(BIOS) режиме systemctl start/enable dnsnasq В Legacy(BIOS) режиме клиенты грузятся по PXE, меню работают - вопросов нет. Собственно вопрос: Как я должен загрузить то же меню в UEFI-режиме? Клиент переключен в UEFI-only, по PXE IP-адрес получает. Меню не грузятся. Насколько я понимаю нужно подсунуть клиенту efi-файл? Скопировав из /usr/lib/syslinux/efi64/syslinux.efi в /hdd/pxe результата не добился После любых манипуляций с dnsmasq.conf делаю systemctl restart dnsmasq. |
indeviral |
|
Темы:
38
Сообщения:
3167
Участник с: 10 августа 2013
|
из вашей писанины ничего непонятно. минимально необходимо: запуск syslinux: запуск ipxe: если вам не нужен доступ к uefi vars нечего с ним заморачиваться: а еслиirzhykпосмотреть ошибки можно так:
Ошибки в тексте-неповторимый стиль автора©
|
irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Спасибо за ответ, поясню для чего заморочился с UEFI - современные ноуты идут с отключенным CSM по умолчанию, я хочу не переключаться в Legacy-режим. Но иногда попадаются с BIOS. За путаницу в посте - извиняюсь, пытался дать всю информацию, закоментированные строчки оставил чтобы показать ход моих действий. Из ответа я понял что не хватает /hdd/pxe/syslinux.cfg и "dhcp-option-force=209,syslinux.cfg" строчки в dnsmasq.conf ? Само меню(без пунктов, они в /hdd/pxe/pxelinux.cfg) это файл /hdd/pxe/menu.c32 ? И оно будет грузиться и с файла lpxelinux.0(для BIOS) и с файла syslinux.efi(для UEFI)? |
indeviral |
|
Темы:
38
Сообщения:
3167
Участник с: 10 августа 2013
|
Наверно косяк у вас в этом:
irzhyksyslinux.cfg и pxelinux.cfg одно и тоже, по идеи pxelinux.cfg даже правильнее если он будет лежать в корне с *.efi то эта строчка и не надо.
Ошибки в тексте-неповторимый стиль автора©
|
irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Настроил так, что сервер понимает какая(BIOS или UEFI) система подключена. При загрузке UEFI-системы: >>Start PXE over IPv4. Station IP address is 192.168.1.10 Server IP address is 192.168.1.1 NBP filename is syslinux.efi NBP filesize is 176176 Bytes Downloading NBP file ... Success to download NBP file. Getting cashed packet My IP is 192.168.1.10 На этом все, через время система ребутится. Вот лог(гугление не помогло): [[email protected] pxe]$ journalctl -u dnsmasq -f -- Logs begin at Mon 2017-10-02 18:06:47 EEST. -- ноя 24 14:18:56 irzhyk systemd[1]: Stopped A lightweight DHCP and caching DNS server. ноя 24 14:18:56 irzhyk systemd[1]: Starting A lightweight DHCP and caching DNS server... ноя 24 14:18:56 irzhyk dnsmasq[18821]: dnsmasq: syntax check OK. ноя 24 14:18:56 irzhyk systemd[1]: Started A lightweight DHCP and caching DNS server. ноя 24 14:18:56 irzhyk dnsmasq[18822]: started, version 2.78 DNS disabled ноя 24 14:18:56 irzhyk dnsmasq[18822]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify ноя 24 14:18:56 irzhyk dnsmasq[18822]: DBus support enabled: connected to system bus ноя 24 14:18:56 irzhyk dnsmasq-dhcp[18822]: DHCP, IP range 192.168.1.2 -- 192.168.1.10, lease time 12h ноя 24 14:18:56 irzhyk dnsmasq-dhcp[18822]: DHCP, sockets bound exclusively to interface enp3s0 ноя 24 14:18:56 irzhyk dnsmasq-tftp[18822]: TFTP root is /hdd/pxe ноя 24 14:19:11 irzhyk dnsmasq-dhcp[18822]: DHCPDISCOVER(enp3s0) 3c:97:0e:98:ba:b9 ноя 24 14:19:11 irzhyk dnsmasq-dhcp[18822]: DHCPOFFER(enp3s0) 192.168.1.10 3c:97:0e:98:ba:b9 ноя 24 14:19:15 irzhyk dnsmasq-dhcp[18822]: DHCPREQUEST(enp3s0) 192.168.1.10 3c:97:0e:98:ba:b9 ноя 24 14:19:15 irzhyk dnsmasq-dhcp[18822]: DHCPACK(enp3s0) 192.168.1.10 3c:97:0e:98:ba:b9 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: error 8 User aborted the transfer received from 192.168.1.10 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: failed sending /hdd/pxe/syslinux.efi to 192.168.1.10 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: sent /hdd/pxe/syslinux.efi to 192.168.1.10 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: sent /hdd/pxe/ldlinux.e64 to 192.168.1.10 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: sent /hdd/pxe/pxelinux.cfg/default to 192.168.1.10 ноя 24 14:19:15 irzhyk dnsmasq-tftp[18822]: sent /hdd/pxe/menu.c32 to 192.168.1.10 Еще раз, syslinux.efi - требует свой menu.c32? Из /usr/lib/syslinux/efi64 ? Или вопрос в правах на файл? |
indeviral |
|
Темы:
38
Сообщения:
3167
Участник с: 10 августа 2013
|
irzhykКонечно, и всё остальное тоже. p.s. покажите
Ошибки в тексте-неповторимый стиль автора©
|
irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Странно, я всю директорию /usr/lib/syslynux/efi64 копировал в /hdd/pxe/ - и ничего не получилось.. [[email protected] ~]$ cat /hdd/pxe/pxelinux.cfg/default DEFAULT menu.c32 PROMPT 0 TIMEOUT 600 MENU TITLE PXE BOOT MENU LABEL Boot LocalHDD localboot 0x80 append SLX=0x80 LABEL TestTools - > KERNEL menu.c32 APPEND pxelinux.cfg/testtools LABEL Utils - > KERNEL menu.c32 APPEND pxelinux.cfg/utils LABEL OS - > KERNEL menu.c32 APPEND pxelinux.cfg/os LABEL Windows - > KERNEL menu.c32 APPEND pxelinux.cfg/windows |
indeviral |
|
Темы:
38
Сообщения:
3167
Участник с: 10 августа 2013
|
Как то так попробуйте: ну и
Ошибки в тексте-неповторимый стиль автора©
|
irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Получилось!!! Еще толком не разобрался, но по вашему совету кажется получается!! Правда лог пишет какие-то ошибки: ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: error 8 User aborted the transfer received from 192.168.1.10 ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: failed sending /hdd/pxe/syslinux.efi to 192.168.1.10 ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: sent /hdd/pxe/syslinux.efi to 192.168.1.10 ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: sent /hdd/pxe/ldlinux.e64 to 192.168.1.10 ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/01-3c-97-0e-98-ba-b9 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A8010A not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A8010 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A801 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A80 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A8 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0A not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C0 not found ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/C not found Сейчас немного разберусь, и еще задам пару вопросов. Огромное спасибо за помощь - уже реально год бьюсь |
irzhyk |
|
Темы:
15
Сообщения:
78
Участник с: 22 июля 2013
|
Насколько я понимаю, в строчке лога ноя 24 16:49:38 irzhyk dnsmasq-tftp[19248]: file /hdd/pxe/pxelinux.cfg/01-3c-97-0e-98-ba-b9 not found 01-3c-97-0e-98-ba-b9 - это MAC-адрес клиента, но мне это ни о чем не говорит.. |