无法根据选项参数分配IP地址

我有这个DHCP conf文件:

authoritative; option domain-name "XXX.XXX.XX"; allow bootp; ddns-update-style ad-hoc; class "karpuz-kabugu" { match if (substring (option user-class, 0, 6) = "karpuz"); log (info, "karpuz-kabugu"); } subnet 10.6.1.0 netmask 255.255.255.0 { pool { range 10.6.1.10 10.6.1.99; allow members of "karpuz-kabugu"; } pool { range 10.6.1.100 10.6.1.250; allow unknown-clients; } option broadcast-address 10.6.1.255; option routers 10.6.1.1; } 

我想要做的是根据用户级租用IP地址(选项77)。 我已经使用ipconfig /setclassid在我的Windows DHCP客户端上设置了用户类别ID

我还看到使用wireshark在DHCP选项77中设置的karpuz

dhcp日志的内容如下所示:

 May 27 17:09:18 2013 dhcpd: karpuz-kabugu May 27 17:09:18 2013 dhcpd: DHCPDISCOVER from 00:1c:23:b5:da:71 via eth4 May 27 17:09:19 2013 dhcpd: DHCPOFFER on 10.6.1.250 to 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4 May 27 17:09:19 2013 dhcpd: karpuz-kabugu May 27 17:09:19 2013 dhcpd: if DELL1-DESTEK.meb.gov.tr IN A rrset doesn\'t exist add DELL1-DESTEK.meb.gov.tr 21600 IN A 10.6.1.250: timed out. May 27 17:09:19 2013 dhcpd: DHCPREQUEST for 10.6.1.250 (10.6.1.1) from 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4 May 27 17:09:19 2013 dhcpd: DHCPACK on 10.6.1.250 to 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4 May 27 17:09:22 2013 dhcpd: karpuz-kabugu May 27 17:09:22 2013 dhcpd: DHCPINFORM from 10.6.1.250 via eth4 May 27 17:09:22 2013 dhcpd: DHCPACK to 10.6.1.250 (00:1c:23:b5:da:71) via eth4 

正如你所看到的,我的客户端分配有10.6.1.250但是我期待的IP地址在10.6.1.1010.6.1.99之间

我究竟做错了什么?

Dhcp语句allow unknow-clients ,在手册页中只允许从客户端获得一个IP地址,这个客户端在configuration中没有host声明。 这是默认的。 所以,我的猜测是首先从池声明中删除这样的声明。 其次,尝试将deny状态添加到该池中。 你的池configuration应该是这样的:

 pool { range 10.6.1.10 10.6.1.99; allow members of "karpuz-kabugu"; } pool { range 10.6.1.100 10.6.1.250; deny members of "karpuz-kabugu"; }