Assigning options within a class

Norman Elton normelton at gmail.com
Fri Apr 11 13:20:50 UTC 2008


Glenn,

Thanks for the thorough response, I'll give it a shot now and let you
know if I have any problems.

Norman

On Thu, Apr 10, 2008 at 10:33 AM, Glenn Satchell
<Glenn.Satchell at uniq.com.au> wrote:
>
>  >Date: Thu, 10 Apr 2008 09:52:38 -0400
>  >From: "Norman Elton" <normelton at gmail.com>
>  >To: dhcp-users at isc.org
>  >Subject: Assigning options within a class
>
>
> >
>  >I'm trying assign specific options to MAC addresses from a given
>  >vendor. My first attempt has been unpredictable:
>  >
>  >http://pastie.caboo.se/178536
>  >
>  >I've got two subnets, each with two variations on the "controller"
>  >option. It appears that clients in one subnet are getting the values
>  >assigned in another subnet, if this makes any sense.
>  >
>  >Surely there is a "correct" way of doing this. Any ideas?
>  >
>  >Thanks,
>  >
>  >Norman Elton
>  >
>  A client can be a member of more than one class. When it gets its class
>  membership it also inherits from the scope of that class. Generally
>  classes are defined in the global scope to avoid this problem.
>
>  So a client with a mac address that matches 00:0b:85 will be a member
>  of treyburn-ap-1000 and pen-ap-1000. And it will inherit options from
>  the enclosing subnet definition. Asboth classes define the controller
>  option then there is a potential for either option to be set. It's
>  probably necessary to look at the source code to work out which value
>  is likely to be chosen in this case.
>
>  I think in your case a simpler solution might be to use if statements
>  within the subnet (see dhcp-eval man page) something like
>
>  subnet 10.90.24.0 netmask 255.255.255.128 {
>         option subnet-mask              255.255.255.128;
>         option routers                  10.90.24.1;
>         default-lease-time              86400; # 1 day
>         max-lease-time                  86400; # 1 day
>
>         if substring (hardware, 1, 3) = 00:0b:85 {
>                 option controller = "10.70.0.151,10.70.0.152,10.70.0.153";
>         } elsif substring (hardware, 1, 3) = 00:1d:a1 {
>                 option controller = f1:08:0a:46:00:97:0a:46:00:98;
>         }
>
>         range           10.90.24.11     10.90.24.20;
>  }
>
>  and similarly for the other subnet.
>
>  regards,
>  -glenn
>
>
>


More information about the dhcp-users mailing list