목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

개요

등록 및 인증서 가져오기

인증서 가져오기 및 디바이스 등록 확인

디버깅 및 로깅

소개

이 문서에서는 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.