2 клиентских класса, использующих один и тот же диапазон подсети
В основном я бы хотел добиться следующих результатов:
- используя только одну подсеть
- различные типы пользователей, разделяющих эти подсети
- создавая 2 пула соответственно
- пользовательский класс с именем "l2vpn_user", если он соответствует MAC-адресу, будет назначен другой загрузочный файл
- остальная часть пользователя будет направлена на загрузку загрузочного файла по умолчанию
Проблема с dhcpd.conf, которую я использовал, заключается в том, что все пользователи могут получить IP-адрес, но все попадают в пул для unknown-клиентов.
#some server default values
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
#default network declaration
subnet 172.0.7.0 netmask 255.255.255.0
{}
#class declaration
class "l2vpn_user"
{
match pick-first-value (option dhcp-client-identifier, hardware);
option bootfile-name "CH6541E-VLAN181_new1.cfg";
filename "CH6541E-VLAN181_new1.cfg";
}
#manually assigning 3 subclasses
subclass "l2vpn_user" 1:00:22:68:f2:e0:e2;
subclass "l2vpn_user" 1:00:22:68:f2:e1:c2;
subclass "l2vpn_user" 1:00:22:68:f2:e3:96;
#main subnet declaration
subnet 10.161.255.0 netmask 255.255.255.0
{
option routers 10.161.255.1;
next-server 192.168.11.245;
allow leasequery;
max-lease-time 300;
option bootfile-name "160basic_max_snmp.bin";
filename "160basic_max_snmp.bin";
option time-servers 172.0.7.52;
#2 pools, l2vpn user for the first pool
pool {
range 10.161.255.2 10.161.255.200;
allow members of "l2vpn_user";
}
#The rest use this pool
pool {
range 10.161.255.201 10.161.255.254;
allow unknown-clients;
}
}
1 ответ
Ваша конфигурация dhcpd.conf действительна. Я сам проверил его на isc-dhcp 4.2.4, и MAC-адреса подкласса получили адреса пула l2vpn_user.
Я бы порекомендовал запустить dhcpd в forground с включенным ведением журнала отладки (флаги -f и -d) и выполнить некоторые проверки работоспособности на основе того, что записано. Так как ваш конфиг действителен и работает в моем тестировании, вероятно, есть какая-то внешняя проблема, вызывающая вашу проблему.