Warum sollte ISC dhcpd Anbieteroptionen ignorieren?

Warum sollte ISC dhcpd Anbieteroptionen ignorieren?

Ich versuche, eine vorhandene zu verwenden, dhcpdum vernetzte PDUs von Raritan automatisch zu konfigurieren. Dies funktioniert ungefähr wie das Booten per PXE: Es gibt zusätzliche DHCP-Optionen, die das Gerät anweisen, eine Konfigurationsdatei über TFTP abzurufen. Dazu werden jedoch DHCP-Optionen des Herstellers verwendet.

Ich habe den Optionsraum und eine neue Klasse für die PDUs definiert. Ich kann sehen, dass meine Klasse abgeglichen wird (ich habe DNS und Domänennamen innerhalb der Klasse anders eingestellt und diese Optionen werden gesendet). Die herstellerspezifischen Optionen werden jedoch nicht gesendet (mit überprüft dhcpdump). Der Server hat jedoch kein Problem mit der Konfiguration (die er sowieso protokolliert).

Was kann dazu führen, dass keine Anbieteroptionen gesendet werden?

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";
}

In keinem der vorhandenen Bereiche wird verwendet vendor-option-space, daher glaube ich nicht, dass es hier zu Konflikten kommt.

Antwort1

Sie sollten zwei Dinge überprüfen:

  • Ihr Raritan-Client sendet Option 43 (herstellerspezifische Option) in DHCPREQUEST und
  • Sie hacken Option 43 in Ihrer Konfiguration nirgendwo anders.

Ich hatte das gleiche Problem und fand nach einigen Stunden in meinem riesigen dhcpcd.confVerzeichnis mit Tausenden von Clients eine Zeile option cisco-wlc-encap code 43 = encapsulate cisco-wlc, die alle anderen Versuche, Option 43 per Klassen- und Vendor-Option-Space-Syntax festzulegen, verwarf.

verwandte Informationen