7156 Uefi pxe DHCP error
-
@george1421 to edit this file what do I type
-
@dureal99d OK then issue the network manager restart that is below. Then (at least on my Pi) inspect the /var/log/syslog file way at the bottom. You should see the startup of the dnsmasq service. Confirm the version number there is showing 2.76. If that is the case then you have successfully updated your dnsmasq to 2.76.
-
@dureal99d said in 7156 Uefi pxe DHCP error:
@george1421 to edit this file what do I type
?? File you need to edit ??
-
@george1421 I just thought I would have to edit this, dnsmasq file.
-
@dureal99d Ah ok to add uefi support? I am working on another tutorial that covers that. https://forums.fogproject.org/topic/8726/advanced-dnsmasq-techniques
I think the bits you need are on the third post. Below is that config file. The 192.168.112.24 is MY FOG/dnsmaq server. This is the simple way to add uefi support. I’m working on a more complex way that opens up new options. But if you want to get uefi/bios working this should get you going.
# 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 # 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 # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,192.168.112.24 # 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, ARM_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. # PXEClient:Arch:00000 pxe-service=X86PC, "Boot BIOS PXE", undionly.kpxe # PXEClient:Arch:00007 pxe-service=BC_EFI, "Boot UEFI PXE-BC", ipxe.efi # PXEClient:Arch:00009 pxe-service=X86-64_EFI, "Boot UEFI PXE-64", ipxe.efi dhcp-range=192.168.112.24,proxy
-
@george1421 cool. and I see a whole bunch of data popped into the syslog once I ran that network command
sudo systemctl restart NetworkManager
. -
@george1421 I still need the command to edit ltsb.conf file
-
@george1421 ok, let me try this another way. is this ltsb file one I should crate myself? and if so where do I place it after I’m done?
-
@dureal99d Yes it is a file you create. Typically we call this ltsp.conf and it goes in /etc/dnsmasq.d directory. You will need to use your favorite text editor. I use vi (because I’m old). You need to be sure to launch your text editor either as administrator if doing via the gui or as sudo if launching it by command line. If you use vi then the command would be
sudo vi /etc/dnsmasq.d/ltsp.conf
If you have never used vi before, don’t! All of the text editor commands are cryptic and will drive you nuts to learn. -
@george1421 said in 7156 Uefi pxe DHCP error:
LOL, no vi for me then. good ol gedit it is.
-
@george1421 said in 7156 Uefi pxe DHCP error:
@dureal99d Ah ok to add uefi support? I am working on another tutorial that covers that. https://forums.fogproject.org/topic/8726/advanced-dnsmasq-techniques
I think the bits you need are on the third post. Below is that config file. The 192.168.112.24 is MY FOG/dnsmaq server. This is the simple way to add uefi support. I’m working on a more complex way that opens up new options. But if you want to get uefi/bios working this should get you going.
# 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 # 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 # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,192.168.112.24 # 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, ARM_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. # PXEClient:Arch:00000 pxe-service=X86PC, "Boot BIOS PXE", undionly.kpxe # PXEClient:Arch:00007 pxe-service=BC_EFI, "Boot UEFI PXE-BC", ipxe.efi # PXEClient:Arch:00009 pxe-service=X86-64_EFI, "Boot UEFI PXE-64", ipxe.efi dhcp-range=192.168.112.24,proxy
so how do you get this file to interact with the router?
-
@dureal99d I believe the proper term is IT voodoo.
Well once you update that file and restart dnsmasq, dnsmasq will listen for a dhcp broadcast and reply as if it is a dhcp server but will only offer specific dhcp fields.
I’m all for education so I suggest you learn and understand what is going on here. I suggest that you install wireshark on a Windows computer or if you have to your fog server and use the following filter “port = 67 or port = 68 or port = 69 or port = 4011” This will instruct wireshark to only listen for this communication. Now pxe boot the target computer. Now if you using wireshark on a windows computer it will only be able to hear broadcast bits of dhcp (this will be enough to understand what is going on.) If you install it on the FOG server then you can see the entire pxe booting process.
-
@george1421 Another option is to install tcpdump on your FOG/DNSMasq server then use the following filter:
sudo tcpdump -w output.pcap port 67 or port 68 or port 69 or port 4011
Then perform the pxe boot. The tcpdump program is much lighter then wireshark, but doesn’t allow viewing of the captured data. Once your pxe device boots to completion or error then ctrl-c out of the tcpdump program. You can transfer this file to a windows computer using putty and review it with wireshark. This is the exact process I used when debugging dnsmasq for one of my tutorials. This way you can see what changes to the ltsp.conf file have on the output when viewed from wireshark.
-
@george1421 I guess what I was asking it should I disable DNS masq on my DD wrt router
-
@george1421 but I should also educate myself on the recommended
-
@dureal99d said in 7156 Uefi pxe DHCP error:
@george1421 I guess what I was asking it should I disable DNS masq on my DD wrt router
Yes… you didn’t mention you had dd-wrt running that offers dhcp.
In this case No don’t disable it because dd-wrt is using dnsmasq for dns forwarding, dhcp, and something else (I think). DNSMasq running on your FOG server will still function in the proxyDHCP role.
-
@dureal99d said in 7156 Uefi pxe DHCP error:
@george1421 but I should also educate myself on the recommended
You know the skills you are adding here are a bit complex, but also VERY valuable when trying to debug why networking isn’t working as intended. These are always good skills to have in your toolbox, for whenever you need them.
So far you’ve compiled and installed a linux application from source code, setup a dnsmasq server, and now are digging into network communications and soon pxe booting both uefi and bios (legacy) devices. While a lot was done with parroting what I posted, you have started with the foundations of some rather complicated subjects, where you go with it is up to you.
-
@george1421 ive tried to boot several uefi machines. none work!!!
-
@dureal99d Ok then, I guess you get to learn how to do tcpdump and then read the output.pcap file with windows based wireshark.
This is an example of a successful pxe boot. (almost I was testing and I sent a file name called 9snp.efi which did not existing on the FOG server, but again I was testing something. The important part is seeing the dhcpProxy request on port 4011 and then the target attempts to pull 9snp.efi using tftp). The bits you are interested in is seeing the flow of communication between the target computer 192.168.112.16 the FOG/DNSMasq server 192.168.112.24 and the soho router 192.168.112.1
-
@george1421 said in 7156 Uefi pxe DHCP error:
pxe boot. (almost I was testing and I sent a file name called 9snp.efi which did not existing on the FOG server, but again I was testing something.
I have no idea what I’m looking at