为什么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 的任何其他尝试。

相关内容