ISC dhcpd がベンダー オプションを無視するのはなぜですか?

ISC dhcpd がベンダー オプションを無視するのはなぜですか?

既存のものを使用して、Raritan ネットワーク PDU を自動構成しようとしていますdhcpd。これは、PXE ブートとほぼ同じように機能します。デバイスに TFTP 経由で構成ファイルを取得するように指示する追加の DHCP オプションがあります。ただし、これを行うにはベンダーの DHCP オプションを使用します。

オプション スペースと、PDU の新しいクラスを定義しました。クラスが一致していることがわかります (クラス内で DNS とドメイン名を別々に設定し、それらのオプションが送信されます)。ただし、ベンダー固有のオプションは送信されません ( で確認済みdhcpdump)。ただし、サーバーは構成に問題はありません (とにかくログに記録されます)。

ベンダー オプションが送信されない原因は何でしょうか?

set vendor-string = option vendor-class-identifier;

option space RARITAN code width 1 length width 1 hash size 3;
option RARITAN.pdu-tftp-server code 1 = ip-address;
option RARITAN.pdu-update-control-file code 2 = text;
option RARITAN.pdu-update-magic code 3 = text;

class "PDUs" {
    match if option vendor-class-identifier = "Raritan PDU 1.0";
    vendor-option-space RARITAN;
    option vendor-class-identifier "Raritan PDU 1.0";
    option domain-name-servers 1.1.1.1;
    option domain-name "pdu.net";
    option RARITAN.pdu-tftp-server 10.251.0.9;
    option RARITAN.pdu-update-control-file "raritan-update.cfg";
    option RARITAN.pdu-update-magic "20180822-0005";
}

既存のスコープでは が使用されていないvendor-option-spaceため、競合はないと思われます。

答え1

次の 2 つの点を確認してください。

  • RaritanクライアントはDHCPREQUESTでオプション43(ベンダー固有オプション)を送信し、
  • 構成内のオプション 43 を他の場所でハッキングしていません。

私も同じ問題に遭遇し、数時間後、クラスとベンダー オプション スペース構文でオプション 43 を設定する他のすべての試みを破棄する、dhcpcd.conf数千のクライアントを含む巨大な行を見つけました。option cisco-wlc-encap code 43 = encapsulate cisco-wlc

関連情報