To use PXE Network Boot, you need a working DHCP server and TFTP server (Prerequisites for using PXE network boot).
The most common DHCP server on Linux and Unix is ISC DHCPD. To install a DHCP server on the Linux distribution that supports yum, such as Fedora and CentOS, run the following command:
Other Linux distributions and Unix variants have their own methods of software installation. For example, on distributions that support aptitude, such as Debian and Ubuntu, ISC DHCP can be installed with the command:
After the installation, you will need to configure at least one (1) subnet. Consult the documentation supplied with the DHCP server. The most important part of the configuration is providing the DHCP clients with the IP address of the TFTP server and the boot file name.
An example of a DHCP server configuration file with a TFTP server (marked green) and a boot filename (marked red) is provided below:
subnet 192.168.5.0 netmask 255.255.255.0;
range 192.168.5.200 192.168.5.254;
option domain-name-servers 184.108.40.206;
option bootfile-name "pxelinux.0";
option domain-name "yourcompany.com";
The next-server (TFTP-server) statement is used to specify the IP address of the server from which the initial boot file (specified in the filename statement) should be loaded. If no next-server parameter is supplied, the client should use the IP address of the DHCP server. But this may not work with some network cards, so it is better to specify next-server explicitly.
Trivial File Transfer Protocol (TFTP) is a very simple file transfer protocol. Since it is very simple, its implementations can fit in a very small amount of memory. TFTP was initially used for booting network devices, such as routers, which did not have any data storage on-board. Today, TFTP is still used to transfer small files between different hosts on a network, such as when a remote X Window System terminal or any other thin client boots from a network server. TFTP is also widely used for upgrading firmware on different network devices.