基本上我想实现以下目标:
- 仅使用一个子网
- 不同类型的用户共享此子网
- 相应地创建 2 个池
- 名为“l2vpn_user”的用户类如果与 MAC 地址匹配,则会分配不同的引导文件
- 其余用户将被引导加载“默认”启动文件
我使用的 dhcpd.conf 的问题是所有用户都可以获取 IP 地址,但都落入未知客户端池中。
#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 池地址。
我建议在启用调试日志记录(-f 和 -d 标志)的情况下在后台运行 dhcpd,并根据记录的内容进行一些健全性检查。由于您的配置有效且在我的测试中有效,因此很可能是某些外部问题导致了您的问题。