address pools

Simon Hobson dhcp1 at thehobsons.co.uk
Thu Nov 16 16:09:24 UTC 2006


Chris Miller wrote:

>I did discover classes and I'm aware that I can "allow" and "deny' members
>of <class> in the pools, but it is not clear haw I assert that my hosts are
>members of <class>.  The doc show lots of ways to interrogate options that
>are already there but I'm hoping I can do something like:
>
>	Host trax {hardware ethernet XX:XX:XX:XX:XX:XX; class "servers"' }
>
>... or even
>
>	Host trax {hardware ethernet XX:XX:XX:XX:XX:XX; class "servers"';
>class "static"; class "infrastructure"}
>
>... but I've found nothing that hints at this.

No, unfortunately you can't do that - you're not the first to ask. 
See the section on subclassing where there is an example of how to 
assign devices to classes by arbitrary MAC addresses.


then he wrote:

>==================
>~~~~~~~~~~~~~~~~~~
>1) Is it possible to echo values so I can see what dhcpd is doing and why?
>Maybe a trace of some kind?
>~~~~~~~~~~~~~~~~~~
>==================

log ( ... )

>2) Using the subclass, I need to record the MAC address in two places -- the
>subclass directive and the host directive.  Is there any way to combine
>these?  For example, being able to subclass based on host name as assigned
>by dhcpd?  Cut-and-paste makes the typing easy, but there is always the
>possibility of version skew...

Sorry, you're stuck with that.

>3) What does "match-first value"  mean?  I find exactly two references in
>man dhcpd.conf and they are both uses -- no explanations.  I can guess, but
>I've been wrong before...

It means, try the following list of values/expressions, and pick the 
first one that actually has a value. Useful when dealing with values 
that may or may not be set - such as ClientID

>4) I've seen indications that dhcp-client-identifier is <protocol>:<MAC
>address>, where <protocol> == "1" in the case of ethernet.  Is this correct?

Absolutely not - except in Redmond ;-) The specification doesn't 
specify what should be in the client-id field, only that it needs to 
be unique across all clients that any server is supporting (or left 
empty as is the default on Mac or Linux). Microsoft however decided 
that their client would set it to <network type>:MAC and you can't 
change it - which causes no end of problems in some situations. On a 
Mac you can set it through the Network control panel, on Linux you 
can configure it via the dhcp client config file.

>5) What is "dhcp-client-identifier" and can I set it through dhcpd or is the
>completely the jurisdiction of the client?

The client identifier (ClientID) is simply a field in the dhcp 
packets. The client may set it if it wishes, or may leave it empty.

>Why do I need it, if I have my
>heart set on using the MAC address?

In general you don't need it, but some admins prefer to use it - for 
example setting it to a hardware ID tag. If you do set it, then it 
MUST be unique.

All the logic in the server is done on the basis that the client 
identification is "the ClientID if it's set, otherwise the MAC 
address if it isn't". So if you do set a client ID on a client, you 
can change the network card (different MAC) and it will still get the 
same IP address etc - because as far as the server is concerned it is 
the same client.

>6) My class can clearly have more than on thing, but can my thing be in more
>than one class?

Yes



More information about the dhcp-users mailing list