How to configure PXE Server in RHEL 6 ?
Server IP settings.
IP 192.168.0.70 SUBNET 255.255.255.0 nmcontrolled no onboot yes DNS1=192.168.0.1
Yum install system-config-kickstart # Install the kickstart package. system-config-kickstart # run the kickstart utility.
In the second last option you can remove text mode installation option and opt
For a graphical one.
Select the http installation method
Use the defaults.
In the disk label option choose the first option (Initialize the disk label). The partitions that I have created are like this. Mount Point type size /boot ext4 500 swap swap 2048 / ext4 18000
Make sure that SELinux option is disabled and
Security level is set to Disable firewall.
Save the ks.cfg file to the filesystem.
Yum install –y syslinux xinetd tftp-server dhcp httpd # Install all the required packages through yum mkdir /var/lib/tftpboot/pxelinux.cfg cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ vi /etc/xinetd.d/tftp # Open the xinetd settings to enable tftp server. # at line 14 set the parameter to no from yes. Disable=no
service xinetd restart
# Restart the service to apply the settings made.
chkconfig xinetd on
# set the service to start with each subsequent system reboots.
vi /etc/dhcp/dhcpd.conf
# Open the file and configure the DHCP Server.
# Global Options
Allow booting;
Allow bootp;
authoritative;
# Subnet definition
subnet 192.168.0.0 netmask 255.255.255.0 {
# Parameters for the local subnet
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name “example.com”;
option domain-name-servers 192.168.0.1;
default-lease-time 21600;
max-lease-time 43200;
# Client IP range
range dynamic-bootp 192.168.0.100 192.168.0.200;
filename “pxelinux.0”;
next-server 192.168.0.70;
}
# Here the next–sever parameter is the address of the kickstart server.
service dhcpd restart
Chkconfig dhcpd on
# restart the service and make it permanent.
mkdir –p /var/pxe/rhel6
mkdir /var/lib/tftpboot/rhel6
# make some required directories.
Insert your RHEL 6 dvd
mount /dev/cdrom /mnt
# Mount it to /mnt
ls –l /mnt
# Check the contents to see if it is properly mounted.
cp –ivr /mnt/* /var/pxe/rhel6
# copy all the contents to the /var/pxe/rhel6 directory.
umount /mnt
eject
# after the file copy operation unmount and eject the dvd.
cp /var/pxe/rhel6/images/pxeboot/vmlinuz /var/lib/tftpboot/rhel6
cp /var/pxe/rhel6/images/pxeboot/initrd.img /var/lib/tftpboot/rhel6
# copy the vmlinuz and initrd.img files to the tftpboot directory.
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
# copy the menu file.
vi /var/lib/tftpboot/pxelinux.cfg/default
timeout 100
default menu.c32
menu title $$$$$$Boot Menu$$$$$$
label 1
menu label ^ 1) RHEL6
kernel rhel6/vmlinuz
append initrd=rhel6/initrd.img ks=http://192.168.0.70/ks/ks.cfg ksdevice=eth0
# Prepare the boot menu.
chkconfig httpd on vi /etc/httpd/conf.d/pxeboot.conf # create new entry Alias /rhel6 /var/pxe/rhel6 Options Indexes FollowSymLinks Order Deny,Allow Deny from all Allow from 127.0.0.1 192.168.0.0/24 # Ip address you allow service httpd restart (ignore the domain name error if it occurs.) # Prepare the httpd server mkdir /var/www/html/ks cp /ks.cfg /var/www/html/ks/ks.cfg chmod 644 /var/www/html/ks/ks.cfg # make the directory and copy the kickstart file to it. # and make the kickstart file globally read only.
The pxe server is ready. Plug a computer into the network and boot it through LAN using pxe. The client pc should have a display as below.


Comments
Post a Comment