소개
이 문서에서는 Umbrella ISR4k 통합 문제를 해결하는 방법에 대해 설명합니다
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서의 정보는 Cisco Umbrella를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
개요
이 문서는 Cisco Umbrella Integration for ISR4k 배포 가이드를 이어온 문서이며 등록 문제 및 내부 및 외부 DNS 확인 문제를 해결하는 데 도움이 되는 가이드로 제공됩니다.
참고: 2024년 5월 29일부터 api.opendns.com에 대해 갱신된 인증서가 새로운 체인/중간/루트에 의해 서명됩니다. 새 루트는 DigiCert 전역 루트 G2(일련 번호: 033af1e6a711a9a0bb2864b11d09fae5).
등록 및 인증서 가져오기
1. Umbrella 대시보드에서 API 토큰을 가져옵니다. Admin(관리) > API Keys(API 키) > (create) Legacy Network Devices(레거시 네트워크 디바이스).
2. 다음 방법 중 하나를 사용하여 CLI를 통해 CA 인증서를 ISR4k로 가져옵니다.
URL에서 가져오기:
명령을 실행하고 ISR4k에서 인증서를 가져오도록 허용합니다.
crypto pki trustpool import url http://www.cisco.com/security/pki/trs/ios.p7b
터미널에서 직접 가져오기:
다음 명령을 사용하여 CA 인증서를 복사하여 붙여넣습니다(첨부 참조).
(이 인증서는 DigiCert 전역 루트 G2에 대한 것입니다.)
crypto pki trustpool import terminal
-----BEGIN CERTIFICATE-----
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
MrY=
-----END CERTIFICATE-----
다음 명령을 사용하여 중간 인증서를 복사하여 붙여넣습니다.
(이 인증서는 DigiCert Global G2 TLS RSA SHA256 2020 CA1에 사용됩니다.)
crypto pki trustpool import terminal
-----BEGIN CERTIFICATE-----
MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh
bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV
cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy
FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc
3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8
osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT
zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud
EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G
A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG
CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG
NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH
Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t
L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC
ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG
9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t
wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS
slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R
bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4
chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN
JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA==
-----END CERTIFICATE-----
3. 다음 명령을 사용하여 ISR4k CLI에 대한 API 토큰을 입력합니다.
parameter-map type umbrella global
token XXXXXXXXXXXXXXXXXXXXXXXXXXXX
4. ISR4k의 최소 샘플 컨피그레이션입니다.
interface GigabitEthernet0/0/0
ip address 192.168.50.249 255.255.255.252
ip nat outside
umbrella out
interface GigabitEthernet0/0/1.10
encapsulation dot1Q 10
ip address 192.168.8.254 255.255.255.0
ip nat inside
umbrella in odns_v10_5
추가 정보:
- "umbrella in" 명령 전에 "umbrella out"을 구성해야 합니다.
- 포트 443이 열린 상태이고 트래픽이 기존 방화벽을 통과할 수 있는 경우에만 등록이 성공할 수 있습니다.
- 이전 Cisco IOS XE Denali 버전에서는 Umbrella 대신 OpenDNS 명령이 사용됩니다.
인증서 가져오기 및 디바이스 등록 확인
1. CA 인증서가 ISR4k 디바이스에 성공적으로 저장되었는지 확인합니다.
- URL을 사용하여 인증서 가져오기를 수행한 경우
dir nvram
명령을 실행합니다.
ios.p7b 인증서가 디바이스 NVRAM에 성공적으로 저장되었는지 확인합니다.
115016968663
- 인증서 가져오기가 복사/붙여넣기 방법을 사용하여 수행된 경우
show cry pki trustpool 명령
을 실행하고 인증서의 일련 번호 및 cn을 확인합니다.
28552066223252
2. ISR4k의 성공적인 등록을 확인하려면 show umbrella
deviceid 명령을 실행합니다.
샘플 출력:
Device registration details
Interface Name Tag Status Device Id
interface GigabitEthernet0/0/1.10 odns_v10_5 200 SUCCES 010a04efd4e4bc14
interface GigabitEthernet0/0/1.11 odns_v11 200 SUCCES 010a04efd4e4xy15
대시보드 출력:
115016791766
디버깅 및 로깅
- ISR4k 버전 확인:
show version
또는 show platform
(필수 Cisco IOS XE Denali 16.3 이상)
- 디바이스 등록 디버그 로그를 활성화합니다. "
debug umbrella device-registration"
다음 "show logging"
(비활성화하려면 - debug umbrella device-registration을 실행하지 않음
)
다음은 샘플 로그입니다.
인증서 누락:
Jun 13 04:05:32.639: %OPENDNS-3-SSL_HANDSHAKE_FAILURE: SSL handshake failed
인증서가 설치되고 디바이스가 성공적으로 등록되었습니다.
*%PKI-6-TRUSTPOOL_DOWNLOAD_SUCCESS: Trustpool Download is successful
*%OPENDNS-6-DEV_REG_SUCCESS: Device id for interface/tag GigabitEthernet0/0/1/odns_v10_5 is 010a0e4bc14
Api.opendns.com은 확인할 수 없습니다.
*%UMBRELLA-3-DNS_RES_FAILURE: Failed to resolve name api.opendns.com Retry attempts:0
- DNS 확인: ISR4k에서 사용할 수 있는 'dig' 또는 'nslookup' 명령이 없습니다. ISR4k CLI에서 "ping hostname
source interface #"를
사용하는 것이 좋습니다
- VRF가 구성된 ISR: 인터페이스에서 "
ip name-server vrf <vrf_name> <dns_server_ip>
"가 구성되어 있는지 확인하고 "ping vrf <vrf_name> api.opendns.com"으로
확인합니다.
- "IP DNS 서버"가 구성되었는지 확인합니다. 이렇게 하면 ISR을 직접 쿼리할 수 있습니다.
- DNSCrypt를 비활성화하려면 다음 명령을 입력합니다.
parameter-map type umbrella global > no dnscrypt
- 내부 도메인 확인: show umbrella config
명령
을 실행하고 로컬 도메인 Regex를 찾습니다. 예를 들면 다음과 같습니다.
show umbrella config
> Local Domain Regex parameter-map: dns 우회
쇼 런 | be dns_bypass
플랫폼 하드웨어 qfp 활성 기능 dns-snoop-agent 클라이언트 hw-pattern-list 표시
- URL을 사용하여 인증서를 가져올 수 없거나 터미널을 사용하여 가져온 인증서가 재부팅 후 삭제됩니다.
crypto pki trustpool import url http://www.cisco.com/security/pki/trs/ios.p7b
% Error: failed to open file.
% No certificates imported from http://www.cisco.com/security/pki/trs/ios.p7b.
해결 방법: curl을 통해 수동으로 "ios.p7b" 인증서 번들을 다운로드하고 라우터의 플래시에 복사 > 풀에서 기존 인증서 지우기 > 플래시에서 "ios.p7b" 인증서 번들 가져오기:
Show run | sec crypto pki
crypto pki certificate pool
cabundle nvram:Trustpool15.cer
crypto pki trustpool clean
crypto pki trustpool import url flash:ios.p7b
Reading file from bootflash:ios.p7b
% PEM files import succeeded.