PXE-E99: Unexpected Network Error DNSMASQ
-
@alexnoel2 I’m facing the same issue as you with the same error message.
I can deploy my images to my Dell Optiplex AIO 7470 only in BIOS mode or if I disable the “UEFI Network Stack”.
As I don’t want to change the UEFI options on my 100+ computers, and out of fear that this might end up causing addition issues, could you point me to the exact line where you added the " }"Thanks.
-
@gothikserpent said in PXE-E99: Unexpected Network Error:
you point me to the exact line where you added the " }"
Are you using the dhcp server on the fog ?
Your fog server is at 172.20.4.252? Is your FOG server assigned a static IP address and that static IP address has not changed since FOG was installed?
Is this the first time you are deploying a UEFI based computer?
-
@george1421 I’ve been using FOG for over a year now, and my first installation was on an isolated network with FOG acting as a DHCP server, my address was 172.27.134.72.
I had no issues when deploying images to the computers and they were always in UFEI.Then I stumbled upon dnsmasq and decided to switch FOG to the same subnet as the school’s computers in order for the domain join to work(there are probably other ways to do this). FOG is now installed on an HP Laptop with a static address 172.20.4.252 with the DHCP service disabled.
Now the imaging works but just not with UEFI when network stack is enabled. -
@gothikserpent First part as part of housekeeping, while the error message is the same as in the other post your issues are difference since the other post is using isc-dhcp server on the FOG server as you are running dnsmasq. I forked the topic just to keep things a bit cleaner.
OK in your case you are running the fog server on your business (so to speak) network and trying to integrate FOG with your existing dhcp server.
So you are using dnsmasq, where did you get the configuration file for dnsmasq from?
-
@george1421 FYR FOG is running on Kubuntu 18.4 with dnsmasq 2.79.
I got the ltsp.conf file from the FOG wikiThis is what my file looks like :
# 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,,172.20.4.252 # 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,,172.20.4.252 dhcp-boot=net:UEFI,ipxe.efi,,172.20.4.252 dhcp-boot=net:UEFI64,ipxe.efi,,172.20.4.252 # 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=172.20.4.252,proxy
-
@gothikserpent Ok good you are using the standard dnsmasq configuration. If I didn’t ask and you were using something else we could have been chasing ghosts for a while.
So the next stuff.
If you install the tftp client feature on a windows computer and temporarily turn off the windows firewall (or use another linux computer) see if you can use
tftp
client to get ipxe.efi from the fog server.If your fog server was on a different subnet then we would check MTU, but in this case its not the issue.
So you are using a ubuntu variant, did you disable the built in firewall on the FOG server?
-
@george1421 @gothikserpent It’s strange it says “filesize is 0 Bytes”. Just like it’s not able to download that file via TFTP. But from the sound of things PXE boot for other UEFI machines work just fine.
Just to make sure, please run
ls -al /tftpboot/ipxe.efi
on the system you have dnsmasq installed (your FOG server I suppose) and post output here. -
@george1421
Yes my FOG server firewall is disabled and yes I can download the ipxe.efi file from a Windows computer without any issues.
-
@gothikserpent Well now we know more than when we started. The file needed is in place and can be downloaded. This file size of 0 bytes is very confusing because this should be working.
Since the fog server and the target computer are on the same network lets grab a pcap (packet capture) of the pxe booting process. There is something going on here that we don’t know about yet. https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue
Upload the pcap to a file share site and either IM me the link or post the link here. Once I have the pcap you can take down the file. The tcpdump instructions will only capture dhcp, proxydhcp and tftp traffic. No other traffic will be included in the pcap. You can review the pcap with wireshark for validation.
-
@george1421 I think I’ve figured out the root of my issues thanks to this link : https://www.ibm.com/support/pages/pxe-uefi-mode-fails-when-dhcp-server-not-also-tftp-server-ibm-bladecenter-and-system-x
My TFTP server and my DHCP server are on different subnets.
Updating my BIOS didn’t help as suggested but the workaround 1 works like a charm. I can keep my boot option as UEFI and just change the PXE boot to legacy by disabling the “UEFI Network Stack” in my BIOS.That explains why I never had this issue when FOG was it’s own DHCP server before using dnsmasq.
-
@gothikserpent Well I’m glad you have a workaround but really the issue is what your dhcp server is telling your client computer on the networking side. As I said in chat I don’t know how a computer placed on that subnet can communicate with any other subnet.
In the case of dnsmasq and isc-dhcp server running on fog. They are configured to dynamically switch the boot file name based on the pxe booting computer’s mode. If the pxe booting computer is in bios mode both dnsmasq and isc-dhcp will send undionly.kpxe boot file, if the pxe booting computer is in uefi, both will send ipxe.efi. In the case of these two services they are able to adapt to the format of the pxe booting computer.
-
Time passes, but the problem is not solved. This problem happened because DHCP server not provide gateway to UEFI PXE client or UEFI ignore this… I just added to my each host
host pc131 {
option subnet-mask 255.255.255.0;
option routers 172.20.0.1;
option host-name “pc131”;
hardware ethernet 0a:e0:af:a2:02:bb;
fixed-address 172.20.0.131;
}And it download ipxe.efi without problem! My DHCP - ISC-DHCP-SERVER - I manage it via Webmin )
I don’t know why it not working properly when it setup in “subnet” section these options “subnet-mask and routers” setted too, but ignored UEFI PXE
subnet 172.20.0.0 netmask 255.255.255.0 {
option broadcast-address 172.20.0.255;
authoritative;
next-server 172.16.0.1;
ignore unknown-clients;
boot-unknown-clients off;
max-lease-time 7200;
default-lease-time 1800;
option domain-name-servers 1.1.1.1 , 8.8.8.8;
option domain-name “pclab-customer.loc”;
option subnet-mask 255.255.255.0;
option routers 172.20.0.1;You can try check it with your dhcp DNSMASQ or another.