Los grupos DHCP en el servidor DHCP de Ubuntu no funcionan correctamente

Los grupos DHCP en el servidor DHCP de Ubuntu no funcionan correctamente

Las direcciones Mac que terminan en "55:a3" y "56:2a" también terminan en el último grupo

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 }   

¿Alguien puede señalar un error en esa configuración?

Respuesta1

El problema radica en el uso del hardwarefiltro.

La documentación establece que:

El operador de hardware devuelve una cadena de datos.cuyo primer elemento es el tipo de interfaz de red indicado en el paquete que se está considerando, y cuyos elementos posteriores son la dirección de capa de enlace del cliente. Si no hay ningún paquete o si el campo hlen RFC2131 no es válido, el resultado es nulo. Los tipos de hardware incluyen ethernet (1), token-ring (6) y fddi (8). Los tipos de hardware los especifica el IETF, y los detalles sobre cómo se definen los números de tipo se pueden encontrar en RFC2131 (en la distribución DHCP de ISC, esto se incluye en el subdirectorio doc/).

En otras palabras, hardware, 5, 6no devuelve el 5º y 6º octeto de la dirección MAC, como es de esperar, sino el 4º y 5º, porque el primer elemento será del tipo (0x01, porque es Ethernet).

información relacionada