소개
이 문서에서는 StarOS 릴리스 20 이상에서 .chassidfile(섀시 ID)을 백업하는 방법에 대해 설명합니다.
배경 정보
섀시 키는 컨피그레이션 파일에서 암호화된 비밀번호를 암호화 및 해독하는 데 사용됩니다. 둘 이상의 섀시가 동일한 섀시 키 값으로 구성된 경우 동일한 섀시 키 값을 공유하는 모든 섀시에 의해 암호화된 비밀번호의 해독이 가능합니다. 이에 대한 결과로, 지정된 섀시 키 값은 다른 섀시 키 값으로 암호화된 비밀번호를 해독할 수 없습니다.
섀시 키는 파일에 저장된 섀시 ID를 생성하는 데 사용되며, 컨피그레이션 파일에서 중요한 데이터(예: 비밀번호 및 암호)를 보호하기 위한 기본 키로 사용됩니다
릴리스 15.0 이상의 경우 섀시 ID는 섀시 키의 SHA256 해시입니다. 섀시 키는 사용자가 CLI 명령 또는 빠른 설정 마법사를 통해 설정할 수 있습니다. 섀시 ID가 없으면 로컬 MAC 주소를 사용하여 섀시 ID를 생성합니다.
릴리스 19.2 이상의 경우 사용자는 Quick Setup Wizard(빠른 설정 마법사) 또는 CLI 명령을 통해 섀시 키를 명시적으로 설정해야 합니다. 설정되지 않은 경우 로컬 MAC 주소를 사용하는 기본 섀시 ID가 생성됩니다. 섀시 키(섀시 ID)가 없으면 저장된 컨피그레이션 파일에 민감한 데이터가 나타나지 않습니다.
섀시 ID는 사용자가 입력한 섀시 키에 32바이트 보안 난수를 더한 SHA256 해시(base36 형식으로 인코딩)입니다. 그러면 섀시 키와 섀시 ID가 키 보안을 위해 32바이트 엔트로피를 갖게 됩니다.
섀시 ID를 사용할 수 없는 경우 컨피그레이션 파일의 민감한 데이터에 대한 암호화 및 암호 해독이 작동하지 않습니다.
문제: 섀시 키 값을 백업하여 동일한 노드에서 동일한 컨피그레이션에 대해 실행할 수 없습니다.
릴리스 19.2에서 시작되는 동작 변경으로 인해 더 이상 섀시 키 값을 백업하여 동일한 노드에서 동일한 컨피그레이션을 실행하는 데 충분하지 않습니다.
또한 구성된 섀시 키에 연결된 임의의 32바이트 번호 때문에 항상 동일한 섀시 키를 기준으로 다른 섀시 ID가 생성됩니다.
따라서 cli 명령 섀시 keycheck는 동일한 이전 키를 입력해도 항상 음수가 반환되므로 현재 숨겨져 있습니다.
저장된 컨피그레이션에서 StarOS 시스템을 복구하려면(예: /플래시 드라이브의 모든 내용이 손실된 경우) 를 백업해야 합니다.chassid(StarOS가 섀시 ID를 저장하는 경우)
섀시 ID는 StarOS 하드 드라이브의 /flash/.chassid 파일에 저장됩니다. 이 파일을 백업하는 가장 쉬운 방법은 일부 파일 전송 프로토콜을 통해 백업 서버로 전송하는 것입니다.
보시다시피 .chassisid 파일은 숨겨진 파일이며 최신 릴리스에서는 숨겨진 파일로 파일 관리 작업을 수행할 수 없습니다. 예를 들어 이 오류는 릴리스 20.0.1과 함께 표시됩니다.
[local]sim-lte# copy /flash/.chassisid /flash/backup
Failure: source is not valid.
[local]sim-lte#
또는:
[local]sim-lte# show file url /flash/.chassisid
Failure: file is not valid.
솔루션
다음 절차를 통해 이 파일에 액세스할 수 있는 방법은 여전히 있습니다.
1단계. .chassisid 파일이 /flash/.chassisid에 있는지 확인합니다.
[local]sim-lte# dir /flash/.chassisid
-rw-rw-r-- 1 root root 53 Jun 23 10:59 /flash/.chassisid
8 /flash/.chassisid
Filesystem 1k-blocks Used Available Use% Mounted on
/var/run/storage/flash/part1 523992 192112 331880 37% /mnt/user/.auto/onboard/flash
2단계. 숨김 모드로 로그인합니다.
[local]sim-lte# cli test-commands
Password:
Warning: Test commands enables internal testing and debugging commands
USE OF THIS MODE MAY CAUSE SIGNIFICANT SERVICE INTERRUPTION
[local]sim-lte#
참고: 구성된 숨겨진 모드 비밀번호가 없는 경우 다음과 같이 구성합니다.
[local]sim-lte(config)# tech-support test-commands password <password>
3단계. 디버그 셸을 시작합니다.
[local]sim-lte# debug shell
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Cisco Systems QvPC-SI Intelligent Mobile Gateway
[No authentication; running a login shell]
4단계. /flash 디렉토리로 이동합니다. 파일이 있는지 확인합니다.
sim-lte:ssi#
sim-lte:ssi# ls
bin cdrom1 hd-raid param rmm1 tmp usr
boot dev include pcmcia1 sbin usb1 var
boot1 etc lib proc sftp usb2 vr
boot2 flash mnt records sys usb3
sim-lte:ssi#
sim-lte:ssi# cd flash
sim-lte:ssi# ls -a
. ldlinux.sys restart_file_cntr.txt
.. module.sys sftp
.chassisid patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
5단계. 숨겨진 파일을 숨기지 않은 파일로 복사합니다.
sim-lte:ssi# cp .chassisid chassisid.backup
sim-lte:ssi#
sim-lte:ssi#
sim-lte:ssi# ls
chassisid.backup patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
ldlinux.sys restart_file_cntr.txt
module.sys sftp
6단계. 디버그 셸을 종료합니다. 문제 없이 작성된 백업 파일을 전송할 수 있어야 합니다.
sim-lte:ssi# exit
Connection closed by foreign host.
[local]sim-lte#
[local]sim-lte# copy /flash/chassisid.backup /flash/chasisid.backup2
********************************************************************************
Transferred 53 bytes in 0.003 seconds (17.3 KB/sec)
[local]sim-lte#
[local]sim-lte#
[local]sim-lte# show file url /flash/chassisid.backup
1ke03dqfdb9dw3kds7vdslvuls3jnop8yj41qyh29w7urhno4ya6
Ultra-M 업그레이드 절차 업데이트
N5.1을 N5.5로 업그레이드하면 vpc 인스턴스 및 OSP가 제거됩니다. 업그레이드 절차를 시작하기 전에 vPC 컨피그레이션 파일 및 섀시 ID를 다시 사용하려는 경우 백업해야 합니다.
1단계. 섀시 ID 및 마지막 컨피그레이션 파일을 백업합니다.
bash-2.05b# ls -alrt
-rwxrwxr-x 1 root root 53 Jul 11 14:43 .chassisid
-rwxrwxr-x 1 root root 381973 Jul 11 14:41 GGN-2017-07-28.cfg
from copied file :
cpedrode@CPEDRODE-xxxxx:~/Desktop$ more 2017-07-28.chassis-id
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5^@
참고: 컨피그레이션 파일에는 .chassisid에서 파생된 키가 있습니다.
[local]GGN# show configuration url /flash/GGN-2017-07-28.cfg | more
Monday July 11 14:59:34 CEST 2016
#!$$ StarOS V21.1 Chassis c95bf13f030f6f68cae4e370b2d2482e
config
2단계. Ultra-M 업그레이드 처리
3단계. 시스템이 업그레이드되고 StarOS VPC CF가 부팅되면 섀시 ID(일반 파일) 및 컨피그레이션 파일(적절한 O&M IP 주소도 변경되었는지 확인)을 /flash/sftp(StarOS >R20)로 복사합니다
4단계. /flash에서 숨겨진 기본 .chassid 파일을 "test-command" 모드로 백업하고 삭제합니다.
5단계. /flash/sftp에서 /flash로 섀시 ID 파일을 숨겨진 모드에서 ".chasisid"로 복사합니다. 컨피그레이션 파일도 복사
참고: 파생된 키 발급 cli - show configuration url(/flash/xxxxxx.cfg)를 확인할 수 있습니다. | 추가 정보 및 백업 구성 파일과 비교
6단계. 새 컨피그레이션 파일을 가리키는 부팅 우선순위를 추가합니다
참고: 이 시점에서 StarOS는 다음과 같은 오류를 표시합니다.
[local]GGN(config)# boot system priority 6 image /flash/staros.bin config /flash/GGN-2017-07-28.cfg
Monday July 28 08:45:28 EDT 2017
Warning: Configuration was generated using a different chassis key, some encrypted information may not
be valid
올바른 단계를 수행한 경우 섀시 파생 키가 백업 컨피그레이션 파일과 같고 섀시 ID가 백업 섀시 ID와 같은 컨피그레이션 파일이 있습니다.
섀시 ID 파일을 볼 때 PS1 프롬프트가 추가됩니다.
bash-2.05b# cat .chassisid
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5bash-2.05b#
7단계. vPC 재부팅
이때 시스템을 재부팅해야 하며 백업 컨피그레이션 파일의 로그인 자격 증명을 사용할 수 있습니다.