소개
이 문서에서는 Cisco Catalyst Center 2.3.5.x 릴리스에서 제공되는 외부 컨피그레이션 아카이브 기능을 사용하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 2.3.5 릴리스를 실행하는 Cisco Catalyst Center
- Linux SFTP(Secure File Transfer Protocol) 서버
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- 2.3.5 이상 릴리스를 실행하는 Cisco Catalyst Center
- 이 문서에서는 SFTP 서버, Linux RedHat 8 서버가 사용됩니다
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
SFTP 설정 구성
1단계. FTP(File Transfer Protocol)와 달리 SFTP를 사용하기 위해 추가 패키지를 설치할 필요가 없습니다. SFTP는 SSH 하위 시스템을 사용합니다. 따라서 명령을 실행하고 rpm -qa|grep ssh
필요한 SSH 패키지가 이미 있는지 확인합니다.
출력은 다음과 같아야 합니다.
[admin@backup-server ~]$ rpm -qa|grep ssh
libssh-0.9.4-3.el8.x86_64
openssh-clients-8.0p1-10.el8.x86_64
openssh-8.0p1-10.el8.x86_64
libssh-config-0.9.4-3.el8.noarch
openssh-server-8.0p1-10.el8.x86_64
openssh-askpass-8.0p1-10.el8.x86_64
qemu-kvm-block-ssh-4.2.0-59.module+el8.5.0+12817+cb650d43.x86_64
2단계. 새 폴더를 만들고 적절한 권한을 할당합니다.
[admin@backup-server data]$ mkdir -p /data/sftp
[admin@backup-server data]$ chmod 700 /data
3단계. 새 디렉토리로 이동합니다.
[admin@backup-server data]$ cd /data/sftp
4단계. SFTP 액세스group
를 가진user
사용자를 규제하기 위해 및 를 생성합니다.
[admin@backup-server sftp]$ groupadd sftpusers
5단계. 예를 들어, 사용자를 digranad
생성하고 이를 sftpusers 그룹과 1단계에서 생성한 폴더 모두에 바인딩합니다.
[admin@backup-server sftp]$ useradd -g sftpusers -d /data/sftp digranad
사용자에게 비밀번호를 할당합니다.
[admin@backup-server sftp]$ passwd digranad
Changing password for user digranad.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
6단계. 이전 단계에서 생성한 그룹과 사용자를 사용하여 디렉토리에 대한 올바른 권한을 구성합니다. 다음 명령을 사용하여.sudo chown user:group directory/
[admin@backup-server data]$ pwd
/data
[admin@backup-server data]$ sudo ls -lrt
[sudo] password for admin:
total 0
drwxr-xr-x. 2 root root 6 Feb 3 18:22 sftp
[admin@backup-server data]$ sudo chown digranad:sftpusers sftp/
[admin@backup-server data]$ sudo ls -lrt
total 0
drwxr-xr-x. 3 digranad sftpusers 38 May 18 15:04 sftp
[admin@backup-server data]$
이 시점에서 SFTP 설정을 성공적으로 구성했습니다. 이제 Cisco Catalyst Center에서 컨피그레이션을 진행합니다.
Cisco Catalyst Center GUI에서 SFTP 외부 리포지토리 구성
1단계. Cisco Catalyst Center GUI에 로그인하고 로System > Settings > Configuration Archive
이동합니다.
2단계. 창에서Configuration Archive
외부 탭을 클릭합니다.
3단계. 추가 아이콘을 눌러 외부 저장소의 구성을 시작합니다.
참고: SFTP 서버는 하나만 추가할 수 있습니다.
4단계. Add New External Repository
슬라이드 인 창에서 다음 세부 정보를 완료합니다.
-
호스트: 서버 IP 주소를 입력합니다.
-
루트 위치: 루트 폴더의 위치를 입력합니다.
-
서버 프로토콜: SFTP 서버의 사용자 이름, 비밀번호 및 포트 번호를 입력합니다(포트 22가 기본 SFTP 포트).
- 백업 형식을 선택합니다.
- 원시: 전체 실행 구성이 공개될 것입니다. 모든 민감한/개인 컨피그레이션은 백업 데이터에서 마스킹되지 않습니다. 백업 파일을 잠그려면 암호를 입력하십시오.
주의: 파일 비밀번호는 Cisco Catalyst Center에 저장되지 않습니다. SFTP 서버의 파일에 액세스하려면 비밀번호를 기억해야 합니다.
참고: 비밀번호는 원시 백업 형식을 선택한 경우에만 적용됩니다.
e. 백업 주기를 예약합니다. 백업 날짜, 시간, 시간대 및 되풀이 간격을 입력합니다.
참고: 이 문서의 SFTP 설정 구성 섹션에 구성된 설정을 사용합니다.
외부 리포지토리 컨피그레이션 1

5단계. 저장을 클릭합니다.
다음을 확인합니다.
외부 리포지토리 컨피그레이션이 저장되고 Configuration Archive(컨피그레이션 아카이브) 섹션에 표시되는지 확인합니다.

데이터 사용 방법
Cisco Catalyst Center는 네트워크 디바이스 컨피그레이션의 저장소 역할을 합니다. 에서 컨피그레이션을 시각화하기 위한 단계입니다SFTP Server
.
SFTP 서버로 디렉토리(cd
)를Root Location
변경하고pwd
명령을 실행하여 확인합니다.
[admin@backup-server ~]$ cd /data/sftp/
[admin@backup-server sftp]$ pwd
/data/sftp
Cisco Catalyst Center에서 device_config_export라는 디렉토리를 구성해야 합니다. 나열하려면 ls -lrt
를 사용하십시오.
[admin@backup-server sftp]$ ls -lrt
total 4
drwxr-xr-x. 25 digranad sftpusers 4096 Jul 18 20:24 device_config_export
로 디렉토리를 변경하고cd
파일을 다시 나열합니다. 각 주기 및 실행된 날짜에 대해 하나의 디렉토리가 표시되어야 합니다.
[admin@backup-server sftp]$ cd device_config_export/
[admin@backup-server device_config_export]$ ls -lrt
total 0
drwxr-xr-x. 2 digranad sftpusers 61 May 18 15:31 1eeb097b-1d13-4e90-ba38-aace54dcdab5
drwxr-xr-x. 2 digranad sftpusers 61 May 19 14:45 a1a06766-feec-41b0-adf0-50e94def3901
drwxr-xr-x. 2 digranad sftpusers 61 May 22 14:45 28dd5439-c1e9-4a76-bd25-5292d46a1fe6
drwxr-xr-x. 2 digranad sftpusers 61 May 25 14:45 5dbf1ad5-a1a7-42ed-8367-ba90d09fffad
5월 18일부터 파일을 검사하려면 해당 디렉토리cd
로 이동하여 컨피그레이션과 함께 .zip 파일을 찾기 위해 내용을 나열합니다.
[admin@backup-server device_config_export]$ cd 1eeb097b-1d13-4e90-ba38-aace54dcdab5
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ ls -lrt
total 364
-rw-r--r--. 1 digranad sftpusers 371393 May 18 15:31 Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
.zip 파일 내의 파일을 확인하려면 다음 두 가지 옵션을 사용할 수 있습니다.
옵션 1. Export_Configs 파일의 압축을 풉니다
.zip unzip
파일에 대한 명령을 실행합니다.
참고: 관리자 사용자 이름으로 로그인했으므로 이 예에서는 sudo 옵션이 필요합니다.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ sudo unzip Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
Archive: Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
이 옵션은 인벤토리의 모든 디바이스에 대한 디렉토리를 생성합니다. 명령을 사용하여ls
확인하십시오.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ ls -lrt
total 364
-rw-r--r--. 1 digranad sftpusers 371393 May 18 15:31 Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-FIAB.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2.Pod8.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.L.11-9300
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.N.04-9300
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge1.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-WLC.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge2.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1_node.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border2_node.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-1
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Interm.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge2.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-MXC.I.12-9500
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge1.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Switch.Pod2.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-MXC.D.10-9300
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-Fusion_Router.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Border1.Pod2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-LanAauto-5.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Router-Lab.cisco
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-1
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-WLC1.Pod2.example.com
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-Router
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Edge-2
drwxr-xr-x. 2 root root 106 Jul 19 15:45 x.x.x.x-sw2.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-Fusion.Pod8.example.com
drwxr-xr-x. 2 root root 151 Jul 19 15:45 x.x.x.x-9800-5-jdv.example.com
각 디렉토리는 디바이스 관리 IP 주소를x.x.x.x-DeviceHostname
x.x.x.x
나타내는 형식으로 생성됩니다.
저장된 데이터는 디바이스 유형에 따라 달라질 수 있습니다. 다음은 두 가지 예입니다. 하나는x.x.x.x-Edge1.Pod8.example.com
이고, 다른 하나는x.x.x.x-Fusion_Router.cisco.com
입니다.
저장된 파일을 보려면 디바이스 디렉토리로cd
이동하여 해당 내용을 나열합니다.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ cd x.x.x.x-Edge1.Pod8.example.com
[admin@backup-server x.x.x.x-Edge1.Pod8.example.com]$ ls -lrt
total 140
-rw-r--r--. 1 root root 556 May 17 23:50 17_May_2023_23_50_00_212_vlan.dat.bat
-rw-r--r--. 1 root root 67990 May 17 23:50 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
-rw-r--r--. 1 root root 68055 May 17 23:50 17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ cd x.x.x.x-Fusion_Router.example.com
[admin@backup-server x.x.x.x-Fusion_Router.example.com]$ ls -lrt
total 32
-rw-r--r--. 1 root root 15578 May 17 23:50 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
-rw-r--r--. 1 root root 15578 May 17 23:50 17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
참고: 라우터 기반 디바이스는 VLAN 데이터를 저장하지 않을 것으로 예상됩니다.
마지막으로,Linux cat
도구를 사용하여 각 컨피그레이션 파일의 내용을 확인합니다.
admin@backup-server x.x.x.x-Fusion_Router.cisco.com]$ cat 17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service call-home
...
...
...
snmp-server host x.x.x.x version 2c ********
snmp-server host x.x.x.x version 2c ********
control-plane
line con 0
stopbits 1
line aux 0
line vty 0 4
transport input ssh
destination transport-method http
event manager applet catchall
event cli pattern ".*" sync no skip no
action 1 syslog msg "$_cli_msg"
netconf-yang
end
옵션 2. Linux Vim Tool을 사용하여 .zip 탐색
Vim 도구를 사용하면 압축을 풀지 않고 .zip 파일을 탐색할 수 있습니다. 이를 위해 .zip vim
파일을 사용하여 명령을 실행합니다.
[admin@backup-server 1eeb097b-1d13-4e90-ba38-aace54dcdab5]$ vim Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
Vim은 파일을 탐색하기 위해 화살표 키와 Enter 키를 사용하여 .zip 파일 내의 모든 파일을 탐색할 수 있는 탐색 환경을 로드합니다.
" zip.vim version v28
" Browsing zipfile /data/sftp/device_config_export/1eeb097b-1d13-4e90-ba38-aace54dcdab5/Export_Configs-17_May_2023_23_50_00_212-w8Q.zip
" Select a file with cursor and press ENTER
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
/x.x.x.x-Border2.Pod2.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_STARTUPCONFIG.cfg
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
/x.x.x.x-FIAB.Pod8.example.com/17_May_2023_23_50_00_212_RUNNINGCONFIG.cfg
/x.x.x.x-Border2.Pod8.example.com/17_May_2023_23_50_00_212_vlan.dat.bat
참고: 파일 또는 Vim 환경에서 종료하려면 명령을 사용합니다:q!
.
문제 해결
일반 오류
1. 시작 시간이 현재 시간보다 큽니다.
외부 리포지토리 서버를 구성한 후 백업 주기에 대해 구성된 StartTime이 현재 시간보다 오래된 경우 다음 오류가 나타납니다.

이를 변경하려면 현재 시간보다 큰 다른 StartTime을 선택하면 됩니다.
2. 루트 위치 디렉터리가 비어 있지 않습니다.
루트 위치 폴더가 처음부터 생성되지 않았거나 Cisco Catalyst Center에서 외부 리포지토리를 재구성하는 경우 다음 오류가 나타납니다.

이 오류를 해결하려면 SFTP 서버에서 루트 위치를 정리합니다. SFTP 서버에 로그인하고 이 명령을 사용하여 해당 위치로 이동한 후cd
이 명령을 사용하여 정리를 수행합니다sudo rm -r
.
[admin@backup-server sftp]$ cd /data/sftp
[admin@backup-server sftp]$ sudo rm -r
파일이ls -lrt
없는지 확인하려면 이 명령을 사용하고 ls -la
숨겨진 파일이 있는지 확인하려면 이 명령을 사용합니다.
[admin@backup-server sftp]$ sudo ls -lrt
total 0
[admin@backup-server sftp]$ sudo ls -la
total 4
drwxr-xr-x. 3 digranad sftpusers 38 May 18 15:23 .
drwx-----x. 4 root root 34 Feb 3 18:27 ..
drwx------. 3 digranad sftpusers 19 May 18 15:03 .config
-rw-------. 1 digranad sftpusers 16 May 18 15:03 .esd_auth
숨겨진 파일이 있는 경우 명령을 사용하여 해당 파일sudo rm -r .*
을 ls -la
제거하고 명령을 다시 사용하여 모든 파일이 제거되었는지 확인합니다.
[admin@backup-server sftp]$ sudo rm -r .*
rm: refusing to remove '.' or '..' directory: skipping '.'
rm: refusing to remove '.' or '..' directory: skipping '..'
[admin@backup-server sftp]$
[admin@backup-server sftp]$ sudo ls -la
total 0
drwxr-xr-x. 2 digranad sftpusers 6 May 18 15:25 .
drwx-----x. 4 root root 34 Feb 3 18:27 ..
[admin@backup-server sftp]$
3. 루트 위치 폴더가 없거나 권한이 올바르게 부여되지 않았습니다.
SFTP 서버에 루트 위치 폴더가 없거나 적절한 권한이 없는 경우 이 오류가 표시됩니다.

위에서부터 아래까지 권한을 추적합니다. 이 예에서는 디렉터리 아래에 있는 디렉터리의/sftp
존재 또는 권한을 /data
확인합니다.
현재 폴더의 위치pwd
를 확인하려면 이 명령을 사용합니다.
[admin@backup-server data]$ pwd
/data
명령을 ls -lrt
사용하여 폴더가 있는지 확인하고/sftp
해당 권한을 확인합니다.
[admin@backup-server data]$ ls -lrt
total 0
drwxr-xr-x. 2 root root 6 Feb 3 18:22 sftp
디렉터리에/sftp
root로 설정된 권한이 있습니다. 이 섹션의 4단계에서 다른 사용자가 사용된 경우Configure SFTP server on Cisco DNA Center GUI
GUI Settings(GUI 설정)에서 사용자 이름을 변경하거나 SFTP Server에서 권한을 변경해야 합니다. 섹션을 참조하려면 6단계. 를Configure SFTP Settings
사용할 수 있습니다.
알려진 결함