DHCP server
Jump to navigation
Jump to search
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