Apstra ZTP - Juniper
EX 스위치에는 Junos OS 버전 21.2 이상이 필요합니다. ZTP에 필요한 Python 모듈은 21.2 미만의 Junos OS 버전을 사용하는 EX 스위치에서 누락되었습니다.
Juniper 및 ZTP 디스크 공간
Apstra ZTP는 Juniper Junos 디바이스의 부트스트랩과 라이프사이클을 관리합니다. 사용자 지정 스크립트를 사용하여 오프박스 에이전트를 생성하고 로컬 사용자를 생성하며 다른 시스템 구성을 설정합니다. ZTP 프로세스는 새 OS 이미지를 스위치에 복사합니다. Apstra ZTP를 설치하기 전에 스위치에 OS 이미지를 위한 충분한 디스크 공간이 있는지 확인합니다.
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 <...>
예: Juniper Junos - ztp.json
Juniper Junos 오프박스 에이전트 / Apstra ZTP 4.1
{ "junos": { "junos-versions": [ "20.2R2-S3.5" ], "junos-image": "http://192.168.59.4/jinstall-host-qfx-5-20.2R2-S3.5-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" } } }
예: Juniper Junos OS Evolved - ztp.json
Juniper Junos OS 진화한 오프박스 에이전트 / Apstra ZTP 4.1
{ "junos-evo": { "junos-evo-versions": [ "20.4R3-S1.3-EVO" ], "junos-evo-image": "http://192.168.59.4/junos-evo-install-qfx-ms-fixed-x86-64-20.4R3-S1.3-EVO.iso", "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" } } }
다음의 추가 필드는 PTX10004와 같은 이중 RE 플랫폼에 사용될 수 있습니다.
"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",
Juniper Junos 부트스트랩 파일
Apstra ZTP는 Python 스크립트를 사용하여 ZTP 동안 디바이스를 프로비저닝합니다. 진화하지 않은 디바이스에서 Python 스크립트(ztp.py
)를 실행하도록 허용하려면 Junos OS 추가 구성이 필요합니다. 스크립트를 사용하여 Junos junos_apstra_ztp_bootstrap.sh
Apstra ZTP를 부트스트랩합니다. ZTP 스크립트를 다운로드하고 실행합니다.
Junos OS Evolved 디바이스에는 이 부트스트랩이 필요하지 않습니다. Apstra ZTP python 스크립트(ztp.py)를 직접 실행합니다.
Juniper Junos 사용자 정의 구성 파일
Juniper Junos 디바이스에 대해 구성할 custom-config
때 ZTP 프로세스 중에 실행된 bash 실행 파일 예 junos_custom.sh
시를 참조하십시오. 디바이스 시스템 에이전트 설치 전에 시스템 구성(예: Syslog, NTP, SNMP 인증)을 설정할 수 있습니다.
Junos OS 및 Junos OS 듀얼 RE 설정이 있는 Evolved 플랫폼에는 명령이 set system commit synchronize
필요합니다. 이 구성이 없으면 ZTP 프로세스가 실패합니다. 파일에 명령을 추가하는 것이 junos_custom.sh
좋습니다.
#!/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"
외부 AAA 인증(예 authentication-order
: )을 설정하면 디바이스 시스템 에이전트 device-user
와 device-user-password
AAA 시스템을 복제합니다. 그렇지 않으면 디바이스 시스템 에이전트가 인증 오류를 생성합니다.
ZTP Juniper Junos 재시작
디바이스를 지우고 ZTP 프로세스를 Juniper Junos 다시 시작하려면:
root@leaf3> request system zeroize
ZTP Juniper Junos 문제 해결
ZTP 모드에서 Juniper 스위치는 ztp.py
및 ztp.json
파일을 디렉터리로 /var/preserve/apstra
다운로드합니다. 진단을 위해 파일을 유의하십시오 /var/preserve/apstra/aosztp.log
.
에서 추가 유용한 메시지를 /var/log/messages
찾을 수 있습니다('ztp'를 검색).