Problems With PXE OVER IPVA4
-
Hello,
I am facing a problem with PXE Boot on my network. A client machine is trying to boot via PXE, but when booting from the FOG server, it displays the message “PXE over IPv4” and fails to load the image.
Environment Information:
FOG Server: Ubuntu 20.04 LTS, FOG version 1.5.x (it was working fine until recently).
Client Machines: DELL (the same machine that was working before).
Router: EdgeRouter (configured with options 66 and 67 for the FOG server).
Machine BIOS Settings: Secure Boot disabled, Fast Boot disabled, UEFI boot enabled.
Network: The client machine is on the same network/subnet as the FOG server, and there are no network changes, such as VLAN changes. -
@nicolas-moraes We have to be careful some Soho routersthe don’t behave well with pxe booting. Some will put its IP address as the boot server even if you have dhcp option 66 configured. I don’t know the edgerouter, but if there is a bootp option make sure that is turned on too.
The edgerouter is based on vyos so it should behave correctly. Make sure when you define dhcp option 66 its the IP address of the fog server and for dhcp option 67 the boot file name needs to be all lower case. Make sure you don’t have a leading or trailing white space in the name.
If you have double checked everything then get a witness computer and load wireshark on it. Make sure you setup a capture filter of
port 67 or port 68start the scanning then pxe boot the computer until you get the error message then stop scanning.What you are looking for is the DORA sequence
Discover (sent by target computer, akin to hello world, please configure me)
Offer (sent by one or more dhcp server, I would there to be only one of these and from your edgerouter).
Request (sent by the target computer)
Ack/Nack (sent by the dhcp server)The interesting packet will be the OFFER.
Look at the packet, there should be an ethernet header section with the following fields.
Next-Server: this should be the IP address of your fog server (this is the bootp part)
Boot-FIle: this should be the name of the ipxe file to load.If either of those are blank some pxe clients will not boot if they look at the bootp fields.
In the dhcp options section you should see option 66 and 67 that should mirror the values in the bootp part.
-
@nicolas-moraes I managed to solve it and in my case it was not a FOG or network issue. I verified that DHCP was working correctly (confirmed with tcpdump), options 66/67 were unchanged, TFTP was running, and the FOG web/ipxe boot.php were reachable.
The key test was that when the client stayed at “Start PXE over IPv4”, the FOG server was not receiving any DHCP or TFTP requests at all, which pointed to a client-side problem. Even though Secure Boot and Fast Boot were already disabled, the issue was caused by the BIOS state.
After restoring BIOS defaults on the HP laptop and re-enabling PXE IPv4 boot, everything started working again. It seems some UEFI/PXE flags were stuck, and resetting the BIOS fixed it.