소개
이 문서에서는 TFTP 및 SFTP 서버가 있는 동질적이지 않은 EWC 네트워크의 액세스 포인트 이미지 다운로드 프로세스에 대해 자세히 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- AP 가입 프로세스의 장군입니다.
- Catalyst 9100 Series AP의 임베디드 무선 LAN 컨트롤러
- TFTP 파일 전송.
- SFTP 파일 전송
- Linux 명령줄 인터페이스 사용.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Catalyst 9120AXI AP, Cisco IOS® XE Cupertino 17.9.3에 내장된 Catalyst 9800 WLC
- Catalyst 9105AXI AP.
- TFTPD-64 버전 4.64.
- TFTPD-HPA Linux 패키지.
- SSH Linux 패키지
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보.
EWC 역할을 하는 액세스 포인트는 네트워크에 조인할 때 다른 액세스 포인트에만 고유한 AP 이미지 유형을 제공할 수 있습니다. 네트워크가 비균질한 구축(EWC로 작동하는 AP와 다른 이미지의 AP)으로 구성된 경우, TFTP 또는 SFTP 서버를 구축하고 AP에서 다운로드할 수 있도록 AP 이미지를 호스팅해야 합니다.
참고: 네트워크 내에서 이미지를 로컬로 다운로드하는 AP 이미지 업그레이드 프로세스에만 적용됩니다. AP는 CCO 업그레이드를 통해 인터넷에서 직접 이미지를 다운로드할 수도 있습니다.
구성
네트워크 다이어그램
네트워크 다이어그램
TFTP를 통한 이미지 다운로드
TFTPD-64(Windows)
TTPD-64는 TFTP 기능을 포함하는 잘 알려진 FOSS(Free and Open Source) 유틸리티입니다. 다운로드 및 설치는 웹 사이트를 참조하십시오.
TFTP 서버의 적절한 폴더에 있는 AP 번들 이미지의 압축을 풀어야 합니다.
TFTP 폴더에서 압축을 푼 파일
AP가 TFTP 서버에서 이미지를 다운로드하기 시작하면 TFTP의 팝업이 나타나고 이미지 전송 진행 상황을 자세히 설명합니다.
TFTPD-64 파일 전송 진행률
TFTPD-HPA(Linux)
TFTPD-HPA는 APT 리포지토리에서 가져올 수 있는 잘 알려진 기본 패키지입니다. 자세한 내용은 Ubuntu의 TFTP 설명서를 참조하십시오.
TFTP 컨피그레이션이 TFTP 폴더를 적절하게 가리키고 AP 번들 이미지의 압축이 해제되었는지 확인합니다.
Ubuntu의 TFTP 컨피그레이션 및 압축 해제된 파일
Ubuntu의 /var/lib/syslog에 기본적으로 기록되는 이미지 전송 프로세스를 추적할 수 있습니다.
Ubuntu의 TFTP 파일 전송 로그
WLC 컨피그레이션
WLC의 GUI에서 Administration(관리) > Software Management(소프트웨어 관리) > Software Upgrade(소프트웨어 업그레이드)로 이동합니다. Mode(모드) 아래의 드롭다운 목록에서 TFTP를 선택하고 TFTP 서버의 정보를 제공합니다.
Save(저장)를 선택하여 이미지 다운로드 프로필을 저장하고 EWC 네트워크에 조인하는 새 AP에 대한 이미지 다운로드를 활성화하거나 Save & Download(저장 및 다운로드)를 클릭하여 EWC의 AP를 포함한 모든 AP에 대한 다운로드 프로세스를 즉시 트리거합니다.
소프트웨어 업그레이드를 위한 TFTP 컨피그레이션
CLI 구성:
9120-EWC(config)#wireless profile image-download default
9120-EWC(config-wireless-image-download-profile)#image-download-mode tftp
9120-EWC(config-wireless-image-download-profile)#tftp-image-server <TFTP-server>
9120-EWC(config-wireless-image-download-profile-tftp)#tftp-image-path <path>
SFTP를 통한 이미지 다운로드
SFTP 서버(Linux)
SFTP는 SSH에서 작동하므로 Linux의 SSH 패키지를 사용하여 Linux에서 간단한 SFTP 서버를 구성할 수 있습니다.
/etc/ssh/ssh_config 파일에서 SFTP에 대한 적절한 컨피그레이션을 제공해야 합니다. 필요에 따라 사용자(또는 그룹)에 대한 권한을 SFTP 디렉토리에 추가하고 원하는 경로에서 AP 번들 이미지 파일의 압축을 풉니다.
Ubuntu의 SFTP 컨피그레이션
Linux의 TFTP 서버와 마찬가지로 SFTP 활동도 추적할 수 있습니다. 기본적으로 로그는 /var/log/auth.log에 저장되도록 구성됩니다. 필요에 따라 로그 레벨 구성을 추가해야 합니다.
Ubuntu의 SFTP 로그 작업 및 구성
참고: SFTP 서버에 연결되는 디바이스는 이미지를 요청하는 AP가 아니라 EWC입니다. 자격 증명은 EWC에 가입하기 전에 AP가 아니라 EWC에서 프로비저닝되기 때문입니다. 그런 다음 이미지는 해당 이미지를 요청하는 실제 AP로 전달됩니다.
WLC 컨피그레이션
WLC의 GUI에서 Administration(관리) > Software Management(소프트웨어 관리) > Software Upgrade(소프트웨어 업그레이드)로 이동합니다. Mode(모드) 아래의 드롭다운 목록에서 SFTP를 선택하고 STFTP 서버의 정보 및 자격 증명을 제공합니다.
Save(저장)를 선택하여 이미지 다운로드 프로필을 저장하고 EWC 네트워크에 조인하는 새 AP에 대한 이미지 다운로드를 활성화하거나 Save & Download(저장 및 다운로드)를 클릭하여 EWC의 AP를 포함한 모든 AP에 대한 다운로드 프로세스를 즉시 트리거합니다.
GUI의 SFTP 컨피그레이션
CLI 구성:
9120-EWC(config)#wireless profile image-download default
9120-EWC(config-wireless-image-download-profile)#image-download-mode sftp
9120-EWC(config-wireless-image-download-profile-sftp)#sftp-image-server <SFTP-Server>
9120-EWC(config-wireless-image-download-profile-sftp)#sftp-image-path <path>
9120-EWC(config-wireless-image-download-profile-sftp)#sftp-username <user>
9120-EWC(config-wireless-image-download-profile-sftp)#sftp-password 0 <password>
다음을 확인합니다.
CAPWAP 상태 머신은 다른 AP 이미지 다운로드 프로세스에서 일반적으로 예상하는 대로 AP 플로우에 로그인합니다.
[*01/30/2024 21:41:35.1120] CAPWAP State: Image Data
[*01/30/2024 21:41:35.1130] AP image version 17.3.3.26 backup 8.10.130.0, Controller 17.9.4.27
[*01/30/2024 21:41:35.1130] Version does not match.
[*01/30/2024 21:41:35.1130] Request to close the file..
[*01/30/2024 21:41:35.1130] wtpOpenImgFile: image file closed, dcb->fd set to -1.
[*01/30/2024 21:41:35.2040] status 'upgrade.sh: Script called with args:[PRECHECK]'
[*01/30/2024 21:41:35.3020] do PRECHECK, part2 is active part
[*01/30/2024 21:41:35.3350] status 'upgrade.sh: Cleanup tmp files ...'
[*01/30/2024 21:41:35.4620] status 'upgrade.sh: /tmp space: OK available 96064, required 50000 '
[*01/30/2024 21:41:35.4630] wtpOpenImgFile: request ap1g8, local /tmp/part.tar
[*01/30/2024 21:41:35.4630] wtpOpenImgFile: open (/tmp/part.tar) image file success
[*01/30/2024 21:41:35.4630] Using fd(37559296) for image writing to file(/tmp/part.tar)
[*01/30/2024 21:41:35.4650] Image Data Request sent to 172.16.4.26, fileName [ap1g8], replicaStatus 1
[*01/30/2024 21:41:35.4690] Image Data Response from 172.16.4.26
[*01/30/2024 21:41:35.4690] AC accepted previous sent request with result code: 0
[*01/30/2024 21:41:35.4760] <.......................................Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*01/30/2024 21:41:50.6190] ...........
[*01/30/2024 21:41:54.7060] ..............................................Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*01/30/2024 21:42:14.0820] ....
[*01/30/2024 21:42:15.5860] Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*01/30/2024 21:42:15.6430] .............................................
[*01/30/2024 21:42:34.2800] ...............................Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*01/30/2024 21:42:46.0420] ...................
[*01/30/2024 21:42:53.0610] ..................................................
[*01/30/2024 21:43:11.6480] ......> 70512640 bytes, 51208 msgs, 601 last
[*01/30/2024 21:43:13.3940] Last block stored, IsPre 0, WriteTaskId 0
[*01/30/2024 21:43:13.3940] Request to close the file..
[*01/30/2024 21:43:13.3940] wtpOpenImgFile: image file closed, dcb->fd set to -1.
[*01/30/2024 21:43:13.3940] Image transfer completed from WLC, last 1
[*01/30/2024 21:43:13.3940] Request to close the file..
[*01/30/2024 21:43:13.3940] wtpOpenImgFile: image file closed, dcb->fd set to -1.
[*01/30/2024 21:43:13.3950] in (CAPWAP_MSGELE_IMAGE_DATA_msg_dec_cb) Enabling radCfg.is_oob_image_dnld_supported
[*01/30/2024 21:43:13.4190] wtp_delayed_event_handle_write_image_to_storage(10): fileName ap1g8, pre 0
[*01/30/2024 21:43:13.4190] wtp_delayed_event_handle_write_image_to_storage(10): fileName ap1g8, pre 0
[*01/30/2024 21:43:13.5110] status 'upgrade.sh: Script called with args:[PREDOWNLOAD]'
[*01/30/2024 21:43:13.6100] do PREDOWNLOAD, part2 is active part
[*01/30/2024 21:43:13.6420] status 'upgrade.sh: Creating before-upgrade.log'
[*01/30/2024 21:43:13.6990] status 'upgrade.sh: Start doing upgrade arg1=PREDOWNLOAD arg2= arg3= ...'
[*01/30/2024 21:43:13.8610] status 'upgrade.sh: Using image /tmp/part.tar on ax-bcm32 ...'
[*01/30/2024 21:43:20.9990] status 'Image signing verify success.'
WLC Syslog에서 이미지 다운로드는 Successful(성공)로 표시됩니다.
*Feb 1 17:05:37.108: %INSTALL-5-INSTALL_COMPLETED_INFO: Chassis 1 R0/0: install_engine: Completed install add sftp://******@172.16.5.62/Documents/sftp_files/EWC_17_9_4a/ap3g3
*Feb 1 17:07:00.720: %CAPWAPAC_SMGR_TRACE_MESSAGE-5-AP_JOIN_DISJOIN: Chassis 1 R0/0: wncd: AP Event: AP Name: AP-POD-2-2 Mac: 2c5a.0f40.6920 Session-IP: 172.16.4.33[5248] 172.16.4.26[5246] Disjoined Image Download Success
AP 이미지 다운로드
업그레이드 프로세스를 시작한 후에는 EWC에서 "show ap image" 명령을 사용하여 AP 이미지 사전 다운로드 프로세스를 추적할 수 있습니다. 모든 AP에서 이미지 다운로드가 완료되면 AP의 백업 이미지에서 대상 이미지를 볼 수 있습니다.
9120-EWC#show ap image
Total number of APs : 3
Number of APs
Initiated : 0
Downloading : 0
Predownloading : 0
Completed downloading : 0
Completed predownloading : 3
Not Supported : 0
Failed to Predownload : 0
Predownload in progress : No
AP Name Primary Image Backup Image Predownload Status Predownload Version Next Retry Time Retry Count Method
------------------------------------------------------------------------------------------------------------------------------------------------------------------
AP-POD-2-2 17.9.4.27 17.12.1.5 Complete 17.12.1.5 0 0 CAPWAP
AP6C41.0E16.E79C 17.9.4.27 17.12.1.5 Complete 17.12.1.5 0 0 CAPWAP
9105-emorenoa 17.9.4.27 17.12.1.5 Complete 17.12.1.5 0 0 CAPWAP
또는 GUI에서 진행률 표시줄이 Activate 단계에 도달하며, 이 단계에서 EWC를 새 코드로 교체하려면 다시 로드만 필요합니다.
EWC 웹 UI 업그레이드 진행률 표시줄
아래는 EWC에서 AP의 사전 다운로드 상태를 보여줍니다.
EWC 웹 UI AP 이미지 사전 다운로드 상태
문제 해결
AP 이미지 다운로드 프로세스에서 AP의 CAPWAP 상태 머신 로그에서 다운로드를 시작할 수 없음을 확인할 수 있습니다.
[*07/12/2023 07:41:00.7960] CAPWAP State: Image Data
[*07/12/2023 07:41:00.7970] AP image version 17.3.3.26 backup 8.10.130.0, Controller 17.9.4.27
[*07/12/2023 07:41:00.7970] Version does not match.
[*07/12/2023 07:41:00.8580] upgrade.sh: Script called with args:[PRECHECK]
[*07/12/2023 07:41:00.9540] do PRECHECK, part2 is active part
[*07/12/2023 07:41:01.0070] upgrade.sh: /tmp space: OK available 101272, required 40000
[*07/12/2023 07:41:01.0080] wtpImgFileReadRequest: request ap1g8, local /tmp/part.tar
[*07/12/2023 07:41:01.0100] Image Data Request sent to 172.16.4.26, fileName [ap1g8], slaveStatus 0
[*07/12/2023 07:41:01.0140] Image Data Response from 172.16.4.26
[*07/12/2023 07:41:01.0140] AC accepted join request with result code: 0
[*07/12/2023 07:41:09.5930] Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*07/12/2023 07:41:28.7700] Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: Image Data(10).
[*07/12/2023 07:41:29.7500]
[*07/12/2023 07:41:29.7500] Going to restart CAPWAP (reason : image download cannot start)...
[*07/12/2023 07:41:29.7500]
[*07/12/2023 07:41:29.7570] Restarting CAPWAP State Machine.
[*07/12/2023 07:41:29.7600] Image Data Request sent to 172.16.4.26, fileName [ap1g8], slaveStatus 1
[*07/12/2023 07:41:29.7970]
[*07/12/2023 07:41:29.7970] CAPWAP State: DTLS Teardown
[*07/12/2023 07:41:29.8330] Aborting image download(0x0): Dtls cleanup, ap1g8
[*07/12/2023 07:41:29.9560] upgrade.sh: Script called with args:[ABORT]
[*07/12/2023 07:41:30.0570] do ABORT, part2 is active part
[*07/12/2023 07:41:30.1050] upgrade.sh: Cleanup tmp files ...
[*07/12/2023 07:41:30.1590] Discarding msg CAPWAP_WTP_EVENT_REQUEST(type 9) in CAPWAP state: DTLS Teardown(4).
AP에서 이미지를 다운로드할 수 없는 이유를 알아보려면 EWC에서 Syslog를 확인할 수 있습니다. TFTP 및 SFTP 서버에 대해 잘못 지정된 경로로 인해 이미지 다운로드가 실패하는 것이 일반적이며, 이는 로그에 올바르게 반영됩니다.
SFTP:
*Feb 1 20:29:14.108: %CAPWAPAC_SMGR_TRACE_MESSAGE-5-AP_JOIN_DISJOIN: Chassis 1 R0/0: wncd: AP Event: AP Name: AP-9117 Mac: 0cd0.f897.ade0 Session-IP: 172.16.4.34[5248] 172.16.4.26[5246] Disjoined Image Download Failed
*Feb 1 20:29:17.325: %INSTALL-5-INSTALL_START_INFO: Chassis 1 R0/0: install_engine: Started install add sftp://******@172.16.5.62/Documents/Wrong-Path/ap1g6
*Feb 1 20:29:25.730: %INSTALL-3-OPERATION_ERROR_MESSAGE: Chassis 1 R0/0: install_engine: Failed to install_add package sftp://******@172.16.5.62/Documents/Wrong-Path/ap1g6, Error: Failed to download file sftp://******@172.16.5.62/Documents/Wrong-Path/ap1g6: No such file or directory
TFTP의 경우
*Feb 1 20:52:08.742: %CAPWAPAC_SMGR_TRACE_MESSAGE-5-AP_JOIN_DISJOIN: Chassis 1 R0/0: wncd: AP Event: AP Name: AP-9117 Mac: 0cd0.f897.ade0 Session-IP: 172.16.4.34[5248] 172.16.4.26[5246] Disjoined Image Download Failed
*Feb 1 20:52:11.894: %INSTALL-5-INSTALL_START_INFO: Chassis 1 R0/0: install_engine: Started install add tftp://172.16.5.27/Wrong-Path/ap1g6
*Feb 1 20:52:13.977: %INSTALL-3-OPERATION_ERROR_MESSAGE: Chassis 1 R0/0: install_engine: Failed to install_add package tftp://172.16.5.27/Wrong-Path/ap1g6, Error: Failed to download file tftp://172.16.5.27/Wrong-Path/ap1g6: No such file or directory
AP 및 EWC를 통해 TFTP 또는 SFTP 서버에 연결할 수 있는지 확인합니다. 그렇지 않으면 EWC Syslog에 시간 초과 로그가 표시될 수 있습니다.
*Feb 1 20:55:03.359: %CAPWAPAC_SMGR_TRACE_MESSAGE-5-AP_JOIN_DISJOIN: Chassis 1 R0/0: wncd: AP Event: AP Name: AP-9117 Mac: 0cd0.f897.ade0 Session-IP: 172.16.4.34[5248] 172.16.4.26[5246] Disjoined Image Download Failed
*Feb 1 20:55:06.512: %INSTALL-5-INSTALL_START_INFO: Chassis 1 R0/0: install_engine: Started install add tftp://172.16.5.199/EWC/17_9_4a/ap1g6
*Feb 1 20:55:46.579: %INSTALL-3-OPERATION_ERROR_MESSAGE: Chassis 1 R0/0: install_engine: Failed to install_add package tftp://172.16.5.199/EWC/17_9_4a/ap1g6, Error: Failed to download file tftp://172.16.5.199/EWC/17_9_4a/ap1g6: Timed out
참고: TFTP용 UDP 포트 69 및 SFTP용 TCP 포트 22는 AP와 EWC 및 TFTP 또는 SFTPServer 간에서 차단되지 않아야 합니다.
관련 정보