"соответствие оборудования" в dhcpd.conf не работает
Я пытался получить MAC-адреса с определенным OUI в определенный пул адресов. Я не смог заставить его работать на всех. Вот фрагмент моего 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";
}
}
У меня нет MAC-адресов, соответствующих классу "avaya-9630". Все они получают IP-адреса из первой (172.18.16.0/21) подсети. "Тестфон" работает, хотя. Он входит в подсеть 10.X.
Почему класс "testphone" работает, а не класс "avaya-9630"?
Единственное, что может вызвать проблемы - я использую небольшую старую версию ISC DHCP (3.0.1). Я не знаю, отличается ли синтаксис для этой старой версии. Страницы руководства, кажется, указывают, что я делаю это правильно.
Я пробовал разные итерации строки "match". Я проверил со следующим:
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;
Таким образом, это работает в моей производственной среде.