iPXE discussion forum

Full Version: ipxe and DNSMASQ
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a FOG server setup and working correctly. Because I am using it at home, my FIOS router also provides a DHCP server so I want to use DNSMASQ as a DHCP proxy server to handle requests and respond with a TFTP address. So far, this is all working correctly. When I PXE boot, it correctly gets a DHCP address from the FIOS router and DNSMASQ correctly provides the TFTP ip address. IPXE correctly loads but always prompts for a TFTP ip address. I know this usually occurs when there are multiple DHCP servers in the network but I have verified the only DHCP server is the one provided by the FIOS router. DHCPD is stopped on the FOG server. To test this, I disabled the DHCP server on the FIOS router, and the PXE boot just hangs as it never receives an IP address.
I also created a menu entry in the FOG server that executes the "config" command so I could look at the IPXE settings, and I verified that the NEXT-SERVER/Option 66 was correctly set to the ip address of the TFTP server.
If I manually enter the TFTP address, which the same as the FOG server, it PXE boots correctly to the menus entries I have configured on the FOG server.
What I can't figure out is why does IPXE always prompt for a TFTP address when it looks like everything is configured correctly and I have verified there is only the FIOS DHCP router providing DHCP. I'm so close to getting this to work! Help!

Below is my /etc/dnsmasq.d/ltsp.conf file.

port=0

log-dhcp

tftp-root=/tftpboot

dhcp-boot=undionly.kpxe,192.168.1.5

dhcp-option=17,/var/www/html
# tried both of below with no luck but these shouldn't matter since IPXE is loading
# dhcp-option=pxe,66,192.168.1.5
# dhcp-option=66,192.168.1.5

dhcp-option=vendor:PXEClient,6,2b

dhcp-no-override

pxe-prompt=.Press F8 for boot menu., 3

pxe-service=X86PC, .Boot from network., undionly.kpxe

# pxe-service=X86PC, .Boot from local hard disk., 0

dhcp-range=192.168.1.5,proxy,255.255.255.0
(2018-01-13 03:57)JCDinPGH Wrote: [ -> ]I have a FOG server setup and working correctly. Because I am using it at home, my FIOS router also provides a DHCP server so I want to use DNSMASQ as a DHCP proxy server to handle requests and respond with a TFTP address. So far, this is all working correctly. When I PXE boot, it correctly gets a DHCP address from the FIOS router and DNSMASQ correctly provides the TFTP ip address. IPXE correctly loads but always prompts for a TFTP ip address. I know this usually occurs when there are multiple DHCP servers in the network but I have verified the only DHCP server is the one provided by the FIOS router. DHCPD is stopped on the FOG server. To test this, I disabled the DHCP server on the FIOS router, and the PXE boot just hangs as it never receives an IP address.
I also created a menu entry in the FOG server that executes the "config" command so I could look at the IPXE settings, and I verified that the NEXT-SERVER/Option 66 was correctly set to the ip address of the TFTP server.
If I manually enter the TFTP address, which the same as the FOG server, it PXE boots correctly to the menus entries I have configured on the FOG server.
What I can't figure out is why does IPXE always prompt for a TFTP address when it looks like everything is configured correctly and I have verified there is only the FIOS DHCP router providing DHCP. I'm so close to getting this to work! Help!

Below is my /etc/dnsmasq.d/ltsp.conf file.

port=0

log-dhcp

tftp-root=/tftpboot

dhcp-boot=undionly.kpxe,192.168.1.5

dhcp-option=17,/var/www/html
# tried both of below with no luck but these shouldn't matter since IPXE is loading
# dhcp-option=pxe,66,192.168.1.5
# dhcp-option=66,192.168.1.5

dhcp-option=vendor:PXEClient,6,2b

dhcp-no-override

pxe-prompt=.Press F8 for boot menu., 3

pxe-service=X86PC, .Boot from network., undionly.kpxe

# pxe-service=X86PC, .Boot from local hard disk., 0

dhcp-range=192.168.1.5,proxy,255.255.255.0

I also have gotten this partially solved with the following ltsp.conf:
# 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,,192.168.1.5

# 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,,192.168.1.5
dhcp-boot=net:UEFI,ipxe.efi,,192.168.1.5
dhcp-boot=net:UEFI64,ipxe.efi,,192.168.1.5

# 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=192.168.1.5,proxy

The only issue that is left, is that when using the ltsp.conf, above is that the UEFI boot works correctly, the "legacy" boot gets a:
“no space left on device”. http://ipxe.org/34182006
error when loading the boot.wim file which is larger than normal because it is built using WINBUILDER and includes several utilities and lots of drivers.
This is also being tracked over in the FOG project forums.
Reference URL's