Aprovisionamiento sin intervención
Zero Touch Provisioning instala o actualiza el software automáticamente en sus dispositivos nuevos de Juniper Networks con una intervención manual mínima.
Descripción general del aprovisionamiento sin intervención
El aprovisionamiento sin intervención (ZTP) le permite aprovisionar nuevos dispositivos Juniper Networks en su red de forma automática, con una intervención manual mínima. Puede usar puertos de administración o de red, según el dispositivo, para conectarse a la red. Cuando conecta físicamente un dispositivo a la red y lo inicia con una configuración predeterminada de fábrica, el dispositivo actualiza (o degrada) la versión de software y autoinstala un archivo de configuración de la red. El archivo de configuración puede ser una configuración o una secuencia de comandos. Mediante el uso de scripts, puede crear archivos de configuración específicos del dispositivo y realizar operaciones de solicitud HTTP a servidores web para descargar archivos de configuración específicos o versiones de software.
Para localizar la imagen de software y los archivos de configuración necesarios en la red, el dispositivo utiliza la información que ha configurado en un servidor de Protocolo de configuración dinámica de host (DHCP). Si no configura el servidor DHCP para proporcionar esta información, el dispositivo se inicia con el software preinstalado y la configuración predeterminada de fábrica.
Para Junos OS evolucionado, el aprovisionamiento sin intervención (ZTP) detecta dinámicamente la velocidad de puerto de las interfaces WAN y utiliza esta información para crear puertos de servidor ZTP con la misma velocidad. Los dispositivos que ejecutan Junos OS Evolucionado admiten la automatización de la configuración del dispositivo y la actualización de software a través de la interfaz de administración del motor de enrutamiento 0 (RE0) o a través de interfaces WAN.
Para ver qué plataformas admiten ZTP, en un navegador, vaya al Explorador de funciones. En la sección Explorar características de la página Explorador de funciones, seleccione Todas las características. En el cuadro Características agrupadas por familia de características, seleccione Aprovisionamiento sin intervención. También puede escribir el nombre de la función en el cuadro de edición Buscar características . Consulte la tabla del historial de versiones al final de este tema para obtener más detalles de cómo se expandió la compatibilidad con ZTP.
- Flujo de trabajo de ZTP
- Aprovisionamiento de un dispositivo mediante un script
- Activación del proceso de reinicio de aprovisionamiento sin intervención
- Aprovisionamiento sin intervención en enrutadores PTX10008 que ejecutan Junos OS evolucionado
Flujo de trabajo de ZTP
Cuando un dispositivo se inicia con la configuración predeterminada, se producen los siguientes eventos:
-
El cliente DHCP se ejecuta en interfaces compatibles.
-
El servidor DHCP abastete una dirección IP e incluye varias opciones DHCP en la respuesta relacionadas con el proceso ZTP.
-
El dispositivo procesa las opciones de DHCP y localiza los archivos de configuración, ejecuta scripts, y actualiza o degrada software.
-
Si los archivos de imagen y configuración están presentes, la imagen se instala y se aplica la configuración.
-
Si solo está presente el archivo de imagen, la imagen se instala en el dispositivo.
-
Si la imagen es la misma que la imagen ya instalada en el dispositivo, ZTP continúa y omite el paso de instalación.
-
Si el dispositivo no pudo recuperar la imagen, ZTP intentará recuperar la imagen de nuevo.
-
Si la imagen está dañada, se produce un error en la instalación.
Si la instalación falla por cualquier motivo, ZTP volverá a intentarlo en otras interfaces.
-
Si solo está presente el archivo de configuración, se descarga la configuración.
Si la primera línea del archivo consiste en el #! caracteres seguidos por una ruta de interpretación, luego el archivo se considera un script y el script es ejecutado por el intérprete. Si el script devuelve un error, ZTP volverá a intentarlo en otras interfaces.
Si el archivo de configuración no se puede descargar, el proceso ZTP intentará descargarlo de nuevo.
Si el archivo de configuración está dañado, tiene errores de sintaxis o incluye comandos que no son compatibles con el dispositivo, el dispositivo no podrá confirmarse y ZTP volverá a intentarlo en otras interfaces.
-
Si no hay ningún archivo de imagen o configuración, ZTP volverá a intentarlo en otras interfaces.
-
Si no hay información del servidor de archivos, ZTP volverá a intentarlo en otras interfaces.
-
Una vez que se confirma la configuración, el proceso ZTP se considera exitoso y finaliza.
Aprovisionamiento de un dispositivo mediante un script
Durante el proceso ZTP, cuando conecta y inicia un nuevo dispositivo de red, el dispositivo solicita una dirección IP del servidor DHCP. El servidor proporciona la dirección IP y, si está configurado, los nombres de archivo y las ubicaciones de la imagen de software y el archivo de configuración del dispositivo. El archivo de configuración puede ser una configuración o una secuencia de comandos.
Si se proporciona un archivo de configuración, el sistema operativo determina si el archivo es una secuencia de comandos basada en la primera línea del archivo. Si la primera línea contiene los caracteres seguidos #!
por una ruta de interpretación, el sistema operativo trata el archivo como una secuencia de comandos y lo ejecuta con el intérprete especificado.
Si el script devuelve un error (es decir, un valor no cero), ZTP volverá a intentarlo en otras interfaces.
En la tabla 1 , se describen los tipos de script compatibles, la ruta de interpretación correspondiente y las plataformas que admiten ese tipo de script durante el proceso ZTP.
Tipo de script |
Ruta del intérprete |
Soporte de plataforma |
---|---|---|
Script de shell |
|
Todos los dispositivos |
Script SLAX |
|
Todos los dispositivos |
Script de Python |
|
Dispositivos que ejecutan Junos OS con automatización mejorada Dispositivos que ejecutan Junos OS evolucionado |
Por razones de seguridad, Junos OS tiene requisitos estrictos para ejecutar scripts de Python sin firmar en dispositivos que ejecutan Junos OS. Solo los dispositivos que ejecutan Junos OS con automatización mejorada y los dispositivos que ejecutan Junos OS Evolved admiten el uso de scripts de Python sin firmar en la opción 43 subopción 01 de DHCP.
Si el sistema operativo no encuentra los caracteres seguidos #!
por una ruta de interpretación, trata el archivo como una configuración en formato de texto y carga la configuración en el dispositivo.
Activación del proceso de reinicio de aprovisionamiento sin intervención
ZTP se reinicia cuando se produce cualquiera de los siguientes eventos:
-
La solicitud de archivo de configuración, archivo de script o archivo de imagen falla.
-
El archivo de configuración es incorrecto y se produce un error de confirmación.
-
No hay ningún archivo de configuración ni de imagen disponible.
-
El archivo de imagen está dañado y la instalación falla.
-
No hay información del servidor de archivos disponible.
-
El servidor DHCP no tiene configurados parámetros ZTP válidos.
-
Cuando ninguna de las interfaces de cliente DHCP pasa a un estado de límite.
-
En dispositivos Junos OS Evolucionado, si se produce un error en la descarga de un archivo, ZTP se reinicia.
Cuando ocurre cualquiera de estos eventos, ZTP restablece la máquina de estado del cliente DHCP en todas las interfaces configuradas por el cliente DHCP (administración y red) y, a continuación, reinicia la máquina de estado. Reiniciar la máquina de estado permite que el cliente DHCP obtenga los parámetros configurados por el servidor DHCP más recientes.
Antes de que ZTP se reinicie, deben pasar aproximadamente de 15 a 30 segundos para tener el tiempo suficiente para crear una lista de interfaces de cliente DHCP enlazadas y no enlazadas.
La lista de interfaces de cliente DHCP enlazadas y no enlazadas puede contener:
-
Sin entradas.
-
Varias interfaces de cliente DHCP.
Se da prioridad a las interfaces de cliente DHCP que han recibido todos los parámetros ZTP (archivo de imagen de software, archivo de configuración e información del servidor de archivos) del servidor DHCP.
ZTP intenta descargar los archivos de imagen y configuración del software desde el servidor de archivos. Si esa descarga falla, ZTP borra el enlace del cliente DHCP en esa interfaz y reinicia la máquina de estado en otras interfaces.
El proceso de reinicio de ZTP continúa hasta que se realice una actualización de software correcta o hasta que un operador confirme manualmente la configuración de un usuario y elimine la configuración de ZTP.
Aprovisionamiento sin intervención en enrutadores PTX10008 que ejecutan Junos OS evolucionado
El aprovisionamiento sin intervención (ZTP) le permite aprovisionar el enrutador en su red de forma automática, con una intervención manual mínima. A partir de Junos OS Evolved versión 20.1R1, los dispositivos PTX10008 admiten la automatización de la configuración del dispositivo y la actualización de software a través de la interfaz de administración del motor de enrutamiento 0 (RE0).
ZTP está habilitado en el dispositivo PTX10008 en el modo predeterminado de fábrica. Puede conectar la interfaz de administración (re0:mgmt-0) a una red con un servidor de Protocolo de configuración dinámica de host (DHCP) y, luego, agregar la configuración ZTP al servidor DHCP. Utilice el show interfaces re0:mgmt-0
comando en el dispositivo PTX10008 para encontrar la dirección MAC de la interfaz que se utilizará en la configuración del servidor DHCP.
Cuando el dispositivo PTX10008 puede contactar con el servidor DHCP y recuperar los parámetros ZTP, realiza las siguientes operaciones ZTP según estos parámetros:
-
Recupera la imagen o el archivo de configuración especificado mediante el protocolo especificado.
-
Si se especifica una imagen, ZTP la instala en los motores de enrutamiento y reinicia el dispositivo.
-
Si se especifica un archivo de configuración:
-
Si el archivo es una configuración de Junos, ZTP aplica la configuración en el dispositivo.
-
Si el archivo es un script, ZTP ejecuta la secuencia de comandos en el dispositivo.
-
Aprovisionamiento sin intervención mediante opciones DHCP
El aprovisionamiento sin intervención (ZTP) permite el aprovisionamiento automático de los dispositivos de red de Juniper que agregue a su red. Puede aprovisionar cualquier dispositivo compatible mediante un script que se ejecutará o un archivo de configuración que se va a cargar. También deberá configurar un servidor DHCP con la información necesaria, que se proporciona en este procedimiento, para usar ZTP.
ZTP requiere que el dispositivo esté en un estado predeterminado de fábrica. El dispositivo desde los arranques de fábrica con software preinstalado y configuración predeterminada de fábrica. En un dispositivo que actualmente no tenga la configuración predeterminada de fábrica, puede emitir el request system zeroize
comando.
Antes de empezar:
-
Asegúrese de que el dispositivo tiene acceso a los siguientes recursos de red:
-
El servidor DHCP que proporciona la ubicación de los archivos de imagen y configuración de software en la red
Consulte la documentación del servidor DHCP para obtener instrucciones de configuración.
-
El servidor de protocolo de transferencia de archivos (FTP anónimo), protocolo de transferencia de hipertexto (HTTP) o protocolo de transferencia de archivos trivial (TFTP) en el que se almacenan los archivos de imagen y configuración de software
Nota:Aunque se admite TFTP, recomendamos que utilice FTP o HTTP en su lugar, ya que estos protocolos de transporte son más confiables.
PRECAUCIÓN:Las URL HTTP están limitadas a 256 caracteres de longitud.
-
Un servidor del sistema de nombres de dominio (DNS) para realizar una búsqueda DNS inversa (no compatible).
-
(Opcional) Un servidor NTP para realizar sincronización de tiempo en la red
-
(Opcional) Un servidor de registro del sistema (syslog) para administrar los mensajes de registro y las alertas del sistema.
Los mensajes de Syslog se reenvían a este servidor syslog durante ZTP.
-
-
Ubique y registre la dirección MAC del dispositivo.
En los dispositivos PTX10008, las direcciones MAC de administración se encuentran en motores de enrutamiento.
No puede confirmar una configuración mientras el dispositivo está realizando el proceso de actualización de software. Si confirma una configuración mientras el dispositivo está realizando el proceso de instalación automática del archivo de configuración, el proceso se detiene y el archivo de configuración no se descarga de la red.
Para habilitar el aprovisionamiento sin intervención para un dispositivo mediante las opciones de DHCP:
Aprovisionamiento sin intervención con opciones DHCPv6
El protocolo DHCPv6 no tiene una opción de subred para el IA_NA (asociación de identidad para direcciones no temporales) para aprender e instalar rutas de subred. En su lugar, la ruta de subred se instala a través del protocolo de descubrimiento de vecinos.
En IPv6, los dispositivos anuncian periódicamente prefijos IPv6 junto con otros parámetros de vínculo mediante mensajes de anuncio de enrutador (RA). En el cliente (dispositivo Juniper que ejecuta ZTP), una vez que el cliente DHCPv6 está vinculado, el Protocolo de descubrimiento de vecino (NDP) aprenderá estos prefijos e instalará las rutas de prefijo a través de la interfaz del cliente, con el siguiente salto como el vínculo a la dirección local del dispositivo de puerta de enlace.
En el dispositivo cliente, la configuración del anuncio del enrutador está habilitada de forma predeterminada junto con la configuración DHCPv6.
-
Asegúrese de que el dispositivo tiene acceso a los siguientes recursos de red:
-
El servidor DHCP que proporciona la ubicación de los archivos de imagen y configuración de software en la red
Consulte la documentación del servidor DHCP para obtener instrucciones de configuración.
-
El servidor de protocolo de transferencia de archivos (FTP anónimo), protocolo de transferencia de archivos trivial (TFTP), protocolo de transferencia de hipertexto (HTTP) o protocolo seguro de transferencia de hipertexto (HTTPS) en el que se almacenan la imagen de software y los archivos de configuración.
PRECAUCIÓN:Las URL HTTP están limitadas a 256 caracteres de longitud.
-
-
Ubique y registre la dirección MAC impresa en el dispositivo.
El aprovisionamiento sin intervención (ZTP) permite el aprovisionamiento automático de los dispositivos de red de Juniper que agregue a su red. Puede aprovisionar cualquier dispositivo compatible mediante un script que se ejecutará o un archivo de configuración que se va a cargar.
Para usar ZTP, configure un servidor DHCP para que proporcione la información necesaria. Si no configura el servidor DHCP para proporcionar esta información, el dispositivo se inicia con el software preinstalado y la configuración predeterminada de fábrica. Si el dispositivo no está en estado predeterminado de fábrica, puede emitir el request system zeroize
comando.
No puede confirmar una configuración mientras el dispositivo está realizando el proceso de actualización de software. Si confirma una configuración mientras el dispositivo está realizando el proceso de instalación automática del archivo de configuración, el proceso se detiene y el archivo de configuración no se descarga de la red.
Para usar el aprovisionamiento sin intervención para un dispositivo con las opciones DHCPv6:
Monitoreo de aprovisionamiento sin intervención
Puede usar los comandos del modo operativo y de la consola para supervisar el aprovisionamiento sin intervención.
Para Junos OS evolucionado, para supervisar el aprovisionamiento sin intervención, utilice el comando show system ztp operational mode.
Uso de la consola para supervisar el aprovisionamiento sin intervención en Junos OS evolucionado
Propósito
Los archivos de registro del sistema proporcionan información sobre el estado del proceso de actualización automática, listas de interfaces de cliente DHCP enlazadas y no enlazadas, direcciones IP de servidores de archivos, nombres y ubicaciones de archivos de imagen y configuración, e intentos exitosos y fallidos de buscar archivos de configuración y imagen.
Acción
Utilice la información de la consola para supervisar el proceso de actualización automática.
Este es un ejemplo de la salida de Junos OS Evolucionado.
164.319243] ztp.py[15456]: 2019-07-11 17:54:25 INFO: ZTP: Booted with factory settings set auto-image-upgrade ztp.py[15456]: 2019-07-11 17:54:26 INFO: ZTP: loading config [ 184.456977] ztp.py[15456]: 2019-07-11 17:54:45 INFO: ZTP: Releasing prior dhcp state [ 184.520075] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: initializing [ 184.520736] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: Interface vmb0 Watching path /var/db/scripts/ztp/ztpopt.vmb0 [ 184.566657] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: Interface vmb0v6 Watching path /var/db/scripts/ztp/ztpopt6.vmb0 [ 184.603976] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: remove "chassis auto-image-upgrade" from config to abort ZTP [ 184.605897] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: send DHCP discover on interface vmb0 [ 184.606083] ztp.py[15456]: 2019-07-11 17:54:46 INFO: ZTP: send DHCP discover on interface vmb0v6 [ 205.043925] ztp.py[15456]: 2019-07-11 17:55:06 INFO: ZTP: loading options config [ 225.528749] ztp.py[15456]: 2019-07-11 17:55:27 INFO: ZTP:(vmb0) Running: ['/sbin/dhclient', '-1', '-v', 'vmb0', '-cf', '/var /db/scripts/ztp/dhclient.conf', '-pf', '/var/db/scripts/ztp/vmb0.pid4'] [ 227.349638] ztp.py[15456]: 2019-07-11 17:55:28 INFO: ZTP: loading options config [ 248.512666] ztp.py[15456]: 2019-07-11 17:55:50 INFO: ZTP:(vmb0) Running: ['/sbin/dhclient', '-6', '-D', 'LL', '-1', '-v', 'v mb0', '-cf', '/var/db/scripts/ztp/dhclient6.conf', '-pf', '/var/db/scripts/ztp/vmb0.pid6'] [ 309.448411] ztp.py[15456]: 2019-07-11 17:56:50 ERROR: ZTP:(vmb0v6) Unable to get DhcpInfo [ 309.452340] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 ipaddr is 10.10.213.111 [ 309.453114] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 subnetmask is 255.255.255.0 [ 309.453379] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 option150addr is 10.10.213.1 [ 309.453619] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 option66addr is 10.10.213.1 [ 309.453836] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 host-name is sw-s3-u8-07 [ 309.454093] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 ntp server is ['10.129.255.62'] [ 309.454267] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 ntp server is ['10.129.255.62', '10.129.255.63'] [ 309.454451] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 log server is 10.10.213.1 [ 309.454673] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 image path is /ZTP_IMAGES/junos-evo-install-ptx-chassis-x 86-64-19.4EVO.iso [ 309.454886] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 config path is /ZTP_CONFIG/sw-s3-u8-07.cfg [ 309.455217] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: intf vmb0 transfertype is tftp [ 309.457209] ztp.py[15456]: 2019-07-11 17:56:50 INFO: ZTP: Chose interface vmb0: [ 309.633177] ztp.py[15456]: 2019-07-11 17:56:51 INFO: ZTP: loading options config [ 333.584288] ztp.py[15456]: 2019-07-11 17:57:15 INFO: ZTP: downloading image file/ZTP_IMAGES/junos-evo-install-ptx-chassis-x86 -64-19.4-20190708.2-EVO.iso [ 333.584840] ztp.py[15456]: 2019-07-11 17:57:15 INFO: ZTP: downloading image file local /var/tmp/junos-evo-install-ptx-chassis -x86-64-19.4-20190708.2-EVO.iso [ 554.625986] ztp.py[15456]: No such vrf (None) [ 554.628523] ztp.py[15456]: 2019-07-11 18:00:56 INFO: ZTP: Downloaded image file [ 554.629289] ztp.py[15456]: 2019-07-11 18:00:56 INFO: ZTP: Downloading config file /ZTP_CONFIG/sw-s3-u8-07.cfg [ 555.198176] ztp.py[15456]: No such vrf (None) [ 555.200076] ztp.py[15456]: 2019-07-11 18:00:56 INFO: ZTP: Downloaded config file [ 555.201882] ztp.py[15456]: 2019-07-11 18:00:56 INFO: ZTP: loading options config 577.427218] ztp.py[15456]: 2019-07-11 18:01:18 INFO: ZTP: Upgrading image [ 577.427770] ztp.py[15456]: 2019-07-11 18:01:18 INFO: ZTP: Upgraded image localpath is /var/tmp/junos-evo-install-ptx-chassis-x86-64-19.4EVO.iso [ 577.483927] ztp.py[15456]: 2019-07-11 18:01:19 INFO: ZTP: Installing via CLI (/var/tmp/junos-evo-install-ptx-chassis-x86-64-19.4-20190708.2-EVO.iso) [ 577.484271] ztp.py[15456]: 2019-07-11 18:01:19 INFO: ZTP: Running: ['/usr/sbin/cli', '-c', 'show chassis hardware | display xml | match <name> | match "CB" | count'] [ 577.775918] ztp.py[15456]: 2019-07-11 18:01:19 INFO: ZTP: Dual-RE setup detected [ 577.776130] ztp.py[15456]: 2019-07-11 18:01:19 INFO: ZTP: Checking for second RE [ 577.776894] ztp.py[15456]: 2019-07-11 18:01:19 INFO: ZTP: Running: ['/usr/sbin/cli', '-c', 'show chassis hardware | display xml | match <name> | match "Routing Engine" | count'] [ 577.987278] ztp.py[15456]: 2019-07-11 18:01:19 INFO: Running: ['/usr/sbin/cli', '-c', 'request system software add /var/tmp/junos-evo-install-ptx-chassis-x86-64-19.4EVO.iso | display xml'] [ 738.153925] ztp.py[15456]: 2019-07-11 18:03:59 INFO: ZTP: wait returns: 0 [ 738.154148] ztp.py[15456]: 2019-07-11 18:03:59 INFO: ZTP: Return Code: 0 [ 738.154281] ztp.py[15456]: 2019-07-11 18:03:59 INFO: ZTP: Upgraded image status is 0 [ 738.154749] ztp.py[15456]: 2019-07-11 18:03:59 INFO: ZTP: Upgrade succeeded Rebooting [ 738.155372] ztp.py[15456]: 2019-07-11 18:03:5 Stopping Ethernet Bridge Filtering Tables...
Significado
La consola muestra el progreso de ZTP.