top of page
Recent Posts

How to configure PXE Server in Advanced Way

Updated: Oct 3, 2021


In my previous post, I have described how to start with the PXE server for the network operating system installation. See the below link, if missed out.

"How to configure PXE (Network Boot) installation Server on Red Hat Enterprise Linux 7"


Now I am going to add some more configuration in my existing setup based on my requirement:

  • PXE server has to configure multiple network interfaces during installation.

  • Need to have a default route as well as the static route via DHCP.

  • Could have a binding/teaming interface and so on.

Step:1 We need to do some necessary configuration changed in the DHCP server for a default route as well as the static route.

See my previous post "How to configure the DHCP server to distribute Static IP routes" to do that.

Note: Please make sure about the IP Address. I might use different IP Addresses in different scenarios.

Step:2 Need to change/add the configuration file (/var/lib/tftpboot/pxelinux.cfg/default) for the PXE server.


# vi /var/lib/tftpboot/pxelinux.cfg/default

::::::::::::: CUT SOME OUTPUT :::::::::::::
menu title ######## PXE Boot Menu ########  
label 1
menu label ^1) Install RHEL 7 1xETH
kernel rhcos/vmlinuz
append initrd=rhcos/initrd.img method=http://192.168.122.144/rhel7 devfs=nomount

label 2
menu label ^1) Install RHEL 7 2xETH
kernel rhcos/vmlinuz
append initrd=rhcos/initrd.img ip=:::::eth0:dhcp ip=192.168.123.112::192.168.123.1:255.255.255.0::eth1:none nameserver=192.168.122.254 method=http://192.168.122.144/rhel7 devfs=nomount

label 3
menu label ^1) Install RHEL 7 3xETH,BOND0
kernel rhcos/vmlinuz
append initrd=rhcos/initrd.img bond=bond0:eth1,eth2:mode=802.3ad,lacp_rate=fast,miimon=100,xmit_hash_policy=layer2+3 ip=:::::eth0:dhcp ip=192.168.123.112::192.168.123.1:255.255.255.0::bond0:none nameserver=192.168.122.254 method=http://192.168.122.144/rhel7 devfs=nomount

label 4
menu label ^1) Install RHEL 7 3xETH,BOND0,VLAN
kernel rhcos/vmlinuz
append initrd=rhcos/initrd.img bond=bond0.150:eth1,eth2:mode=802.3ad,lacp_rate=fast,miimon=100,xmit_hash_policy=layer2+3 ip=:::::eth0:dhcp ip=192.168.123.112::192.168.123.1:255.255.255.0::bond0.150:none vlan=bond0.150:bond0 nameserver=192.168.122.254 method=http://192.168.122.144/rhel7 devfs=nomount

::::::::::::: CUT SOME OUTPUT :::::::::::::
Note: The ip option on the kernel command line: ip<client-IP-number>:[<server-id>]:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:{dhcp|dhcp6|auto6|on|any|none|off}

Step:3 To verify and boot the client systems with the PXE boot option.

We can select the installation method (1,2,3..) from the PXE Boot menu screen. And after that, we can proceed with the installation.

After the successful boot up the system with the PXE boot server, we can check the network configuration at the anaconda command line terminal.

If we select installation method 4 (e.g. 3xETH,BOND0,VLAN), Then the network configuration at the anaconda command line terminal will be:

Step:3 After the successful operation system installation, we can verify the post-installation network configuration.