NXOS Automation : DHCP/ZTP
2026. 3. 23. 18:03ㆍCCIE EI/Automation
NX-OS Zero Touch Provisioning (ZTP) 완벽 가이드
NX-OS의 ZTP는 새로운 Nexus 스위치를 박스에서 꺼내 네트워크에 연결하기만 하면, 자동으로 OS 이미지와 설정을 프로비저닝하는 기능입니다. 내부적으로 POAP (PowerOn Auto Provisioning) 엔진을 사용합니다.
동작 원리
스위치가 빈 startup-config 상태로 부팅되면 ZTP 프로세스가 자동으로 시작됩니다.
DHCP → TFTP / HTTP → Script / Config 적용
- 스위치가 MGMT 포트(또는 in-band)로 DHCP 요청을 보냄
- DHCP 서버가 IP 주소와 함께 부트 파라미터(Option 67 등)를 응답
- 스위치가 지정된 서버에서 스크립트 또는 설정 파일을 다운로드
- 자동으로 적용 후 운영 상태로 전환
인프라 요구사항
DHCP 서버 — IP 할당 + 부트파일 경로 전달 (ISC DHCP, Windows DHCP 등)
파일 서버 — TFTP, HTTP, 또는 FTP (설정 파일, NX-OS 이미지, 스크립트 호스팅)
| DHCP Option | 용도 |
|---|---|
Option 66 |
TFTP 서버 주소 |
Option 67 |
부트파일 이름 (스크립트 또는 config 경로) |
DHCP 서버 설정 예시 (ISC DHCP)
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.100 10.1.1.200;
option routers 10.1.1.1;
option domain-name-servers 10.1.1.10;
# ZTP용 부트파일 지정
option bootfile-name "tftp://10.1.1.50/ztp_script.py";
# 또는 HTTP 방식
# option bootfile-name "http://10.1.1.50/poap_script.py";
}
POAP 스크립트 예시 (Python)
#!/usr/bin/env python
"""
NX-OS POAP Script - 핵심 로직
"""
import poap
# 1. 시스템 이미지 다운로드 및 설치
poap.log("Downloading system image...")
poap.download("tftp", "10.1.1.50",
"/images/nxos.10.3.4a.bin",
"/bootflash/nxos.10.3.4a.bin")
poap.set_boot_image("/bootflash/nxos.10.3.4a.bin")
# 2. 시리얼 넘버 기반으로 config 매핑
serial = poap.get_serial_number()
config_file = "configs/{}.cfg".format(serial)
poap.log("Downloading config for SN: {}".format(serial))
poap.download("tftp", "10.1.1.50",
config_file,
"/bootflash/poap_applied.cfg")
# 3. 설정 적용
poap.apply_config("/bootflash/poap_applied.cfg")
시리얼 넘버 기반 Config 매핑 전략
대규모 배포 시 가장 실용적인 방식입니다. 스위치의 S/N에 맞춰 설정 파일을 자동 매핑합니다.
/tftpboot/
├── poap_script.py
├── images/
│ └── nxos.10.3.4a.bin
└── configs/
├── SAL1234ABCD.cfg ← S/N별 설정파일
├── SAL5678EFGH.cfg
└── default.cfg ← 폴백용
├── poap_script.py
├── images/
│ └── nxos.10.3.4a.bin
└── configs/
├── SAL1234ABCD.cfg ← S/N별 설정파일
├── SAL5678EFGH.cfg
└── default.cfg ← 폴백용
스위치 측 확인 및 트러블슈팅
! ZTP/POAP 상태 확인
show boot poap status
! POAP 히스토리 로그
show logging logfile | include -i poap
! 수동으로 POAP 재시작 (테스트 시)
boot poap enable
write erase
reload
💡 Tip: 테스트 시
write erase → reload로 startup-config를 비우면 POAP가 다시 트리거됩니다.🎯 프리세일즈 포인트
- Day-0 자동화 — 원격지 배포 시 엔지니어 파견 불필요, 현장 인력이 케이블링만 하면 됨
- POAP + NDFC 연동 — Nexus Dashboard Fabric Controller와 통합하면 GUI 기반으로 대규모 패브릭 ZTP 가능
- 스케일 — 수백 대 스위치를 동시에 프로비저닝 가능
- VXLAN EVPN 패브릭 — NDFC Easy Fabric 모드에서 ZTP로 spine/leaf 자동 디스커버리 및 언더레이/오버레이 자동 구성
NDFC를 활용한 ZTP가 현재 Cisco의 권장 방식이며, 순수 POAP 스크립트 방식은 NDFC 없이 경량으로 운영하고 싶을 때 적합합니다.
'CCIE EI > Automation' 카테고리의 다른 글
| Poap Automation for NXOS (0) | 2026.03.23 |
|---|