
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).