Problem with DHCP service and UEFI issue...

Issues related to configuring your network
Post Reply
gpredrag
Posts: 1
Joined: 2015/05/01 06:21:41

Problem with DHCP service and UEFI issue...

Post by gpredrag » 2015/05/01 06:43:29

Hello all!

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";
        }
}
One more thing. This dhcpd.conf gives IP only to clients for booting from network and not for live system.

gpredrag.

Post Reply