Setting up a ‘PXE Network Boot Server’ for Multiple Linux Distribution Installations in RHEL/CentOS 7

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Matei Cezar

I'am a computer addicted guy, a fan of open source and linux based system software, have about 4 years experience with Linux distributions desktop, servers and bash scripting.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

59 Responses

  1. Akhil says:

    I already have a separate DHCP server. How can I use it instead of dnsmasq.

    • Matei Cezar says:

      Yes you can. Make sure you also install tftp-hpa server and remove dnsmasq server is it’s already installed on your system. Instruct isc-dhcp server to pxelinux.0 file: filename “pxelinux.0”;

  2. Doug Flahive says:

    Your approach does not support UEFI :-(
    I ended up using Serva.

  3. Naeem says:

    Is there any possibility to restrict IP allocation based on MAC address and avoid the ip range under /etc/dnsmasq.conf, my concern is if any VM boots off the same VLAN with PXE will pickup the IP.

    How can we avoid this?

  4. Naeem Ahmed says:

    Hi there, I am not able to boot from a local disk as an option 4.

    Do I need to add something there?

  5. CC says:

    HI i would like to ask how to set up Centos6.4 under RHEL7. I used to do with Centos6.4 it work properly, but under RHEL7 can;t work.
    label 1
    menu label ^1) Install CentOS 6.4 x64
    root (nd)
    kernel /kernel/centos6.4/vmlinuz ip=dhcp method=nfs:
    initrd /kernel/centos6.4/initrd.img

    why is this not working under RHEL7. It will told me mount error.

    • Matei Cezar says:

      I haven’t used nfs method so far! Check on the nfs server if the required ports are opened and the permissions set for nfs share.

  6. David Li says:

    I wonder why we need to install both tftp-server and vsftpd server. Is it because that the vmlinuz and initrd can only be downloaded using tftp and repo files can be download using vstftp server?


  7. IvanM says:


    I did everthing like in the post but DHCP does not give IP address to new computer on the network.
    Can any one help me please?


    • Matei Cezar says:

      On the server side: verify the firewall configuration, both input and output to see if it blocks dhcp transactions! Check dhcp log messages to see if a dhcp requests (discover, offer, request and ack) is made from client MAC address with the command: tailf /var/log/messages
      On the client side: make sure the NIC is instructed to obtain TCP/IP configurations through dhcp.

  8. Valeriy says:

    With a built-in TFTP in DNSMASQ you don’t need to install a standalone TFTP.

  9. Daniel says:

    I allready have a DNS resolver running on a Pfsensebox and i was wondering if it possible to use the Pfsense DNS instead of DNSmasq

    • Matei Cezar says:

      If Pfsense DNS resolver and DHCP server has advanced options and can support adding entries for PXE and Tftp then you can go with it!

  10. Jesse Dale says:

    Excellent! I now have PXE boot with kickstart option on my centos7 server, and I’m going to write a small script to enable/disable vsftpd & dnsmasq when kickstart isn’t in use. Either that or I write a script to append then remove the necessary iptables to close those ports.

    One minor detail, the step above where you enter “chmod -R 755 /var/lib/tftpboot/” is missing, and only has a picture for it.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.