Use dnsmasq on the fog server to supply the pxe boot information.
The quick steps are this.
- Remove the pxe boot information from your router.
- Install dnsmasq service from your linux distribution’s repo
- Make sure its at least version 2.76 by issuing this command at the fog server’s linux command prompt
sudo dnsmasq -v The version needs to be 2.76 or later.
- Create a configuration file called
- Paste this content into that file.
# Don't function as a DNS server:
# Log lots of extra information about DHCP transactions.
# Set the root directory for files available via FTP.
# The boot filename, Server name, Server Ip Address
# 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.
# inspect the vendor class string and match the text to set the tag
# Set the boot file name based on the matching tag from the vendor class (above)
# 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
- Be sure to replace
<fog_server_ip> exactly with the IP address of your fog server. Be aware that
<fog_server_ip> appears multiple times in the config file.
- Save and exit your text edit.
- Issue the following command to restart dnsmasq service
sudo systemctl restart dnsmasq
- Ensure that dnsmasq service is running in memory by issuing this command
ps aux|grep dnsmasq. You should see more than one line in the response. If its running then go to step 10.
- Ensure that dnsmasq starts when the system is rebooting with
sudo systemctl enable dnsmasq
- PXE boot a target computer.
NOTE: If you are supporting multiple foreign subnets (not on the same subnet as your dnsmasq server, you will need to add additional with dhcp-range statements that properly describe that foreign network segment. If you fail to do this the dnsmasq server will not respond to the request from your dhcp-relay service an example of what is needed is below:
Dhcp option 93 to hardware type table
DHCP option 93 Client architecture|
0 Standard PC BIOS
6 32-bit x86 EFI
7 64-bit x86 EFI
9 64-bit x86 EFI (obsolete)
10 32-bit ARM EFI
11 64-bit ARM EFI