Configuring an PXE Server for Kickstarting RHEL Machines

1. Make the interface eth1 available.

Modify the file /etc/sysconfig/network-scripts/ifcfg-eth1:
DEVICE=eth1
HWADDR=52:54:00:00:00:64
IPADDR=192.168.0.100
PREFIX=24
ONBOOT=yes
BOOTPROTO=static

2. Install several packages

Install the required packages with
# yum -y install dhcp syslinux-tftpboot tftp-server syslinux httpd vsftpd

3. Modify the file /etc/sysconfig/dhcpd

The DHCP service should be bound to the second NIC only to avoid conflicts.
DHCPDARGS=eth1

4. Configure dhcpd

5. Activate ip-forwarding and the firewall for DNS

6. Configure and enable TFTP

7. Configure PXE

Preboot Execution Environment (PXE) is a way to boot a machine over the network. To obtain this, we need the following commands:
# mkdir -p /var/lib/tftpboot/linux-install/pxelinux.cfg
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/linux-install
# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/linux-install

8. Modify the Boot Menu

The file to modify is /var/lib/tftpboot/linux-install/pxelinux.cfg/default:
timeout 100
default menu.c32
menu title Install Menu
label 1
menu label ^ 1) RHEL6
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.0.100/test.cfg

9. Copy the installation Image from the ISO

10. Restart services

Restart the configured services with
# service xinetd restart
# service dhcpd restart

11. Copy the contents of the installation ISO

12. Modify the kickstart file

13. Start and enable the FTP und Web services

# chkconfig vsftpd on
# chkconfig httpd on
# service vsftpd start
# service httpd start

Remarks

Depending on the IP, network and MAC of the second NIC, replace the values 192.168.0.100 , 192.168.0.0 und 52:54:00:00:00:64 in the configuration files above. The same applies to the network of the first NIC configured in this example to 192.168.122.0/24.