dhcpd.conf 中的“匹配硬件”不起作用

dhcpd.conf 中的“匹配硬件”不起作用

我一直在尝试将具有特定 OUI 的 MAC 地址放入特定地址池。我根本无法让它工作。这是我的 dhcpd.conf 的片段及其应用方式。

class "testphones" {
        match hardware;
}
subclass "testphones" 1:00:07:3b:cb:c9:cf; 

class "avaya-9630" {
   match if substring(hardware,1,3) = "00:07:3b"; 
}

subnet 172.18.16.0 netmask 255.255.248.000 {
    option subnet-mask 255.255.248.000;
    option broadcast-address 172.18.23.255;
    option routers  172.18.16.1;
    option avaya-242 "OPTIONS"

    pool {
        range  172.18.18.1  172.18.23.254;
        deny members of "testphones";
        deny members of "avaya-9630";
    }

}

subnet 10.X.128.0 netmask 255.255.248.000 {
    option subnet-mask 255.255.248.000;
    option broadcast-address 10.X.135.255;
    option routers  10.X.128.5;
    option avaya-242 "OPTIONS";
    pool {
            range  10.X.129.1  10.X.134.255;
            allow members of "testphones";
            allow members of "avaya-9630";
    }
}

我没有得到任何与“avaya-9630”类匹配的 mac 地址。它们都从第一个子网 (172.18.16.0/21) 获得 IP。不过,“testphone”确实可以工作。它进入 10.X 子网。

为什么“testphone”类可以工作,而“avaya-9630”类却不行?

有一件事可能会引起问题,那就是我使用的是 ISC DHCP 的旧版本(3.0.1)。我不知道旧版本的语法是否不同。手册页似乎表明我做得对。

我尝试了“匹配”行的各种迭代。我测试了以下内容:

match if substring(hardware,1,3) = "1:00:07:3b";
match if substring(hardware,0,3) = "1:00:07:3b";
match if substring(hardware,1,4) = "1:00:07:3b";

都不起作用。

感谢您的想法。

答案1

无需引号即可使用。例如,在本例中:

match if substring(hardware,1,3) = 00:07:3b;

这样,它就可以在我的生产环境中工作了。

相关内容