BOOTP from dynamic client and no dynamic leases

Bill Moseley moseley at hank.org
Thu Nov 8 14:41:28 UTC 2007


I'm still working on trying to get iMacs to boot off the network.
I have two problems, and I assume they are related.

Newer Apples send a vender-class-identifier that I can match on, and
that allows them to boot (well, almost, but that's another story).

my dhcpd.conf file has two class blocks:

class "AppleNBI-ppc" {
    match if substring (option vendor-class-identifier, 0, 13) = "AAPLBSDPC/ppc";
    ...
}
class "PC-i386" {
    match if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient";

    filename "/ltsp/i386/pxelinux.0";
}

But when I try and boot with an older G3 iMac DHCPD never responds and
I see "BOOTP from dynamic client and no dynamic leases" in the logs.

I tried removing the class { } block from dhcpd.conf for the Apple to
make the apple settings global, but that didn't work.

Do I understand class {} correctly that if the "match" matches then
all the settings within that class will apply?

Now, the docs say BOOTP clients need "hardware".  Will I need to use instead?

    group {
        # options for the entire group

        host { hardware ethernet 0:c0:c3:49:2b:57; }
    }

I'm a bit confused by that because I'm able to boot other Macs with
just the config below (i.e. w/o specifying the hardware address).


Here's my dhcpd.conf:



ddns-updates off;           # Don't attempt to do any DNS updates (default is on)
ignore client-updates;      # Default is to allow
authoritative;

# Deal with broken mac clients.  Not sure what these first options do.
option option-128 code 128 = string;
option option-129 code 129 = text;
option dhcp-parameter-request-list 1,3,6,15,17,43,44,46,60;

# Define a class for Apple Powerpc
# http://www.afp548.com/article.php?story=20061220102102611

class "AppleNBI-ppc" {
    match if substring (option vendor-class-identifier, 0, 13) = "AAPLBSDPC/ppc";

    option dhcp-parameter-request-list 1,3,6,12,15,17,43,53,54,60;

    # The Apple Boot Loader binary image. This file will in turn TFTP the
    # kernel image and extension cache.
    filename "/ltsp/powerpc/yaboot";


    option vendor-class-identifier "AAPLBSDPC";  # now sure what this does

    if (option dhcp-message-type = 1) {     # DHCP Discover
        option vendor-encapsulated-options 08:04:81:00:00:09;
    }

    elsif (option dhcp-message-type = 8) {  # DHCP Inform
        option vendor-encapsulated-options 01:01:02:08:04:81:00:00:09;
    }

    else {
        option vendor-encapsulated-options 00:01:02:03:04:05:06:07;
    }


    option root-path "192.168.0.254:/opt/ltsp/powerpc";
}


class "PC-i386" {
    match if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient";

    filename "/ltsp/i386/pxelinux.0";
}




subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.20 192.168.0.250;
    option broadcast-address 192.168.0.255;
    option subnet-mask 255.255.255.0;


    # LAN config
    option domain-name "hank.org";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.0.254;

}





-- 
Bill Moseley
moseley at hank.org



More information about the dhcp-users mailing list