Dnsmasq on your FOG server
-
Hello all,
I followed the configuration: server to make Dnsmasq my FOG server, but when I go to test the results we are unable to boot and the error PXE-E16 no valid offer received appears.Our ltsp.conf file:
# 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.22.21.18 # 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.22.21.18 dhcp-boot=net:UEFI,ipxe.efi,,172.22.21.18 dhcp-boot=net:UEFI64,ipxe.efi,,172.22.21.18 # 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 # Subnets= dhcp-range=<fog_server_IP>,proxy dhcp-range=192.168.10.0,proxy,255.255.255.0 dhcp-range=172.30.20.0,proxy,255.255.255.0
The service runining ok and in windows dhcp i have option 66 to point to FOG server
Any help?
-
@diogo-seabra said in Dnsmasq on your FOG server:
dhcp-range=192.168.10.0,proxy,255.255.255.0
dhcp-range=172.30.20.0,proxy,255.255.255.0These should not be necessary. In this configuration dnsmasq is only in proxy-dhcp mode. It will not hand out IP addresses, that is the responsibility of your main dhcp server. DNSMASQ in this mode will only send out a proxy dhcp OFFER packet telling the target computer after it gets its IP address contact the proxy dhcp server for additional information.
As for your main dhcp server, its not necessary to set dhcp option 66, because the proxy dhcp server (dnsmasq) will override that setting.
PXE-E16 no valid offer received
This means the pxe booting client didn’t either receive an IP address or the DHCP Discovery from the target computer didn’t make it to the dnsmasq server because it didn’t respond.
So I have to ask you if you have a microsoft dhcp server, why do you feel the need to run dnsmasq? (this is a specific and intentional question). Microsoft dhcp server can do everything (almost) that a dnsmasq server can do.
-
@george1421 Hello,
On one of the sites it is Windows DHCP, but on other sites we are using Fortigate DHCP.
We cant set vendor classes on fortigate dhcp and find this solution to send the option 66 and 67 as a dhcp proxy.
So basically we just need this setup:
# 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.22.21.18 # 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.22.21.18 dhcp-boot=net:UEFI,ipxe.efi,,172.22.21.18 dhcp-boot=net:UEFI64,ipxe.efi,,172.22.21.18 # 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
At DHCP main not needed configure the option 66 and 67, right?
Thanks for your help
-
I added the subnets to the file and I still can’t get the meter to work.
I removed the options from the DHCP server because DNSmasq will serve these options but I have no success so far.
Any ideas what I can do?
-

-
@diogo-seabra said in Dnsmasq on your FOG server:
At DHCP main not needed configure the option 66 and 67, right?
Correct. We use dnsmasq for those dhcp servers that setting dhcp options 66 and 67 are impossible. Such as when an external company manages your dhcp infrastructure.
-
@diogo-seabra Just to be clear you WILL need to have this as the last line in your configuration for dnsmasq.
dhcp-range=<fog_server_IP>,proxy
Where you replace
<fog_server_IP>
with the IP address of your fog server. -
@diogo-seabra As for the picture, I think we need to clearly define your network.
dnsmasq works by using broadcast messages. So that means dnsmasq will only work on the local subnet. If your pxe booting computers are on a different subnet then you will need to add the fog server’s IP address to the list in the dhcp relay service on your router.
Also if you have dhcp snooping enabled on your network switches, that may also cause dnsmasq to not respond properly.