
「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 フィールドが無効な場合、結果は null になります。ハードウェア タイプには、イーサネット (1)、トークン リング (6)、および fddi (8) があります。ハードウェア タイプは IETF によって指定されており、タイプ番号の定義方法の詳細は RFC2131 に記載されています (ISC DHCP ディストリビューションでは、doc/ サブディレクトリに含まれています)。
つまり、hardware, 5, 6
予想どおり MAC アドレスの 5 番目と 6 番目のオクテットは返されませんが、最初の要素がタイプ (イーサネットなので 0x01) になるため、4 番目と 5 番目のオクテットが返されます。