Redhat – classes declaration inside of subnets in isc dhcp

dhcpdhcp-optionisc-dhcpredhatsubnet

I would like to use class declarations based on a subnet scope, is that allowed? Or are all classes global scope?

here is my dhcp.conf snippet:

subnet 10.200.147.0 netmask 255.255.255.224 {
authoritative;
option domain-name-servers     10.200.17.28;
option routers                 10.200.147.1;
option subnet-mask             255.255.255.224;

class "Cisco AP c1240 22nd fl" {
    match if option vendor-class-identifier = "Cisco AP c1240";
    option option-043              f1:0c:0a:c8:d3:46:0a:c3:d3:45:0a:c3:d3:47;
    option vendor-class-identifier "Cisco AP c1240";
    vendor-option-space            Cisco_LWAPP_AP;

}

group {
    option domain-name             "cde.net";

    host ap1.aaa{
        fixed-address                  10.200.147.4;
        hardware ethernet              00:aa:bb:cc:dd:ee;
        option host-name               "ap1.aaa.cde.net";

    }

and this, also in the same file:

subnet 10.201.147.0 netmask 255.255.255.224 {
authoritative;
option domain-name-servers     10.201.17.28;
option routers                 10.201.147.1;
option subnet-mask             255.255.255.224;

class "Cisco AP c1240 1gp" {
    match if option vendor-class-identifier = "Cisco AP c1240";
    option option-043              f1:08:0a:c2:d2:04:0a:d0:d1:04;
    option vendor-class-identifier "Cisco AP c1240";
    vendor-option-space            Cisco_LWAPP_AP;

}

group {
    option domain-name             "cde.net";

    host ap1.bbb {
        fixed-address                  10.201.147.4;
        hardware ethernet              00:11:22:33:44:55;
        option host-name               "ap1.bbb.cde.net";

    }

And i'm seeing this in my logfile, which makes me think that all class declarations are global:

Dec  7 06:22:20 s_local@master.aaa.cde.com dhcpd: too many classes match 00:aa:bb:cc:dd:ee 

I don't see anything in the isc dhcp documentation that can confirm my theory though.

Best Answer

All classes are global (which you can see a warning about when you test your config for errors with dhcpd -t -cf dhcpd.conf.

I don't know if this matters buy you also have the option vendor-class-identifier declared twice in the class.