Apstra ZTP - Juniper
Les commutateurs EX nécessitent Junos OS version 21.2 ou supérieure. Le module Python requis pour ZTP est absent sur les commutateurs EX utilisant des versions de Junos OS antérieures à 21.2.
Espace disque Juniper et ZTP
Apstra ZTP gère les données d’amorçage et le cycle de vie des équipements Junos de Juniper. Il utilise un script personnalisé pour créer des agents externes, créer des utilisateurs locaux et définir d’autres configurations système. Le processus ZTP copie une nouvelle image du système d’exploitation sur le commutateur. Avant d’installer Apstra ZTP, assurez-vous que le commutateur dispose d’un espace disque suffisant pour l’image du système d’exploitation.
root@leaf001-001-2> show system storage Filesystem Size Used Avail Capacity Mounted on /dev/gpt/junos 6.0G 1.0G 4.5G 18% /.mount <...>
Exemple : Juniper Junos - ztp.json
- Juniper Junos Offbox Agent / Apstra ZTP 4.2 UI
- Juniper Junos Offbox Agent / Fichier Apstra ZTP 4.2 ztp.json
Juniper Junos Offbox Agent / Apstra ZTP 4.2 UI

Juniper Junos Offbox Agent / Fichier Apstra ZTP 4.2 ztp.json
{
"junos": {
"junos-versions": [ "21.4R3-S4.13" ],
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"platform": "junos",
"agent_type": "offbox",
"job_on_create": "install"
}
}
}
Exemple : Juniper Junos OS Evolved - ztp.json
- Agent intégré évolué Juniper Junos OS / Apstra ZTP 4.2 GUI
- Juniper Junos OS Evolved Onbox Agent / Apstra ZTP 4.2 Fichier ztp.json
Agent intégré évolué Juniper Junos OS / Apstra ZTP 4.2 GUI

Juniper Junos OS Evolved Onbox Agent / Apstra ZTP 4.2 Fichier ztp.json
{
"junos-evo": {
"junos-evo-versions": [ "22.4R2.11-EVO" ],
"junos-evo-image": "http://192.168.59.4/junos-evo-install-qfx-ms-x86-64-22.4R2.11-EVO.iso",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
Vous pouvez utiliser les champs supplémentaires suivants pour les plates-formes RE doubles, telles que PTX10004.
"dual-routing-engine": true, "management-ip": "10.161.37.7", "management-gw-ip": "10.161.39.254", "management-subnet-prefixlen": "21", "management-master-ip": "10.161.37.8", "management-backup-ip": "10.161.37.9",
Fichier d’amorçage Junos Juniper
Apstra ZTP utilise un script Python pour provisionner l’appareil pendant ZTP. Pour permettre au script Python (ztp.py) de s’exécuter sur un périphérique qui n’est pas Junos OS Evolved, une configuration supplémentaire est requise. Utilisez le junos_apstra_ztp_bootstrap.sh script pour amorcer Apstra ZTP sur Junos. Il télécharge et exécute le script ZTP.
Les équipements Junos OS Evolved n’ont pas besoin de ce bootstrap. ils exécutent directement le script python Apstra ZTP (ztp.py).
Fichier de configuration personnalisé Junos de Juniper
Lors de la configuration custom-config pour les équipements Juniper Junos, reportez-vous à l’exemple junos_custom.sh, un fichier exécutable bash exécuté pendant le processus ZTP. Il peut définir la configuration du système (telle que l’authentification Syslog, NTP, SNMP) avant l’installation de l’agent système de l’appareil.
Vous pouvez modifier le fichier de configuration personnalisé dans l’interface graphique d’Apstra ZTP à partir d’Apstra ZTP version 4.2.0.
Junos OS et Junos OS Les plates-formes évoluées avec des configurations à double RE nécessitent la set system commit synchronize commande. Sans cette configuration, le processus ZTP échoue. Nous vous recommandons d’ajouter junos_custom.sh la commande au fichier.
#!/bin/sh SOURCE_IP=$(cli -c "show conf interfaces em0.0" | grep address | sed 's/.*address \([0-9.]*\).*/\1/') # Syslog SYSLOG_SERVER="192.168.59.4" SYSLOG_PORT="514" # NTP NTP_SERVER="192.168.59.4" # SNMP SNMP_NAME="SAMPLE" SNMP_SERVER="192.168.59.3" # Syslog cli -c "configure; \ set system syslog host $SYSLOG_SERVER any notice ; \ set system syslog host $SYSLOG_SERVER authorization any ; \ set system syslog host $SYSLOG_SERVER port $SYSLOG_PORT ; \ set system syslog host $SYSLOG_SERVER routing-instance mgmt_junos ; \ commit and-quit" cli -c "configure; \ set system syslog file messages any notice ; \ set system syslog file messages authorization any ; \ commit and-quit" # NTP cli -c "configure; \ set system ntp server $NTP_SERVER routing-instance mgmt_junos ; \ set system ntp source-address $SOURCE_IP routing-instance mgmt_junos ; \ commit and-quit;" # SNMP cli -c "configure; \ set snmp name $SNMP_NAME; \ set snmp community public clients $SNMP_SERVER/32 ; \ set snmp community public routing-instance mgmt_junos ; \ set snmp routing-instance-access access-list mgmt_junos ; \ commit and-quit"
Si vous définissez une authentification AAA externe (par exemple authentication-order), répliquez l’agent device-user système du périphérique et device-user-password dans le système AAA. Sinon, l’agent système de périphérique génère une erreur d’authentification.
Redémarrage de Juniper Junos ZTP
Pour effacer (zéroiser) l’appareil et redémarrer le processus Juniper Junos ZTP :
root@leaf3> request system zeroize
Dépannage de Juniper Junos ZTP
En mode ZTP, le commutateur Juniper télécharge les ztp.py fichiers et ztp.json dans le /var/preserve/apstra répertoire. Pour les diagnostics, notez le /var/preserve/apstra/aosztp.log fichier.
Vous pouvez trouver des messages utiles supplémentaires dans /var/log/messages (recherchez 'ztp').