DHCP server: Difference between revisions
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 5: | Line 5: | ||
In this example, server on subnet 167 (129.57.167.139), and client on subnet 86. | 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: | Config file /etc/dhcp/dhcpd.conf should looks like this (replace 129.57.167.139 with the server address): | ||
# | # | ||
# DHCP Server Configuration file. | # DHCP Server Configuration file. | ||
# see /usr/share/doc/dhcp | # see /usr/share/doc/dhcp-server/dhcpd.conf.example | ||
# see dhcpd.conf(5) man page | # see dhcpd.conf(5) man page | ||
# | # | ||
Line 18: | Line 18: | ||
max-lease-time 7200; | max-lease-time 7200; | ||
# subnet 167 | |||
subnet 129.57.167.0 netmask 255.255.255.0 { | subnet 129.57.167.0 netmask 255.255.255.0 { | ||
option routers 129.57.167.99; | option routers 129.57.167.99; | ||
Line 32: | Line 32: | ||
allow declines; | 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 | # DISKLESS Clients in here | ||
group | group | ||
{ | { | ||
if substring(vendorclass, 0, 9)="PXEClient" { | |||
if pxetype=00:06 or pxetype=00:07 { | if pxetype=00:06 or pxetype=00:07 { | ||
filename "efi/boot/grub2/x86_64-efi/core.efi"; | filename "efi/boot/grub2/x86_64-efi/core.efi"; | ||
Line 43: | Line 47: | ||
filename "linux-install/pxelinux.0"; | filename "linux-install/pxelinux.0"; | ||
} | } | ||
} | |||
next-server 129.57.167. | next-server 129.57.167.4; | ||
host test333 { | host test333 { | ||
hardware ethernet 00:20:38:04:3a:8a; | hardware ethernet 00:20:38:04:3a:8a; | ||
fixed-address 129.57.86.7; | 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 | } # Diskless clients group | ||
Enable and start service: | Enable and start service: |
Latest revision as of 09:36, 9 September 2025
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