소개
이 문서에서는 만료된 etcd 인증서를 사용하여 Cisco DNA Center 설치를 복구하는 절차에 대해 설명합니다. Cisco DNA Center는 릴리스 2.3.2.0에서 etcd용 디지털 인증서를 도입하여 노드 내 및 클러스터의 노드 간에 모두 Kubernetes를 통한 안전한 데이터 통신을 보장했습니다. 이러한 인증서는 1년간 유효하며 만료되기 전에 자동으로 갱신됩니다. 갱신된 인증서는 헬퍼 컨테이너에서 처리된 다음 etcd 컨테이너에서 사용할 수 있게 됩니다. 영향을 받는 Cisco DNA Center 릴리스에서는 etcd 컨테이너가 갱신된 인증서를 동적으로 인식 및 활성화하지 않으며, etcd가 다시 시작될 때까지 만료된 인증서를 계속 가리킵니다. 인증서가 만료되면 Cisco DNA Center를 사용할 수 없게 되며 이 문서에서는 영향을 받은 Cisco DNA Center 설치를 복구하는 단계를 제공합니다.
조건
영향을 받는 버전:
2.3.2.x
2.3.3.x
2.3.5.3
2.3.7.0
고정 버전:
2.3.3.7 HF4
2.3.5.3 HF5
2023년 10월 12일 이후 2.3.5.4
2.3.5.4 HF3
2.3.7.3
증상
인증서가 만료되면 이러한 증상 중 하나 이상이 관찰됩니다.
1. Cisco DNA Center의 GUI가 다운되었습니다.
2. 대부분의 서비스가 다운되었습니다.
3. 이러한 오류는 CLI에 표시됩니다
WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)'),)': /v2/keys/maglev/config/node-x.x.x.x?sorted=true&recursive=true |
복구
복구에는 루트 셸에 대한 액세스가 필요합니다. 2.3.x.x에서는 제한된 셸이 기본적으로 활성화되었습니다. 2.3.5.x 이상에서는 루트 셸에 액세스하기 위해 동의 토큰 검증이 필요합니다. 영향을 받는 환경이 릴리스 2.3.5.3에 있는 경우 TAC와 협력하여 설치를 복구하십시오.
1단계: 문제 확인
CLI에서 명령을 실행합니다
인증서 만료로 인한 문제인 경우 명령이 실패하고 오류가 반환됩니다. 명령이 성공적으로 실행되면 Cisco DNA Center는 이 문제의 영향을 받지 않습니다. 만료된 인증서를 사용하여 수행된 설치 출력의 예입니다.
etcctl 멤버 목록 클라이언트: etcd 클러스터를 사용할 수 없거나 잘못 구성했습니다. 오류 #0: x509: 인증서가 만료되었거나 아직 유효하지 않습니다. 현재 시간 2023-10-20T20:50:14Z가 2023-10-12T22:47:42Z 이후입니다. |
2단계: 인증서 확인
이 명령을 실행하여 인증서 만료 날짜를 확인합니다.
$(ls /etc/maglev/.pki/ 의 certs | grep etcd | grep -v -e key -e .cnf); do sudo openssl x509 -noout -subject -issuer -dates -in /etc/maglev/.pki/$certs;done |
메시지가 표시되면 sudo 비밀번호를 입력하십시오. 출력에서 인증서가 만료되었는지 확인합니다
maglev에 대한 [sudo] 암호: subject=CN = etcd-client issuer=CN = d0be82b3-0b50-e7bd-6bcd-b817c249f1c6, O = Cisco Systems, OU = Cisco DNA Center notBefore=10월 8일 00:59:37 2022 GMT notAfter=10월 7일 00:59:37 2023 GMT subject=CN = etcd-peer issuer=CN = d0be82b3-0b50-e7bd-6bcd-b817c249f1c6, O = Cisco Systems, OU = Cisco DNA Center notBefore=10월 8일 00:59:37 2022 GMT notAfter=10월 7일 00:59:37 2023 GMT |
4단계: Docker 재시작
a. 종료한 컨테이너 지우기
docker rm -v $(docker ps -q -f status=종료됨) |
종료되는 컨테이너 수에 따라 몇 분 정도 걸릴 수 있습니다.
b. Docker 재시작
sudo systemctl restart docker |
이 명령은 모든 컨테이너를 다시 시작하며 완료하는 데 30~45분이 걸릴 수 있습니다.
5단계: 인증서가 갱신되었는지 확인합니다.
2단계에서 동일한 명령을 실행하여 인증서가 갱신되었는지 확인합니다. 1년 동안 갱신했어야 하는데.
$(ls /etc/maglev/.pki/ 의 certs | grep etcd | grep -v -e key -e .cnf); do sudo openssl x509 -noout -subject -issuer -dates -in /etc/maglev/.pki/$certs;done |
GUI에 액세스할 수 있고 CLI에 액세스할 때 오류가 없는지 확인합니다.
솔루션
이 해결 방법을 통해 Cisco DNA Center를 최대 1년 동안 가동할 수 있습니다. 영구적인 수정은 Cisco DNA Center 설치를 Field Notice FN74065에 설명된 고정 릴리스로 업그레이드하십시오.