為什麼 ISC dhcpd 會忽略供應商選項?

為什麼 ISC dhcpd 會忽略供應商選項?

我正在嘗試使用現有的dhcpd自動設定 Raritan 聯網 PDU。這大致類似於 PXE 啟動:有額外的 DHCP 選項指示裝置透過 TFTP 取得設定檔。但是,它使用供應商 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

您應該檢查兩件事:

  • 您的 Raritan 用戶端在 DHCPREQUEST 中傳送選項 43(供應商特定選項),並且
  • 您不會在其他地方的配置中破解選項 43。

我遇到了同樣的問題,幾個小時後,我發現在我的擁有dhcpcd.conf數千個客戶端的龐大線路中option cisco-wlc-encap code 43 = encapsulate cisco-wlc,該線路放棄了按類別和供應商選項空間語法設定選項 43 的任何其他嘗試。

相關內容