Configuration question..

Glenn Satchell Glenn.Satchell at
Tue Sep 12 15:32:51 UTC 2006

>To: dhcp-users at
>Subject: Re: Configuration question..
>From: Keith.Neufeld at
>Date: Tue, 12 Sep 2006 09:20:54 -0500
>> . . .
>> The webmin gui doesn't show us the defined hosts we have, and we can't 
>> figure out where/how to add them.. so I started to think that somehow 
>> our config is incorrect..
>> . . .
>> We use hosts in pools, b/c I have one setup for unknown clients and one 
>> for known clients.. and well, in the pools I can't see the defined hosts 
>> that we have in the webmin gui.
>The fact that the host declarations are inside the pool declaration is 
>actually irrelevant to whether they can get a lease from that pool or 
>not--the determination is made (in your configuration) by whether they're 
>known (listed anywhere in the configuration) or unknown.
>To demonstrate that, take the host declaration for ronlapbop [sic] and 
>move it to the "Public Network" section of your configuration, 
>then try to boot it on your subnet.  It'll still get an 
>address from one of your known-host ranges, _not_ from the 
>range for unknown clients.
>There's been a thread on the mailing list recently about proper placement 
>of host declarations; but the common wisdom is to put them _outside_ of 
>all blocks, in the global scope, UNLESS you specifically want them to use 
>some of the options from their "home" subnet even when they're roaming to 
>other subnets.  [Did I say that about right?]  Putting host declarations 
>inside subnet or pool declarations can lead people to think the hosts are 
>tied to getting addresses only from the subnet or pool (which isn't 
>actually the case), so it's nicer to put them globally and avoid the 
>It may be just the way my browser is displaying the file, but I prefer 
>indenting blocks visually to match their syntactic nesting--so it'd be 
>easier for me to read quickly if e.g. the stuff inside the 
>pool were indented by another tabstop, and the hosts inside it (if they 
>stay there) indented two tabstops from where they appear now.
>My $.02.

One other idea is to use the group { } function when you have some
common options for different groups of hosts. See below.

I also agree with the wisdom of moving the host declarations to the
global scope. They will still pick up appropriate subnet and pool
settings based on whichever subnet or pool they get assigned an address
from. I would venture to say this seems to be the collective "best
practice" of the mailing list.

I would then move the option settings from the pool to the subnet scope.

The file would start to look a bit like this:

#global options

group {
  option routers;
  host ... { }
  host ... { }
host ... { }
host ... { }

subnet netmask {
    option domain-name ""; 
    option domain-name-servers;
    option netbios-name-servers;
    option netbios-node-type 8;
    #option netbios-node-type 4;
    option routers;
    #option routers;

    pool {
        deny unknown clients;
        range ...
    } # close pool
} # close subnet

subnet netmask {
    option ...
    range ...
    allow unknown clients;

You have authoritative in the global scope, so no need to repeat it in
subnet or pool scopes.

My two cents worth, hope it helps.

Glenn Satchell       mailto:glenn.satchell at  |  Heard about
Uniq Advances Pty Ltd   |  the new Unix
PO Box 70 Paddington NSW Australia 2021                 |  sports car?
tel:0409-458-580   tel:02-9380-6360   fax:02-9380-6416  |  The  rwx

More information about the dhcp-users mailing list