Hoy vamos a analizar la famosa opción 43 de DHCP, que se utiliza principalmente en la autoconfiguración de dispositivos como puntos de acceso, conmutadores, teléfonos IP, CPE, dispositivos IoT y otros a través del protocolo TR-069. Asimismo, le mostraremos un ejemplo de configuración utilizando el servidor DHCP de un router Mikrotik, que proporciona parámetros a través de la opción 43 de DHCP y permite la autoconfiguración de servicios durante el proceso de asignación de la dirección IP al dispositivo.
Esto nos permite, por ejemplo, detectar automáticamente un controlador externo al dispositivo, incluso si el equipo ha sido restablecido a los valores de fábrica.
El documento RFC 2132 «DHCP Options and BOOTP Vendor Extensions» [1] aborda diversos tipos de información que pueden enviarse a través del protocolo DHCP, como, por ejemplo, el DNS, la máscara de subred, la dirección de la puerta de enlace (enrutador), los atributos específicos del proveedor y muchos otros.
La Opción 43 se define en este RFC como «Vendor Specific Information» y se utiliza para que los clientes y los servidores DHCP intercambien información específica entre sí. El RFC no especifica qué valores se pueden enviar, ni de qué tipo de información se trata, y mucho menos el tipo de datos. Se limita a describir la estructura, que debe ser la siguiente:
- a) Una única secuencia de código/longitud/valor
| Código | Len | Información específica del proveedor | ||
| 43 | n | i1 | i2 | … |
- b) Uno o varios parámetros separados por un código (01, 02, 03 … y siguientes)
| Código 1 | Len 1 | Fecha 1 | Código 2 | Len 2 | Fecha 2 | Código n | Len n | Fecha n |
| T1 | n1 | d1 | T2 | n2 | T2 | … | … | … |
Con esta estructura, cada fabricante u organización puede estructurar los datos de la forma que le resulte más conveniente para su uso. Por ejemplo, para que los puntos de acceso puedan configurarse con las direcciones IP de los controladores Wi-Fi, lo que permite su «incorporación» al controlador centralizado; para que los teléfonos IP dispongan de la dirección IP o la URL del servidor de telefonía; y para que los routers compatibles con TR-069 puedan configurarse con la URL del ACS. ¡Y todo ello de forma automática!
El objetivo de este artículo es mostrar el uso de la opción 43 junto con TR-069, enviando la URL del servidor ACS al CPE a través del servidor DHCP. Esto nos permite que el router, incluso si se ha reiniciado y carece de una «plantilla» de configuración, obtenga a través de DHCP la URL del servidor ACS, junto con el nombre de usuario y la contraseña, datos necesarios para integrarse en el ACS y permitir que el TR-069 aplique automáticamente las configuraciones en el CPE.
Pero antes de continuar, voy a dejar algunos enlaces a otros ejemplos de casos de uso de la opción 43.
Configure la opción 43 de DHCP para los puntos de acceso ligeros: https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wireless-lan-wlan/97066-dhcp-option-43-00.html
Detección de ID de VLAN a través de DHCP:
https://wiki.unify.com/wiki/VLAN_ID_Discovery_over_DHCP
Utilice la opción 43 de DHCP para la configuración de los puntos de acceso Unifi:
https://niksec.com/use-dhcp-option-43-for-unifi-accesspoint-provisioning/
¿Cómo llegó el DHCP al TR-069?
Si no sabe qué es el ACS, consulte nuestro otro artículo.
El DHCP se ha incorporado como una de las formas de incorporación del ACS. La incorporación es el proceso mediante el cual se configura el CPE o el router con un servidor ACS.
Existen tres formas de llevar a cabo el proceso de incorporación de los CPE a un servidor ACS, según la especificación TR-069 del Broadband Forum [2]:
- Forma 01: manualmente
- Método 02: mediante la opción 43 de DHCP
- Método 03: mediante preajustes, también conocidos como firmware con preajustes
El objetivo final de cualquiera de los tres es el mismo: tener la URL del servidor ACS configurada en el CPE, para que este pueda gestionarse a través del protocolo TR-069.
Proceso de solicitud de la opción 43 de DHCP
El BroadBand Forum establece una serie de pasos para que el CPE pueda obtener la URL del ACS a través de DHCP.
La siguiente imagen muestra los pasos, y a continuación vamos a comentar cada uno de ellos.

Pasos a seguir en la comunicación:
- La CPE envía una solicitud normal de DHCP Discover
- El servidor DHCP/router responde al mensaje con una oferta DHCP
- Aquí es donde tiene lugar la magia que permite descubrir el ACS. La CPE debe añadir dos nuevas opciones en el mensaje de solicitud: una consiste en solicitar la opción 43 en la RPL (lista de parámetros de solicitud, opción 55), y la otra consiste en indicar en la opción 60 la cadena en minúsculas «dslforum.org».
- El servidor DHCP, al recibir esta información del paso 3, entiende que debe enviar el servidor ACS, y así lo hace. DETALLE IMPORTANTE: cada fabricante utiliza su propio estándar de codificación de la URL, el nombre de usuario y la contraseña dentro de la Opción 43. Esto puede plantear algunos problemas en entornos con diferentes proveedores e implementaciones. En estos casos, lo más adecuado es un servidor DHCP más completo, capaz de leer otros parámetros para determinar cuál es el proveedor y qué formato utilizar (no espere que Mikrotik lo haga).
- A continuación, la CPE, una vez que dispone de los datos, configura su ACS y comienza el proceso del TR-069. A continuación hay varios mensajes, que he omitido para simplificar.
En la especificación del TR-069 también se definen otros campos o protocolos que pueden utilizarse con el mismo fin: la opción 125 de DHCPv4 y la opción 17 de DHCPv6. Asimismo, se mencionan diversas reglas de detección tras un reinicio y cómo abordar los problemas de conectividad con el ACS. Sin embargo, quedan fuera del alcance de este artículo.
Ejemplo de una transacción DHCP con la opción 43: capturas de paquetes
- Solicitud del CPE (DHCP Discover):

Aquí vemos el primer paso de un CPE de Nokia en su proceso de detección de servidores DHCP para la asignación automática de una dirección IP.
En el mensaje, vemos la «Opción: (53) Tipo de mensaje DHCP (Discover)», mientras que la dirección MAC de destino de la trama es la dirección de difusión (ff:ff:ff:ff:ff:ff).
En pocas palabras, aquí es donde el CPE de Nokia dice: «Necesito que un servidor DHCP me asigne una dirección IP»😊 - Respuesta del servidor DHCP (DHCP Offer), en la que ya se incluye la opción 43:

En el proceso «Offer», el servidor DHCP envía al CPE de Nokia información sobre la dirección de la puerta de enlace y la subred, así como los propios valores de la opción 43, que contienen datos de autoconfiguración de un servidor ACS, con la URL, el nombre de usuario y la contraseña. Esta oferta se envía mediante «unicast», dirigida específicamente al CPE de Nokia. Aquí ya podemos observar, además de la Opción 43, datos como la dirección IP (Your Client IP Address, que es 192.168.2.253), el identificador del servidor DHCP (DHCP Server Identifier, Opción 53), entre otros datos.
En este caso, nos referimos a una oferta realizada por el servidor DHCP al CPE de Nokia para la asignación de la dirección IP y otros parámetros (incluida la Opción 43). - Solicitud de la opción 43 procedente de la CPE (solicitud DHCP):

Una vez que el CPE de Nokia ha recibido la «oferta» del servidor DHCP, esta lleva a cabo el proceso de «DHCP-Request», solicitando «formalmente» a través del mensaje Option53 (Request) la dirección IP que se le había ofrecido previamente (192.168.2.253), y añade una serie de parámetros a la solicitud. En la solicitud del atributo «Option55» se observan datos como la máscara de subred, el servidor de nombres de dominio (DNS), la dirección de difusión, etc., así como la «Option43».
Es decir, en este caso, la CPE de Nokia está solicitando formalmente el préstamo de la dirección IP 192.168.2.253 ofrecida anteriormente, pero también está solicitando otra serie de datos, incluida la opción 43 del DHCP. - El servidor DHCP envía el último mensaje confirmando la información (DHCP ACK):

El servidor DHCP, tras recibir y asignar los recursos solicitados previamente por el CPE, envía un mensaje «ACK» (Acknowledge), que constituye la confirmación para el CPE de Nokia de que puede utilizar los recursos que ha solicitado, además de proporcionar los demás recursos que, en su caso, no figuraban en el paso «Offer» y que se solicitaron en el paso «Request».
Aquí vemos que se ha enviado de nuevo el atributo «Option43», que contiene el valor hexadecimal correspondiente al usuario, la contraseña y la URL del servidor ACS.
Con esto, ya tenemos el CPE Nokia configurado con los valores necesarios para integrarse automáticamente en el servidor ACS mediante DHCP, incluso si se le ha realizado un restablecimiento de fábrica (que, por defecto, deja la WAN activa en modo cliente DHCP) 😊
Ejemplo de configuración en Mikrotik
En este artículo, veremos cómo configurar un router Mikrotik para que, a través del servidor DHCP, proporcione parámetros de autoconfiguración a los «clientes» mediante la opción 43.
La configuración se basará en la topología que se muestra a continuación, similar a la utilizada en nuestras pruebas con un CPE de Nokia.

En primer lugar, es necesario configurar el servidor DHCP y, a continuación, vincular los ajustes de la opción DHCP 43.
Utilizamos la red 192.168.2.0/24 y la VLAN 881, tal y como se muestra en nuestro ejemplo:
# Configuração do IP Address na Vlan 881
/ip address
add address=192.168.2.1/24 comment=DHCP-TR069 interface=vlan881 network=192.168.2.0
# Configuração do Option 43 (necessário ter em mãos o value gerado):
/ip dhcp-server option
add code=43 name=tr069
value="0x011E68747470733A2F2F6163732E6D6164653467726170682E636F6D2E62722F020A6D61646534677261706803076D616465346974"
# Configuração do Network do DHCP Server:
/ip dhcp-server network
add address=192.168.2.0/24 dhcp-option=tr069 gateway=192.168.2.1
# Configuração do Pool de IPs:
/ip pool
add name=dhcp_pool3 ranges=192.168.2.2-192.168.2.254
# Configuração do DHCP Server com Pool de IPs e interface:
/ip dhcp-server
add address-pool=dhcp_pool3 disabled=no interface=vlan881 name=dhcp-tr069
Seguramente se estará preguntando: ¿de dónde ha salido ese valor de la opción 43? Efectivamente, existe una regla que hay que crear, y en el siguiente artículo podrá consultar cómo generarla para su servidor ACS.
Conclusión
En este artículo, explicamos cómo utilizar el atributo «Option43» de DHCP para la autoconfiguración de un servidor ACS en CPE y diversos dispositivos. Analizamos su funcionamiento y cómo puede utilizarse para automatizar el envío de configuraciones específicas a los dispositivos mediante un protocolo tan habitual como el DHCP.
Conocer las capacidades, características y opciones que admiten el fabricante y el modelo del equipo nos ayuda a automatizar diversas configuraciones, entre las que se incluye, entre otras, la gestión de un CPE de Nokia a través del protocolo TR-069.
Referencias:
[1] RFC 2132, Opciones DHCP y extensiones de fabricante de BOOTP, https://www.ietf.org/rfc/rfc2132.txt
[2] TR-069, Protocolo de gestión de CPE en WAN, https://www.broadband-forum.org/pdfs/tr-069-1-6-1.pdf