netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a
Glenn Satchell
Glenn.Satchell at uniq.com.au
Thu Aug 16 15:56:28 UTC 2007
In version 3.0.1 onwards you can define new optionnames within
dhcpd.conf. Add these definitions to your new dhcpd.conf:
option mac-nc-client-unknown code 220 = string;
option mac-nc-client-id code 221 = text;
option mac-version code 230 = string;
option mac-user-name code 232 = text;
option mac-password code 233 = text;
option mac-nb-img code 234 = string;
option mac-apps-img code 235 = string;
option mac-machine-name code 237 = text;
option mac-client-nb-img 238 = string;
I think that's right. 'X' is a string and 't' is ascii text.
There's also some other things in that diff. The option
dhcp-parameter-request-list looks like it needs to be set.
+ priority_list [priority_len++] = DHO_SUBNET_MASK;
+ priority_list [priority_len++] = DHO_ROUTERS;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_VERSION;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_USER_NAME;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_MACHINE_NAME;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_PASSWORD;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_NB_IMG;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_APPS_IMG;
+ priority_list [priority_len++] = DHO_MAC_NC_SERVER_CLIENT_NB_IMG;
Just need to find these and set them, in hex, eg:
option dhcp-parameter-request-list = 1:3:dc:dd:e6:e8:e9:ea:eb:ed:ee;
There might be some other fiddling required, but this looks about it.
Of course you probably want to put this in a class so that these
options are only set for your netbooting apple clients:
class "apple" {
match if option dhcp-client-identifier = "Apple Mac NC";
option dhcp-parameter-request-list = 1:3:dc:dd:e6:e8:e9:ea:eb:ed:ee;
option dhcp-max-message-size = 576;
option mac-nc-client-unknown code 220 = string;
option mac-nc-client-id code 221 = text;
option mac-version code 230 = string;
option mac-user-name code 232 = text;
option mac-password code 233 = text;
option mac-nb-img code 234 = string;
option mac-apps-img code 235 = string;
option mac-machine-name code 237 = text;
option mac-client-nb-img 238 = string;
option mac-version = 0;
option mac-user-name = "netboot";
# etc
}
I hope this gives you most of what you need, and a way to work out the
rest.
regards,
-glenn
>Date: Thu, 16 Aug 2007 10:59:03 -0400
>From: Robert G Colantuoni <rgc at oss.buffalo.edu>
>To: dhcp-users at isc.org
>Subject: Re: netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a
>
>From: http://frank.gwc.org.uk/~ali/nb/dhcp-2.0+macnb.0.1.diff
>
>{ "mac-nc-client-unknown", "X", &dhcp_universe, 220 },
>{ "mac-nc-client-id", "t", &dhcp_universe, 221 },
>{ "mac-version", "X", &dhcp_universe, 230 },
>{ "mac-user-name", "t", &dhcp_universe, 232 },
>{ "mac-password", "t", &dhcp_universe, 233 },
>{ "mac-nb-img", "X", &dhcp_universe, 234 },
>{ "mac-apps-img", "X", &dhcp_universe, 235 },
>{ "mac-machine-name", "t", &dhcp_universe, 237 },
>{ "mac-client-nb-img", "X", &dhcp_universe, 238 },
>
>
>Robert G Colantuoni
>CIT - Operational Support Services
>University at Buffalo
>rgc at oss.buffalo.edu
>716.645.3552
>
>
>
>Glenn Satchell wrote:
>> The undocumented change is to the source code for 3.0pl1. Do you have
>> or can you get the source for that version (with the changes). Look in
>> the file common/tables.c amd find "struct option dhcp_options". Lookin
>> this table for the mac-xxx commands. Make a note of the option number,
>> eg:
>>
>> static struct option dhcp_options[] = {
>> { "subnet-mask", "I", &dhcp_universe, 1, 1 },
>> { "time-offset", "l", &dhcp_universe, 2, 1 },
>> { "routers", "IA", &dhcp_universe, 3, 1 },
>>
>> routers is option 3. For newer version of dhcpd you don't need to hack
>> the source, you can add the definitions in dhcpd.conf. Say the option
>> for mac-version is 125. In your dhcpd.conf create an entry:
>>
>> option mac-version code 125 = integer 8;
>> option mac-version 0;
>>
>> The details are in the dhcp-options man page, search for DEFINING NEW
OPTIONS.
>>
>> If you don't have access to the hacked source, then all is not lost.
>> You could capture some dhcp network traffic and get the option numbers
>> that way. Same deal as far as adding the entries to dhcpd.conf.
>>
>> regards,
>> -glenn
>>
>>> Date: Thu, 16 Aug 2007 08:26:28 -0600
>>> From: Aaron Johnson <ajohnson at terrasoftsolutions.com>
>>> To: dhcp-users at isc.org
>>> Subject: netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a
>>>
>>> All,
>>> I have several Apple PPC64 Xserves I have been able to netboot with dhcp
>>> version 3.0pl1-9a but with any new version I try dhcp won't even start
>>> I get the following error in /var/log/messages (this was with dhcp
>>> version 3.0.3-28)
>>>
>>> Aug 16 14:21:52 localhost dhcpd: dhcpd startup failed
>>> Aug 16 14:21:59 localhost dhcpd: /etc/dhcpd.conf line 5: unknown option
>>> dhcp.mac-version
>>> Aug 16 14:21:59 localhost dhcpd: option mac-version 0:
>>> Aug 16 14:21:59 localhost dhcpd: ^
>>> Aug 16 14:21:59 localhost dhcpd: /etc/dhcpd.conf line 6: unknown option
>>> dhcp.mac-user-name
>>> Aug 16 14:21:59 localhost dhcpd: option mac-user-name "netboot"
>>> Aug 16 14:21:59 localhost dhcpd: ^
>>> Aug 16 14:21:59 localhost dhcpd: Configuration file errors encountered
>>> -- exiting
>>>
>>>
>>> The relavent psrt of my /etc/dhcp.conf file is:
>>>
>>> allow bootp;
>>> ddns-update-style interim;
>>> default-lease-time 30000000000;
>>> option mac-version 0:0:0:0;
>>> option mac-user-name "netboot";
>>>
>>> subnet 192.168.200.0 netmask 255.255.255.0 {
>>> option routers 192.168.200.172;
>>> option subnet-mask 255.255.255.0;
>>> filename "yhpc-ppc64.img";
>>> next-server 192.168.200.172;
>>> allow bootp;
>>> range dynamic-bootp 192.168.200.100 192.168.200.199;
>>> }
>>>
>>>
>>>
>>> I have also tried upgrading to dhcp 3.0.6, 3.1.0, and 4.0.0 without any
>>> success. I have looking through all the man pages for all version and
>>> the change log neither one says anything about needing to change the
>>> "option mac-..." lines for the newer versions, I was hoping someone
>>> could help me figure out this un-documented change.
>>>
>>> Aaron
>>>
>>
>
More information about the dhcp-users
mailing list