DHCP server
Configure DHCP server on RHEL9
yum install dhcp-server
In this example, server on subnet 167 (129.57.167.139), and client on subnet 86.
Config file /etc/dhcp/dhcpd.conf should looks like this (replace 129.57.167.139 with the server address):
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
option domain-name "jlab.org";
option domain-name-servers 129.57.90.255, 129.57.32.101;
default-lease-time 600;
max-lease-time 7200;
# subnet 167
subnet 129.57.167.0 netmask 255.255.255.0 {
option routers 129.57.167.99;
deny unknown-clients;
}
# subnet 86
subnet 129.57.86.0 netmask 255.255.255.0 {
option broadcast-address 129.57.86.255;
option subnet-mask 255.255.255.0;
option routers 129.57.86.1;
deny unknown-clients;
allow declines;
}
# important settings to recognize PXE boot from UEFI boot controllers
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
set pxetype = option pxe-system-type;
# DISKLESS Clients in here
group
{
if substring(vendorclass, 0, 9)="PXEClient" {
if pxetype=00:06 or pxetype=00:07 {
filename "efi/boot/grub2/x86_64-efi/core.efi";
} else {
filename "linux-install/pxelinux.0";
}
}
next-server 129.57.167.4;
host test333 {
hardware ethernet 00:20:38:04:3a:8a;
fixed-address 129.57.86.7;
}
host test444 {
hardware ethernet 00:20:38:10:15:03;
fixed-address 129.57.86.5;
}
} # Diskless clients group
Enable and start service:
systemctl enable dhcpd systemctl start dhcpd
Check service status, fix errors if any:
systemctl status dhcpd
Configure local DHCP server on RHEL7
yum install dhcp
Config file /etc/dhcp/dhcpd.conf should looks like this:
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.10.0 netmask 255.255.255.0 {
option domain-name "clontest.com jlab.org";
option domain-name-servers 192.168.10.1;
option routers 192.168.10.1;
use-host-decl-names true;
pool {
range 192.168.10.2 192.168.10.20;
deny dynamic bootp clients;
allow unknown clients;
}
}
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
set pxetype = option pxe-system-type;
# DISKLESS Clients in here
group
{
if substring(vendorclass, 0, 9)="PXEClient" {
if pxetype=00:06 or pxetype=00:07 {
filename "efi/boot/grub2/x86_64-efi/core.efi";
} else {
filename "linux-install/pxelinux.0";
}
}
next-server 192.168.10.1;
host test5 {
hardware ethernet 00:20:38:10:14:f7;
fixed-address 192.168.10.5;
}
host test6 {
hardware ethernet 00:20:38:0A:07:D7;
fixed-address 192.168.10.6;
}
host test7 {
hardware ethernet 00:20:38:0F:2C:0D;
fixed-address 192.168.10.7;
}
} # Diskless clients group
Enable and start service:
systemctl enable dhcpd systemctl start dhcpd
Check service status, fix errors if any:
systemctl status dhcpd