I have a CentOS server for pxe booting. It worked Ok before implementing a UEFI booting. With service dhcpd status, I see that dhcpd is working but client computers cant boot. When restart service with service dhcpd restart, clients can boot just fine.
I am a self-taught person for Linux and I learned Linux in hard way.
Question. How to examine what is the problem before restarting service?
Question. Network issue, OS version issue or some problem with dhcpd.conf?
I tried to implement and UEFI support with IPv4 only for both Linux and Windows clients, and all problems with clients-cant-boot issue happen after UEFI implementing. So, this is my dhcpd.conf and I am asking for some advice for better conf file.
Code: Select all
authoritative;
ddns-update-style none;
ignore client-updates;
allow booting;
get-lease-hostnames true;
class "PXEClient" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
}
class "PXE-Server" {
match if substring (option vendor-class-identifier, 0, 10) = "PXE-Server";
}
# Etherboot is used to enable computers without built-in PXE support to boot from network, or to extend
# an existing client PXE implementation with support for additional protocols.
# While standard PXE client use TFTP to transfer data, gPXE client firmware adds the ability to retrive data
# through other protocols like HTTP, iSCSI and AoE
class "Etherboot" {
match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
}
# Anaconda is used for giving IPs for bootable Kickstarted Linux
class "anaconda" {
match if substring (option vendor-class-identifier, 0, 8) = "anaconda";
}
# udhcp is PXE client for Linux Client
class "udhcp" {
match if substring (option vendor-class-identifier, 0, 5) = "udhcp";
}
class "MSFT" {
match if substring (option vendor-class-identifier, 0, 4) = "MSFT";
}
option domain-name "pxe-server.xxx.yyy";
option domain-name-servers 10.1.0.1, 10.1.0.2;
subnet 10.1.0.0 netmask 255.255.0.0 {
# allow bootp;
# allow unknown-clients;
server-name "pxe-server";
option subnet-mask 255.255.0.0;
option broadcast-address 10.1.255.255;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option ip-forwarding off;
# one-lease-per-client true;
# range 10.1.240.20 10.1.240.40;
pool {
range dynamic-bootp 10.1.241.100 10.1.241.105;
default-lease-time 600;
max-lease-time 7200;
next-server 10.1.240.1;
option routers 10.1.0.1;
allow members of "PXEClient";
allow members of "anaconda";
allow members of "PXE-Server";
allow members of "udhcp";
if substring (option vendor-class-identifier, 15, 5) = "00007" {
filename "EFI/bootx64.efi";
}
else {
filename "BIOS/gpxelinux.0";
}
}
gpredrag.