¿Por qué ISC dhcpd ignoraría las opciones del proveedor?

¿Por qué ISC dhcpd ignoraría las opciones del proveedor?

Estoy intentando utilizar una PDU existente dhcpdpara configurar automáticamente las PDU en red de Raritan. Esto funciona más o menos como el arranque PXE: hay opciones DHCP adicionales que dirigen al dispositivo a buscar un archivo de configuración a través de TFTP. Sin embargo, utiliza opciones DHCP del proveedor para hacer esto.

He definido el espacio de opciones y una nueva clase para las PDU. Puedo ver que mi clase coincide (configuro el DNS y el nombre de dominio de manera diferente dentro de la clase, y esas opciones se envían). Sin embargo, las opciones específicas del proveedor no se envían (verificadas con dhcpdump). Sin embargo, el servidor no tiene ningún problema con la configuración (que registra de todos modos).

¿Qué puede causar que no envíe opciones de proveedor?

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

Nada en ninguno de los ámbitos existentes utiliza vendor-option-space, por lo que no creo que haya ningún conflicto allí.

Respuesta1

Deberías comprobar 2 cosas:

  • su cliente de Raritan envía la Opción 43 (Opción específica del proveedor) en DHCPREQUEST, y
  • No estás pirateando la opción 43 en tu configuración en ningún otro lugar.

Me encontré con el mismo problema y después de unas horas encontré en mi enorme dhcpcd.conflínea con miles de clientes option cisco-wlc-encap code 43 = encapsulate cisco-wlcque descartó cualquier otro intento de configurar la Opción 43 por clase y sintaxis de espacio de opción de proveedor.

información relacionada