Мы ищем способ сделать что-то в этом роде в файле dhcpd.conf:
subnet ... {
#couple of options for the subnet here
pool {
allow members of "class-name1";
allow members of "class-name2";
range ip1 ip2;
}
if is member of class "class-name1" {
option ...;
}
}
Рассматриваемая часть if is member of class "class-name"
- не знаю, как проверить это условие.
Вот как определяется сам класс:
class "class name" {
match if some_condition_here;
}
Конечно, очевидным решением было бы просто повторить одно и то же условие в subnet
раздел, но было бы повторение - не очень хороший путь. Я также считаю, что это несколько противоречит сути класса.
Еще одна идея заключалась в том, чтобы использовать отдельные pool
для этого без указания диапазона. Как это:
pool {
allow members of "class-name1";
option ...;
}
Но это не сработало - конфигурация не считается недействительной. По-видимому pool
раздел требует range
внутри, хотя я не могу найти это требование в спецификации.
У нас была еще одна догадка - указать два одинаковых пула, один для других классов и один для «class-name1». Однако это означает, что один и тот же диапазон появляется дважды, что снова является недопустимой конфигурацией.
Итак, есть ли хороший способ проверить, было ли устройство классифицировано как член определенного класса?