How can I overwrite global RIS server indecater

Steven Carr sjcarr at
Tue Nov 19 08:55:24 UTC 2013

On 19 November 2013 07:46, Julie Xu <xll40 at> wrote:
> at global, I have configure:
> class "windowRIS" {
>      match if substring( option vendor-class-identifier, 0, 9 ) =
> "PXEClient";
>     option vendor-class-identifier "PXEClient";
>     server-identifier;
>   }
> now on one subnet I want the server as
> I have done:
>    subnet netmask {
>         option broadcast-address;
>         option routers;
>         pool {
>             failover “failover”
>     server-identifier;
>             deny dynamic bootp clients;
>             range;
>         }
> but, the client still insist to use, what I did wrong?

The order is host, class, pool, subnet, shared-network.

"When a client is to be booted, its boot parameters  are  determined  by
consulting that client's host declaration (if any), and then consulting
any class declarations matching  the  client,  followed  by  the  pool,
subnet  and  shared-network declarations for the IP address assigned to
the client.   Each  of  these  declarations  itself  appears  within  a
lexical scope, and all declarations at less specific lexical scopes are
also consulted for  client  option  declarations.    Scopes  are  never
considered  twice,  and  if  parameters  are  declared in more than one
scope, the parameter declared in the most specific  scope  is  the  one
that is used."

So in your case "class" is more specific than "subnet", so class will
win, you can't override for the subnet. If you want to override then
it would need to be in a host declaration.


More information about the dhcp-users mailing list