Hyper V Gen 2 booting with undionly.kpxe
-
Sure,
port=0
log-dhcp
tftp-root=/tftpboot
dhcp-no-overridedhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
dhcp-vendorclass=UEFI,PXEClient:Arch:00007
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,10.250.0.2
dhcp-boot=net:UEFI,ipxe.efi,10.250.0.2
dhcp-boot=net:UEFI64,ipxe.efi,10.250.0.2dhcp-boot=undionly.kpxe,10.250.0.2
pxe-prompt=“Press F8 for boot menu”, 3
dhcp-range=10.250.0.2,proxyI remember initially adding the dhcp-vendorclass lines to get this to work initially last year. I’m not sure if those are still needed?
Thanks
-
I also did a packet capture on the FOG server and this is what I see regarding the boot file:
-
@jkoos101 You are missing some stuff (pxe-service) and you have the dhcp-boot entry out of order. In your current config it will always select undonly.kpxe.
Lets try this config make sure you update the
<fog_server_ip>
with your fog server’s real ip, and then reboot dnsmasq.# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,<fog_server_IP> # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP> # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the user. pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=<fog_server_ip>,proxy
-
@jkoos101 If you are going to do a pcap (which is great) use this pcap filter
port 67 or port 68 or port 69 or port 4011
The most interesting bits will be the dhcp discover from the target computer, the offer from the dhcp server, and the offer from the dnsmasq server.But I’m pretty sure if you use my ltsp.conf file you should be able to auto manage bios and uefi systems.
-
@george1421 I just tried the ltsp.conf file you gave and restarted the dnsmasq service. It is still doing the same thing. I’ll try another packet capture when I have more time and use your suggestions regarding the port filtering.
Thanks!
-
@jkoos101 Well that is a bit disappointing, it should work right out of the box (so to speak). That config file has been used on many dnsmasq installs. When you get another packet capture, if you would. Please upload that to a google drive or dropbox I would like to take a look at the pcap file.
-
Here is the new packet capture: https://www.dropbox.com/sh/eapomuoyecmgbsw/AAAy03IERwJLx3f7cm_-DeGXa?dl=0
-
@jkoos101 Lets move this to FOG Forum chat. I have a few questions were we need quicker turn around than forum posts. Look at the chat bubble on the forum tool tray.
-
@jkoos101 Looking at your packet capture I see dnsmasq sending the right information to the pxe booting client, but the client is ignoring the proxydhcp settings. Your primary dhcp server 10.250.0.1 is also sending out dhcp options 66 {next-server} and 67 {boot-file} information, which the pxe booting client seems to believe over the proxydhcp settings.
Can you remove the bootfile {undionly.kpxe} settings from 10.250.0.1?
-
This is now working thanks to @george1421’s help. What happend was that I had two versions of dnsmasq installed causing this issue. I was able to remove the 2.75 version that came with the OS and recompile and reinstall 2.76. Now everything is working as expected.