How does DHCPD determine what IP address to assign and...

Stulic,Damjan damjan.stulic at
Fri Dec 21 20:57:22 UTC 2007

If you are not the intended recipient of this message (including attachments), or if you have received this message in error, immediately notify us and delete it and any attachments.  If you no longer wish to receive e-mail from Edward Jones, please send this request to messages at  You must include the e-mail address that you wish not to receive e-mail communications.  For important additional information related to this e-mail, visit
-----Original Message-----

From: dhcp-users-bounce at [mailto:dhcp-users-bounce at] On
Behalf Of Ryan McCain
Sent: Friday, December 21, 2007 14:47
To: dhcp-users at
Subject: Re: How does DHCPD determine what IP address to assign and...

I found a few posts in the archives but am a bit confused.  I don't know
what the 0 and 9 are for and used the example I found as a template.  I
am on the right track if I want all DHCP clients that connect w/ the UID
containing ASYNC be assigned IP addresses between

class "DialUp" {
    match if substring(option vendor-class-identifier, 0, 9) = "ASYNC";
        log (info, " Matched Dialup Rule");


>>> On Fri, Dec 21, 2007 at 12:40 PM, in message
<a06240822c391b86b364d at>, Simon Hobson
<dhcp1 at> wrote: 
> Ryan McCain wrote:
>>1) If I have a defined scope of -, whill 
>>DHCPD hand out .1 to the first DHCPD client, .2 to the second and so 
>>on?  Or is there another algorithm thats used?
> No, officially the initial order is undefined - in practice, the 
> current implementation will allocate unused leases from the highest 
> address down for no other reason than the way they are hashed 
> internally.
> Once there are no "never used before" addresses left, addresses are 
> recovered from expired leases on a least recently used basis.
>>2) Is it possible to assign a subset of IP addresses in my scope to 
>>DHCP clients whos UID identifier contains a specific string?  For 
>>example, all dialup users have ASYNC in their UID.  We'd like to be 
>>able to assign them IP addresses - .180.
> Yes, see the list archives, and 'man dhcpd.conf' looking for classes 
> and subclasses.
> Very briefly, you define a class which matches on some criteria (such 
> as the UID starting with ASYNC), then define a pool and only allow 
> members of the class to use that pool.

If I am not mistaken:

class "DialUp" {
    match if substring(option vendor-class-identifier, 0, 5) = "ASYNC";
    log (info, " Matched Dialup Rule");

pool {
    allow members of "DialUp";

Damjan Stulic
IS Security - SIM

More information about the dhcp-users mailing list