Installing and configuring TFTP and DHCP for WADS

Installing and configuring a TFTP server

Warning

If you have installed another tftp server on the WAPT Server, please uninstall it first.

This documentation is for WAPT 2.2.1 and higher

Choose your distribution

  • Enable and start tftp serverInstall the TFTP server.

systemctl enable wapttftpserver
systemctl start wapttftpserver
  • You may test that the tftp server works properly using a tftp client and test download the ipxe.efi file. If you are testing the following command on a Redhat based machine other than the waptserver, beware of the local outbound firewall that blocks outgoing tftp client requests.

cd ~
tftp srvwapt.mydomain.lan
  binary
  get ipxe.efi
  quit
ls -l ipxe.efi

Installing and configuring a DHCP server

The PXE booting is a two step process. First the UEFI/BIOS bootloader will download iPXE binary from the tftp server, then iPXE binary will download the iPXE script and boot binaries from http. This is why we need to have a two step PXE DCHP configuration.

For example:

<!-- global options -->
next-server 192.168.1.30;

option ipxe-url code 175 = text;
option client-architecture code 93 = unsigned integer 16;

<!-- subnet mydomain.lan netmask 255.255.255.0 -->

if option client-architecture = 00:00 {
  if exists user-class and option user-class = "iPXE" {
    filename "http://srvwapt.mydomain.lan/api/v3/baseipxe?uefi=false";
  }
  else{
    filename "undionly.kpxe";
  }

} else {
  if exists user-class and option user-class = "iPXE" {
    option ipxe-url "http://srvwapt.mydomain.lan:80/";
    filename "http://srvwapt.mydomain.lan/api/v3/baseipxe";
  }
  else{
    filename "ipxe.efi";
  }
}

For more information you can refer to https://ipxe.org/howto/dhcpd