Пулы DHCP на сервере Ubuntu DHCP работают некорректно

Пулы DHCP на сервере Ubuntu DHCP работают некорректно

MAC-адреса, заканчивающиеся на «55:a3» и «56:2a», также попадают в последний пул.

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 недействительно, то результат равен нулю. Типы оборудования включают ethernet (1), token-ring (6) и fddi (8). Типы оборудования указаны IETF, а подробности определения номеров типов можно найти в RFC2131 (в дистрибутиве ISC DHCP это включено в подкаталог doc/).

Другими словами, hardware, 5, 6возвращает не 5-й и 6-й октеты MAC-адреса, как можно было бы ожидать, а 4-й и 5-й, поскольку первым элементом будет тип (0x01, потому что это Ethernet).

Связанный контент