次のことをどう解釈すればよいでしょうか。
class "blade-1-01-1" {
match if substring (option dhcp-client-identifier, 9, 1) = 01 and
substring (option dhcp-client-identifier, 5, 1) = 01 and
substring (option dhcp-client-identifier, 6, 1) = 00;
}
BR
答え1
blade-1-01-1
これは、クライアントの DHCPDISCOVER パケット内のクライアント識別子文字列の部分によって定義されるクライアント クラスを確立するセクションにすぎません。
クライアント識別子は、要求を行っている DHCP クライアントを識別するために使用されます。たとえば、Windows と Linux をデュアル ブートしている場合、MAC アドレスは同じですが、識別子文字列は 2 つ異なります。
dhcpd
クラスは、特定のオプションを設定したり、リース制限を設定したり、特定のアドレス プールに関連付けたりするために使用できます。
substring
機能に関するご質問の場合dhcp-evalのマニュアルページを確認してください。:
部分文字列 (データ式、オフセット、長さ)
部分文字列演算子は、データ式を評価し、その評価結果の先頭から offset バイト目から始まり、length バイト続く部分文字列を返します。 offset と length はどちらも数値式です。 data-expr、offset、または length が null と評価された場合、結果も null になります。 offset が評価されたデータの長さ以上の場合、長さ 0 のデータ文字列が返されます。 length が offset 後の評価されたデータの残りの長さより大きい場合、 offset から評価されたデータの最後までのすべてのデータを含むデータ文字列が返されます。