Creating a PXE Deployment server with Red Hat Enterprise Linux 6

If you currently don’t have any structured means of managing deployments of Standard Operating Environments (SOE’s) in your organization, I seriously urge you to read on as learning how to deploy images over a network connection will save you a huge amount of time.

This guide will walk you through setting up a PXE boot server for you to deploy any form of network bootable operating systems.

A bit of background on this topic as to new users this will or is already a very confusing topic.
For starters, there is no such software called a “pxe server”. A PXE implementation is simply a combination of DHCP and a normal TFTP Server. The reason it is called PXE is because this is an acronym for “Preboot Execution Environment”.

In a nutshell, what we need to is the following

1. Install a TFTP server
2. Create our boot environment within our TFTP server
3. Point our DHCP servers to our new TFTP server
4. Enjoy not ever having to use a CD/DVD or USB boot device ever again.


Lets get started.

Install a TFTP server.

If you are using Red Hat Enterprise Linux, do the following

[root@deployment ~]# yum install -y tftp-server


Now we need to start the tftp-server service. Also make sure that the service will start on reboot.

To enable the service run the following

[root@deployment ~]# chkconfig tftp on
[root@deployment ~]# chkconfig xinetd on

Lets actually start the service. As tftp is a service that is based on xinetd, we need to make sure xinetd is running. If you start/restart, it will also subsequently start/restart tftp.

To start xinetd, run the following

[root@deployment ~]# service xinetd start
Starting xinetd:                                           [  OK  ]
[root@deployment ~]#

Lastly, we need to open our firewall to allow TFTP requests to come into our server.

[root@deployment ~]# iptables -I INPUT -p udp --dport 69 -j ACCEPT
[root@deployment ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@deployment ~]#


Should you chose to use Windows as your deployment servers, you can set up a windows based TFTP server with some freely available open source software called TFTPD32 and TFTPD64.

You can download this from the below link. I recommend you use the service edition installer.

NOTE: Yes windows does have its own TFTP based solution, but what ever you do, please don’t use it. Its a terrible implementation. Its bloated, not very user friendly and a real pain in the backside.

2 comments on “Creating a PXE Deployment server with Red Hat Enterprise Linux 6

  1. George November 10, 2013 07:35

    Thank you very much for the guide! Quite useful and result is impressive! I combined it with a kicksstart and voila: finally an automated deployment environment.

  2. umesh March 20, 2014 20:30

    thanks very much for the guide and result is spot on.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>