default.ipxe timeout - maybe a dhcp problem? Wireshark logs inside.
-
New install of Ubuntu 14.04.2 and Fog 1.20 on a Dell Optiplex 745 (192.168.1.20) using dnsmasq.
Finally got the host (192.168.1.128) to load the undionly.0 link as described in the dnsmasq instructions. But then it times out when loading default.ipxe.
As you can see below, Wireshark shows that the TFTP host successfully downloads undionly.kpxe from 192.168.1.20, but then it tries to TFTP to 192.168.1.1 (the default gateway).
Why is it doing that?
-
Are you using a consumer grade router? If so - what brand and model?
-
No idea if this helps, but this undionly.kpxe will point to 192.168.1.20. If this works it would seem that your default gateway is being set as next-server.
undionly.kpxe -
That’s right, it’s a consumer-grade router–Asus RT-N66U. That is why I am using dnsmasq, because I lack the ability to configure its DHCP correctly.
Here is my ltsp.conf file:
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Dnsmasq can also function as a TFTP server. You may uninstall # tftpd-hpa if you like, and uncomment the next line: # enable-tftp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,192.168.1.20 # rootpath option, for NFS #dhcp-option=17,/images # kill multicast #dhcp-option=vendor:PXEClient,6,2b # 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 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Press F8 for boot menu", 3 # 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 from network", undionly # A boot service type of 0 is special, and will abort the # net boot procedure and continue booting from local media. #pxe-service=X86PC, "Boot from local hard disk", 0 # If an integer boot service type, rather than a basename is given, then the # PXE client will search for a suitable boot service for that type on the # network. This search may be done by multicast or broadcast, or direct to a # server if its IP address is provided. # pxe-service=x86PC, "Install windows from RIS server", 1 # This range(s) is for the public interface, where dnsmasq functions # as a proxy DHCP server providing boot information but no IP leases. # Any ip in the subnet will do, so you may just put your server NIC ip here. # Since dnsmasq is not providing true DHCP services, you do not want it # handing out IP addresses. Just put your servers IP address for the interface # that is connected to the network on which the FOG clients exist. # If this setting is incorrect, the dnsmasq may not start, rendering # your proxyDHCP ineffective. dhcp-range=192.168.1.20,proxy # This range(s) is for the private network on 2-NIC servers, # where dnsmasq functions as a normal DHCP server, providing IP leases. # dhcp-range=192.168.0.20,192.168.0.250,8h # For static client IPs, and only for the private subnets, # you may put entries like this: # dhcp-host=00:20:e0:3b:13:af,10.160.31.111,client111,infinite
-
@cml Thanks, I will try it out!
EDIT: TOTALLY WORKED!
OK, so for my own education, can you explain where that “next-server” setting is? What would I have to change in order for the default undionly.kpxe to work correctly?
@cml 's file works great, but I shouldn’t have to request a unique binary every time I reconfigure the network.
-
@jeffzimmm Thank you for being co-operative in troubleshooting with us and providing us with ample information in order to assist! This thread should stand as a role-model of how troubleshooting here should happen.
+1s for all your posts here.
-
@jeffzimmm I’m glad everything is working. Just a heads up, if you’re not too scared, you could remove the requirement of dnsmasq/proxyDHCP if you updated your routers firmware to dd-wrt. It’s 100% and just takes a little bit of time. With dd-wrt you have, essentially, enterprise grade configuration capabilities without the cost.
-
@jeffzimmm said:
@cml Thanks, I will try it out!
EDIT: TOTALLY WORKED!
OK, so for my own education, can you explain where that “next-server” setting is? What would I have to change in order for the default undionly.kpxe to work correctly?
@cml 's file works great, but I shouldn’t have to request a unique binary every time I reconfigure the network.
I was basically going to suggest the exact same thing that @Tom-Elliott said but I see that he beat me to it.
-
I may do that. All about the open source solutions. Wow, this is such an incredibly helpful forum!
But now there’s a new issue–possibly unrelated, because some of my hosts are behaving differently.
My test host was a Dell Inspiron One 20" all-in-one running Windows 7. That one works fine (although I find that I have to manually restart TFTP on the server first).
The real challenge are the new XPS 13 laptops. They have Dell-branded PXE-booting Ethernet-USB adapters. They are set to legacy BIOS, secureboot off.
They get as far as “IPXE Initializing Devices,” then give a beep, flash a long number for a milisecond (4.0003somethingsomething) and reboot. Unless any of that sounds familiar to you, I’ll have to do another wireshark capture.
-
@jeffzimmm said:
They get as far as “IPXE Initializing Devices,” then give a beep, flash a long number for a milisecond (4.0003somethingsomething) and reboot. Unless any of that sounds familiar to you, I’ll have to do another wireshark capture.
Try to use undionly.kkpxe for your bootfile. It works better for weird BIOS. Obviously you will need to flash your router with dd-wrt in order to switch files again… And after that - you can just turn dnsmasq off and set your DHCP up proper.
-
All right! I have successfully installed DD-WRT on the N66u and configured it to point to undionly.kkpxe. When all the teachers go home today, I’ll swap it in.
Just a couple questions:
-
As mentioned, I’ve got legacy BIOS Dell Inspiron Ones, and UEFI Dell XPS 13s. Should undionly.kkpxe theoretically work for both of them?
-
Dumb question. Right now, the Fog server is configured with its own DHCP and DNS turned off and dnsmasq enabled. Do I just uninstall dnsmasq now, or are there more steps needed to gracefully revert to a standard Fog installation?
-
-
@jeffzimmm said:
All right! I have successfully installed DD-WRT on the N66u and configured it to point to undionly.kkpxe. When all the teachers go home today, I’ll swap it in.
Just a couple questions:
-
As mentioned, I’ve got legacy BIOS Dell Inspiron Ones, and UEFI Dell XPS 13s. Should undionly.kkpxe theoretically work for both of them?
-
Dumb question. Right now, the Fog server is configured with its own DHCP and DNS turned off and dnsmasq enabled. Do I just uninstall dnsmasq now, or are there more steps needed to gracefully revert to a standard Fog installation?
-
No. Booting UEFI over the network requires a co-existing DHCP environment OR the manual switching of the specified bootfile every time you want to boot one or the other. I’ve not played with DD-WRT yet, so I can’t speak to what it can and can’t do in the area of co-existing BIOS and UEFI network booting. Basically - determined by the vendor information supplied by the device during the DHCP process - DHCP decides what options to give the device. I have accomplished configuring co-existence in Windows Server 2012 DHCP and I THINK that I’ve got it figured out for Linux DHCP. I have no earthly idea for DD-WRT. This article might reveal more insight to you - it links thread resources in the forums at the bottom if you wanted to read through those. Keep in mind this article is un-finished. Perhaps you can write the section for DD-WRT??? https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence Basically, in a nut shell you need one of the many .efi files in the /tftpboot directory to network boot via UEFI. To figure out which one you need, perhaps you might just “know” or perhaps you just try each one till you find one that works (there aren’t that many).
-
You should disable dnsmasq. It’s not necessary to uninstall it -but uninstalling is one way to disable it… I’d recommend just disabling it so that it’s there for you in the future should you need it. There are no changes specific to FOG when you disable dnsmasq - you simply disable it at the system level and then you’re done.
-
-
@cml said:
No idea if this helps, but this undionly.kpxe will point to 192.168.1.20. If this works it would seem that your default gateway is being set as next-server.
undionly.kpxeCan you please explain how you built undionly.kpxe to point to a specific IP address?
-
Sure,
I follow the steps in the wiki for the most part, except for the ipxescript I use:
#!ipxe ifclose ifopen && goto bootme || goto netstart :netstart dhcp || shell ifopen || reboot :netboot chain tftp://192.168.1.20/default.ipxe || goto shell
Where of course 192.168.1.20 is replaced with your FOG IP.
But, reading back over the wiki the section labeled Custom ipxe script has a way that bypasses default.ipxe entirely.