Skip to main content

PXE (Preboot eXecution Environment)

Environment

Field Spec or Version
CPU QEMU Virtual CPU version 2.5+ (2 Cores)
RAM 2G
OS Rocky Linux 10.0 (Red Quartz)
Network interface ens18 with static IP 192.168.3.11/24
DNS 192.168.3.1 (Private DNS Server)

Package Installation

dnf install -y syslinux syslinux-tftpboot dnsmasq

Package Configuration

  • /etc/dnsmasq.conf
    # Listen on this specific port instead of the standard DNS port
    # (53). Setting this to zero completely disables DNS function,
    # leaving only DHCP and/or TFTP.
    port=0
    
    # Uncomment this to enable the integrated DHCP server, you need
    # to supply the range of addresses available for lease and optionally
    # a lease time. If you have more than one network, you will need to
    # repeat this for each network on which you want to supply DHCP
    # service.
    dhcp-range=192.168.3.200,192.168.3.250,12h
    
    # Override the default route supplied by dnsmasq, which assumes the
    # router is the same machine as the one running dnsmasq.
    # Do the same thing, but using the option name
    dhcp-option=option:router,192.168.3.1
    dhcp-option=option:dns-server,192.168.3.1
    
    # Set the boot filename for netboot/PXE. You will only need
    # this if you want to boot machines over the network and you will need
    # a TFTP server; either dnsmasq's built-in TFTP server or an
    # external one. (See below for how to enable the TFTP server.)
    dhcp-boot=syslinux.efi
    
    # Enable dnsmasq's built-in TFTP server
    enable-tftp
    
    # Set the root directory for files available via FTP.
    tftp-root=/var/tftp