Ubuntu DHCP 服务器上的 DHCP 池无法正常工作

Ubuntu DHCP 服务器上的 DHCP 池无法正常工作

以“55:a3”和“56:2a”结尾的 Mac 地址也最终出现在最后一个池中

123    match if binary-to-ascii(16,8,":",substring(hardware, 5, 6)) = "55:a3";                                                                                                                                                                
124 }                                                                                                                                                                                                                                         
125                                                                                                                                                                                                                                           
126 class "esx67" {                                                                                                                                                                                                                           
127    match if binary-to-ascii(16,8,":",substring(hardware, 5, 6)) = "56:2a";                                                                                                                                                                
128 }                                                                                                                                                                                                                                         
129                                                                                                                                                                                                                                           
130 shared-network 20-30 {                                                                                                                                                                                                                    
131    subnet 20.30.0.0 netmask 255.255.0.0 {                                                                                                                                                                                                 
132       option domain-name "nsbucqesystem.test";                                                                                                                                                                                            
133       option domain-name-servers 20.30.0.1;                                                                                                                                                                                               
134       option routers 20.30.0.1;                                                                                                                                                                                                           
135       default-lease-time 2592000;                                                                                                                                                                                                         
136       max-lease-time 2592000;                                                                                                                                                                                                             
137       ping-check true;                                                                                                                                                                                                                    
138    }                                                                                                                                                                                                                                      
139    pool {                                                                                                                                                                                                                                 
140       allow members of "esx65";                                                                                                                                                                                                           
141       range 20.30.1.1 20.30.1.254;                                                                                                                                                                                                        
142    }                                                                                                                                                                                                                                      
143    pool {                                                                                                                                                                                                                                 
144       allow members of "esx67";                                                                                                                                                                                                           
145       range 20.30.2.1 20.30.2.254;                                                                                                                                                                                                        
146    }                                                                                                                                                                                                                                      
147    pool {                                                                                                                                                                                                                                 
148       deny members of "esx67";                                                                                                                                                                                                            
149       deny members of "esx65";                                                                                                                                                                                                            
150       range 20.30.3.1 20.30.254.254;                                                                                                                                                                                                      
151    }                                                                                                                                                                                                                                      
152 }   

有人能指出该配置中的错误吗

答案1

问题在于hardware过滤器的使用。

文档指出:

硬件操作符返回一个数据字符串其第一个元素是所考虑的数据包中指示的网络接口类型,其后续元素是客户端的链路层地址。如果没有数据包,或者 RFC2131 hlen 字段无效,则结果为空。硬件类型包括以太网 (1)、令牌环 (6) 和 fddi (8)。硬件类型由 IETF 指定,有关如何定义类型编号的详细信息可在 RFC2131 中找到(在 ISC DHCP 分发中,这包含在 doc/ 子目录中)。

换句话说,hardware, 5, 6不会像您预期的那样返回 MAC 地址的第 5 和第 6 个八位字节,而是返回第 4 和第 5 个八位字节,因为第一个元素将是类型(0x01,因为它是以太网)。

相关内容