CCIE EI

DMVPN Deep Dive

Optimus Joo 2026. 3. 20. 10:12
DMVPN · Deep Dive Zero to Hero · Cisco · CCIE Enterprise

DMVPN
완전 정복

Dynamic Multipoint VPN — mGRE · NHRP · IPSec · Phase 1/2/3
Hub-and-Spoke → Spoke-to-Spoke Direct Tunnel · QoS · 이중화 · 운영까지
Cisco CCIE Enterprise 출제 핵심 영역 완전 분석

⏱ 총 70H 커리큘럼 🔗 mGRE · NHRP · IPSec 🌐 Phase 1 / 2 / 3 📡 Spoke-to-Spoke Direct 🔐 IKEv1 / IKEv2 / GRE over IPSec 🏅 CCNP ENARSI · CCIE ENT
📑 Table of Contents
  1. Phase 0 — DMVPN 등장 배경 & 기초
  2. Phase 1 — DMVPN 핵심 구성 요소
    • mGRE · NHRP · IPSec의 역할과 상호 관계
  3. Phase 2 — NHRP Deep Dive
    • 등록 · 결정 · 리다이렉트 · 캐시 관리
  4. Phase 3 — DMVPN Phase 1 / 2 / 3 완전 분석
    • 각 Phase 동작 원리 · 라우팅 프로토콜 차이 · 선택 기준
  5. Phase 4 — IPSec Integration Deep Dive
    • IKEv1 / IKEv2 · ISAKMP · IPSec Profile · 트래픽 보호
  6. Phase 5 — 라우팅 프로토콜 완전 설정
    • EIGRP · OSPF · BGP over DMVPN · Summary · Split Horizon
  7. Phase 6 — 이중화 & 고가용성
    • Dual Hub · Dual Cloud · HSRP/IP SLA Tracking
  8. Phase 7 — QoS & 고급 기능
    • Per-Tunnel QoS · NHRP Authentication · NAT Traversal
  9. Phase 8 — 프리세일즈 실전 설계 & CCIE 핵심
  10. 트러블슈팅 완전 가이드
🗺 커리큘럼 로드맵
PHASE 0
배경 & 기초
전통 VPN 한계, DMVPN 탄생, 핵심 용어
⏱ 4H
PHASE 1
핵심 구성 요소
mGRE, NHRP, IPSec 역할 분리
⏱ 8H
PHASE 2
NHRP Deep Dive
등록·결정·리다이렉트·캐시
⏱ 10H
PHASE 3
Phase 1/2/3 ★
동작원리·라우팅·선택기준 완전분석
⏱ 12H
PHASE 4
IPSec Integration
IKEv1/v2, Profile, Crypto Map
⏱ 10H
PHASE 5
라우팅 프로토콜
EIGRP·OSPF·BGP·Split Horizon
⏱ 10H
PHASE 6
이중화 & HA
Dual Hub·Dual Cloud·IP SLA
⏱ 8H
PHASE 7
QoS & 고급기능
Per-Tunnel QoS·NAT-T·인증
⏱ 5H
PHASE 8
프리세일즈 & CCIE
풀 설계·시나리오·CCIE 출제포인트
⏱ 3H
🏛 Phase 0 — DMVPN 등장 배경 & 기초 4H
0-1. 전통 VPN의 한계 vs DMVPN
전통 Point-to-Point GRE / IPSec
  • N개 지사 = N개 허브 터널 수동 설정
  • Spoke-to-Spoke 직접 통신 불가 → Hub 경유 필수
  • Hub 장애 시 전체 WAN 다운
  • 신규 지사 추가 시 허브·기존 Spoke 모두 재설정
  • Static Mapping 의존 — 동적 IP Spoke 지원 불가
  • 대규모 환경에서 Hub CPU·메모리 과부하
DMVPN
  • Hub 1개 설정으로 무제한 Spoke 자동 수용
  • Spoke-to-Spoke 직접 터널 동적 생성 (Phase 2/3)
  • Dual Hub로 Hub 이중화 — 장애 시 자동 절체
  • 신규 Spoke = Spoke 라우터만 설정, Hub 무변경
  • NHRP로 동적 공인 IP Spoke 지원
  • On-Demand 터널 — 미사용 시 자동 해제
0-2. DMVPN 핵심 용어 사전
용어설명비고
DMVPNDynamic Multipoint VPN — 동적으로 생성/해제되는 멀티포인트 VPN. mGRE + NHRP + IPSec의 조합Cisco 독자 기술 (RFC 기반)
mGREMultipoint GRE — 하나의 터널 인터페이스로 다수의 GRE 피어와 통신 가능한 GRE 확장interface tunnel0 + tunnel mode gre multipoint
NHRPNext Hop Resolution Protocol (RFC 2332) — GRE 터널 내에서 논리 주소(터널 IP)와 물리 주소(NBMA IP) 매핑 관리ARP와 유사, 동적 IP 지원
NHSNext Hop Server — Hub 라우터. Spoke의 NBMA 주소 등록 요청 처리nhrp map multicast dynamic
NHCNext Hop Client — Spoke 라우터. 자신의 NBMA 주소를 NHS에 등록nhrp registration
NBMANon-Broadcast Multi-Access — 인터넷/MPLS처럼 직접 Broadcast가 불가능한 환경DMVPN의 Underlay 네트워크 타입
터널 IPmGRE 인터페이스에 부여된 논리 IP. DMVPN 오버레이 네트워크 주소보통 10.0.0.x/24
NBMA IP (물리 IP)인터넷 또는 MPLS 상의 실제 공인/사설 IP. GRE 패킷의 Outer 주소동적 할당 가능
Spoke-to-SpokeHub를 거치지 않고 Spoke 간 직접 GRE 터널 생성. Phase 2/3에서만 가능NHRP Resolution으로 동적 생성
DMVPN PhaseDMVPN의 동작 방식을 결정하는 구성 모드. Phase 1 (HS only), Phase 2 (S2S direct), Phase 3 (S2S + NHRP shortcut)ip nhrp shortcut / redirect 명령으로 구분
🔩 Phase 1 — DMVPN 핵심 구성 요소 8H

DMVPN은 mGRE + NHRP + IPSec 세 가지 기술의 조합입니다. 각 기술은 독립적인 역할을 담당하며, 이 세 가지가 통합될 때 DMVPN의 동적 특성이 실현됩니다.

1-1. 3대 구성 요소 역할 분리
구성 요소계층역할없으면?
mGRE데이터 플레인하나의 인터페이스에서 다수 피어와 GRE 터널. IP 패킷을 GRE로 캡슐화하여 NBMA 위로 전송Spoke마다 별도 터널 인터페이스 필요 → 수백 개 불가
NHRP컨트롤 플레인터널 IP ↔ NBMA IP 매핑 관리. Spoke 등록, 동적 IP 해결, Spoke-to-Spoke 주소 조회Spoke의 공인 IP를 알 수 없어 터널 형성 불가
IPSec보안 플레인GRE 터널 트래픽 암호화·인증. IKE로 키 협상. ESP/AH로 패킷 보호GRE 터널은 평문 전송 — 데이터 노출 위험
DMVPN 전체 구성 요소 아키텍처 — Hub + 3 Spoke
INTERNET / MPLS NBMA Network (공인 IP) NHRP Registration + Resolution 동작 Hub Router NHS (Next Hop Server) tunnel0: 10.0.0.1/24 (터널 IP) NBMA: 203.0.113.1 (공인 IP) Spoke-1 NHC | tunnel: 10.0.0.11 NBMA: 100.64.1.1 (고정) NHRP 등록 완료 Spoke-2 NHC | tunnel: 10.0.0.12 NBMA: DHCP (동적 IP) NHRP 등록 완료 Spoke-3 NHC | tunnel: 10.0.0.13 NBMA: NAT 환경 (NAT-T) NHRP 등록 완료 Dynamic S2S Tunnel (Phase 2/3) Dynamic S2S Tunnel (Phase 2/3) NHRP Register NHRP Reg NHRP Register 🔐 IPSec 🔐 IPSec Permanent Tunnel Dynamic (Phase 2/3) IPSec 보호
1-2. DMVPN 패킷 캡슐화 구조
레이어
Outer IP
20B
ESP Header
8B
GRE Header
4~8B
Inner IP
20B
Payload
TCP/UDP
ESP Trailer
+Auth
내용
NBMA src→dst
실제 공인 IP
SPI · Seq
IPSec SA
Protocol 0x800
IPv4 payload
터널 IP
10.0.0.x
원본 사용자
데이터
Pad+HMAC
무결성
🔑
캡슐화 순서 이해
원본 패킷 → GRE 캡슐화(mGRE가 수행, Outer IP = NBMA) → IPSec ESP 암호화. 즉 GRE가 먼저, IPSec이 나중입니다. IPSec은 GRE 터널 트래픽 전체를 보호합니다. Outer IP의 목적지가 상대방의 NBMA IP이므로, NHRP가 이 NBMA IP를 동적으로 해결합니다.
1-3. Hub 라우터 기본 설정 구조
Hub Router — mGRE + NHRP 기본 설정
! ─── Hub 터널 인터페이스 ───────────────────────────
interface Tunnel0
  ip address 10.0.0.1 255.255.255.0     ! 터널 IP (오버레이 주소)

  ! mGRE 설정
  tunnel mode gre multipoint             ! 핵심: 멀티포인트 GRE
  tunnel source GigabitEthernet0/0       ! NBMA 인터페이스
  ! tunnel destination 없음 — 동적으로 결정

  ! NHRP 설정 (Hub = NHS 역할)
  ip nhrp network-id 100                 ! NHRP 도메인 ID (모든 장비 동일)
  ip nhrp map multicast dynamic          ! Spoke 멀티캐스트 자동 허용
  ! Hub는 nhrp nhs 설정 없음 (자신이 NHS)

  ! 기타
  ip mtu 1400
  ip tcp adjust-mss 1360
  no ip split-horizon eigrp 100          ! EIGRP 사용 시 Split Horizon 비활성화
  no shutdown
1-4. Spoke 라우터 기본 설정 구조
Spoke Router — mGRE + NHRP 기본 설정
! ─── Spoke 터널 인터페이스 ─────────────────────────
interface Tunnel0
  ip address 10.0.0.11 255.255.255.0
  tunnel mode gre multipoint
  tunnel source GigabitEthernet0/0      ! Spoke의 NBMA 인터페이스

  ! NHRP 설정 (Spoke = NHC 역할)
  ip nhrp network-id 100
  ip nhrp nhs 10.0.0.1                  ! Hub 터널 IP = NHS 주소
  ip nhrp map 10.0.0.1 203.0.113.1      ! Hub의 터널IP ↔ NBMA IP 매핑 (정적)
  ip nhrp map multicast 203.0.113.1     ! 라우팅 프로토콜 멀티캐스트 → Hub로
  ip nhrp registration no-unique        ! 동적 IP 환경 시 (IP 변경 허용)
  ip nhrp holdtime 300

  ip mtu 1400
  ip tcp adjust-mss 1360
  no shutdown
📡 Phase 2 — NHRP Deep Dive 10H

NHRP는 DMVPN의 컨트롤 플레인입니다. 인터넷(NBMA 환경)에서 논리 터널 주소(EID 역할)와 실제 공인 IP(NBMA IP)를 연결하는 동적 매핑 프로토콜입니다.

2-1. NHRP 메시지 타입 (4종)
메시지 타입방향역할DMVPN Phase
NHRP Registration RequestSpoke → Hub(NHS)Spoke가 자신의 터널IP ↔ NBMA IP 매핑을 NHS에 등록. 30~600초마다 갱신모든 Phase
NHRP Registration ReplyHub(NHS) → Spoke등록 확인 응답. Holdtime 전달모든 Phase
NHRP Resolution RequestSpoke-ITR → Hub(NHS)목적지 Spoke의 NBMA IP 쿼리. "10.0.0.12의 공인 IP가 뭐야?"Phase 2/3
NHRP Resolution ReplySpoke-ETR → Spoke-ITR (직접)목적지 Spoke가 자신의 NBMA IP로 직접 응답 → Spoke-to-Spoke 터널 생성Phase 2/3
NHRP Redirect (Phase 3)Hub → Source SpokePhase 3 전용. Hub가 "저 목적지로 직접 가라"고 알림Phase 3 only
NHRP 동작 흐름 — Spoke-1이 Spoke-2로 처음 패킷 전송 시
Hub (NHS) NHRP Cache: 10.0.0.12 → 100.64.2.2 10.0.0.11 → 100.64.1.1 등록됨 Spoke-1 (ITR) tunnel: 10.0.0.11 NBMA: 100.64.1.1 10.0.0.12 목적지 패킷 수신 Spoke-2 (ETR) tunnel: 10.0.0.12 NBMA: 100.64.2.2 Resolution Reply 전송 ① Hub 경유 전송 (NHRP 캐시 없음) ② NHRP Resolution Request → NHS ③ Request 전달 ④ NHRP Resolution Reply (직접) — Spoke-2의 NBMA: 100.64.2.2 ⑤ Dynamic Spoke-to-Spoke IPSec+GRE Tunnel 수립 → 이후 직접 통신
2-2. NHRP 캐시 관리
캐시 타입생성 방법TTL삭제 조건
Static (정적)ip nhrp map [tunnel-ip] [nbma-ip] 수동 설정영구설정 제거 시만 삭제
Dynamic (동적)NHRP Registration Reply 수신 시 자동 생성Holdtime (기본 7200초)Holdtime 만료 또는 NHRP Purge
Incomplete (불완전)Resolution Request 전송 후 Reply 미수신 상태Resolution TimeoutReply 수신 또는 타임아웃
Negative (부정)Resolution 실패 시짧음 (재쿼리 방지)자동 만료
NHRP 상태 확인 명령어
! ─── NHRP 캐시 테이블 ───────────────────────────────
show ip nhrp
! 출력 예시:
! 10.0.0.12/32 via 10.0.0.12
!    Tunnel0 created 00:05:23, expire 01:54:36
!    Type: dynamic, Flags: router nhop rib
!    NBMA address: 100.64.2.2

show ip nhrp detail         ! 플래그, 레퍼런스 카운트 포함
show ip nhrp nhs            ! Hub(NHS) 연결 상태
show ip nhrp multicast     ! 멀티캐스트 매핑 목록
show dmvpn                 ! DMVPN 터널 전체 요약
show dmvpn detail          ! 터널별 상세 (NHRP + IKE + IPSec)
Phase 3 — DMVPN Phase 1 / 2 / 3 완전 분석 12H

DMVPN의 "Phase"는 Spoke-to-Spoke 트래픽 처리 방식의 차이입니다. 혼동 주의 — 위 커리큘럼의 Phase 0~8과 전혀 다른 개념입니다.

3-0. 세 Phase 핵심 비교표
항목Phase 1Phase 2Phase 3
S2S 직접 터널❌ 불가 (Hub 경유만)✅ 동적 생성✅ 동적 생성 (더 효율적)
Hub 터널 모드mGRE (또는 P2P)mGREmGRE
Spoke 터널 모드P2P GRE (Hub 방향만)mGREmGRE
NHRP Redirect없음없음ip nhrp redirect (Hub)
NHRP Shortcut없음없음ip nhrp shortcut (Spoke)
라우팅 — Hub의 역할경로 집약/요약 가능경로 요약 불가 (구체 경로 필요)경로 요약 가능 (Shortcut이 라우팅 대체)
EIGRP Split HorizonHub에서 비활성화 필요Hub에서 비활성화 필요Hub 요약 경로 사용 — 비활성화 불필요
OSPF 네트워크 타입point-to-multipointbroadcast (DR/BDR 선출 필요)point-to-multipoint
권장 사용 시나리오단순 Hub-Spoke, 소규모대용량 S2S, 레거시 호환대규모, 동적 경로, 확장성 최우선 ★
DMVPN Phase 1 — Hub-and-Spoke Only (모든 트래픽 Hub 경유)
Hub (Phase 1) tunnel mode gre multipoint ip nhrp map multicast dynamic Spoke-1 tunnel mode gre multipoint nhs 10.0.0.1 Spoke-2 tunnel mode gre multipoint nhs 10.0.0.1 Spoke-3 tunnel mode gre multipoint nhs 10.0.0.1 ❌ S2S 불가 → Hub 경유 ❌ S2S 불가 → Hub 경유 Spoke1 → Hub → Spoke2 (모든 S2S 트래픽 Hub 경유)
DMVPN Phase 2 — Spoke-to-Spoke Direct (NHRP Resolution)
Hub (Phase 2) tunnel mode gre multipoint ⚠️ ip route 요약 불가 (구체 경로 필요) Spoke-1 tunnel mode gre multipoint NHRP Resolution Request 동적 S2S 터널 생성 Spoke-2 tunnel mode gre multipoint NHRP Resolution Reply (직접) NBMA IP 응답 ✅ Dynamic Spoke-to-Spoke IPSec Tunnel ⚠️ Hub에서 경로 요약 불가 Spoke는 구체 경로(/32 등)가 있어야 직접 터널 가능
DMVPN Phase 3 — NHRP Redirect + Shortcut (권장)
Hub (Phase 3) tunnel mode gre multipoint ip nhrp redirect ← Hub에서 설정 경로 요약 가능 (Summary Route OK) no ip split-horizon 불필요 Spoke-1 tunnel mode gre multipoint ip nhrp shortcut ← Spoke에서 NHRP 항목이 라우팅 테이블 대체 Spoke-2 tunnel mode gre multipoint ip nhrp shortcut ← Spoke에서 Shortcut으로 직접 라우팅 ① 패킷 → Hub (요약경로 매칭) ② NHRP Redirect "10.0.0.12로 직접가" ③ Hub → Spoke2 (최초 1회만) ④ NHRP Resolution Reply → Shortcut 설치 ⑤ ✅ Dynamic S2S Tunnel — Hub는 이후 트래픽과 무관
3-1. Phase별 라우팅 핵심 차이점
🔬
Phase 2 vs Phase 3 — 라우팅 관점에서 핵심 차이
Phase 2: Spoke가 직접 터널을 만들려면 목적지 Spoke의 구체 경로가 라우팅 테이블에 있어야 합니다. Hub에서 경로를 요약(Summary)하면 Spoke는 "어느 Spoke로 가야 할지"를 모르기 때문에 S2S 터널을 생성하지 않습니다.

Phase 3: Hub에서 ip nhrp redirect, Spoke에서 ip nhrp shortcut 설정. Hub가 요약 경로만 광고해도 됩니다. 첫 패킷은 Hub를 거치지만 Hub가 "Redirect" 메시지를 보내면 Spoke가 NHRP로 목적지를 해결하고 라우팅 테이블을 NHRP Shortcut 항목으로 덮어씁니다.
3-2. Phase 선택 기준 가이드
시나리오권장 Phase이유
소규모 WAN (지사 10개 미만), S2S 트래픽 없음Phase 1단순 설정, Hub 부하 낮음
중규모 WAN, S2S 대용량 트래픽, 라우팅 단순Phase 2직접 터널 성능 최대화
대규모 WAN, 경로 요약 필요, 확장성 최우선Phase 3 ★경로 요약 + S2S 직접 + EIGRP/BGP 유연성
Hub-Spoke 혼용 (일부 S2S 허용)Phase 2 or 3정책에 따라 선택
MPLS WAN 위에서 암호화 오버레이Phase 3MPLS는 이미 신뢰망이지만 추가 암호화 필요 시
🔐 Phase 4 — IPSec Integration Deep Dive 10H
4-1. IKEv1 vs IKEv2 비교
항목IKEv1 (ISAKMP)IKEv2 (권장)
표준RFC 2409RFC 7296
협상 단계Phase 1 (Main/Aggressive) + Phase 2 (Quick)IKE_SA_INIT + IKE_AUTH (2 exchange)
메시지 수Main: 9개 / Aggressive: 6개4개 (훨씬 효율적)
재인증Phase 1 SA 만료 시 전체 재협상Rekey 메커니즘 내장 (중단 없음)
비대칭 인증불가가능 (Hub-Spoke 다른 인증 방식)
EAP 인증불가가능
NAT TraversalRFC 3947 별도 구현내장 (자동 감지)
DMVPN 권장레거시 / 호환성✅ 신규 구축 표준
4-2. DMVPN with IPSec — IKEv1 방식 (Crypto Map)
IKEv1 / Crypto Profile 방식 (Hub + Spoke 공통)
! ─── ISAKMP Policy (IKE Phase 1) ─────────────────
crypto isakmp policy 10
  encr aes 256
  hash sha256
  authentication pre-share
  group 14                     ! DH Group 14 (2048-bit)
  lifetime 86400

! ─── Pre-Shared Key (모든 Spoke 공통 키 사용 가능) ─
crypto isakmp key CiscoSecret123! address 0.0.0.0 0.0.0.0
! 특정 피어별 키: crypto isakmp key [key] address [peer-ip]

! ─── IPSec Transform Set ──────────────────────────
crypto ipsec transform-set DMVPN_TS esp-aes 256 esp-sha256-hmac
  mode transport               ! GRE over IPSec → transport mode!
  ! tunnel mode: GRE가 이미 있으면 transport 사용 (이중 IP 헤더 방지)

! ─── IPSec Profile (Tunnel Interface에 적용) ──────
crypto ipsec profile DMVPN_PROFILE
  set transform-set DMVPN_TS
  set security-association lifetime seconds 3600
  set pfs group14                ! Perfect Forward Secrecy

! ─── Tunnel Interface에 IPSec Profile 적용 ────────
interface Tunnel0
  tunnel protection ipsec profile DMVPN_PROFILE
  ! Crypto Map 방식 대신 Profile 방식 사용 (DMVPN 표준)
4-3. DMVPN with IKEv2 (권장 방식)
IKEv2 — Hub + Spoke 설정 (신규 구축 권장)
! ─── IKEv2 Proposal ──────────────────────────────
crypto ikev2 proposal DMVPN_PROP
  encryption aes-cbc-256
  integrity sha256
  group 14

! ─── IKEv2 Policy ────────────────────────────────
crypto ikev2 policy DMVPN_POL
  proposal DMVPN_PROP

! ─── IKEv2 Keyring (Pre-Shared Key) ──────────────
crypto ikev2 keyring DMVPN_KEYS
  peer ANY
    address 0.0.0.0 0.0.0.0       ! 모든 피어 (동적 IP Spoke 지원)
    pre-shared-key local  HubKey#2024!
    pre-shared-key remote HubKey#2024!

! ─── IKEv2 Profile ───────────────────────────────
crypto ikev2 profile DMVPN_IKE
  match identity remote address 0.0.0.0  ! 모든 원격 피어
  authentication local pre-share
  authentication remote pre-share
  keyring local DMVPN_KEYS

! ─── IPSec Transform + Profile ───────────────────
crypto ipsec transform-set DMVPN_TS esp-aes 256 esp-sha256-hmac
  mode transport

crypto ipsec profile DMVPN_IPSEC
  set transform-set DMVPN_TS
  set ikev2-profile DMVPN_IKE    ! IKEv2 Profile 연결
  set pfs group14

! ─── Tunnel Interface ────────────────────────────
interface Tunnel0
  tunnel protection ipsec profile DMVPN_IPSEC
⚠️
transport mode vs tunnel mode — 반드시 이해
DMVPN에서 IPSec은 반드시 transport mode를 사용합니다. GRE가 이미 Inner IP를 Outer IP로 캡슐화하기 때문에, IPSec tunnel mode를 쓰면 IP 헤더가 2중으로 추가되어 불필요한 오버헤드 발생. Transport mode는 GRE 페이로드만 암호화하고 Outer GRE 헤더의 IP는 유지합니다.
🛣 Phase 5 — 라우팅 프로토콜 완전 설정 10H
5-1. DMVPN Phase별 라우팅 주의사항 요약
프로토콜Phase 1Phase 2Phase 3
EIGRPHub: no ip split-horizon eigrp [AS]
Hub: 요약 경로 OK
Hub: no ip split-horizon eigrp [AS]
Hub: 요약 경로 사용 시 S2S 불가
Hub: Split Horizon 기본 OK
Hub: 요약 경로 사용 가능 ✅
OSPF네트워크 타입: point-to-multipoint
Hub = DR 불필요
네트워크 타입: broadcast
Hub를 DR로 강제 (priority 255)
네트워크 타입: point-to-multipoint
또는 P2P Non-Broadcast
BGPiBGP 풀메시 또는 RR
Hub = RR 권장
Hub = RR
next-hop-self 필요
Hub = RR
next-hop-self 필요 ✅
5-2. EIGRP over DMVPN (Phase 3)
EIGRP over DMVPN Phase 3 — Hub + Spoke
! ─── Hub 라우터 ─────────────────────────────────
router eigrp 100
  network 10.0.0.0 0.0.0.255        ! 터널 네트워크 포함
  network 192.168.0.0 0.0.0.255     ! LAN 네트워크
  ! Phase 3: Split Horizon 비활성화 불필요 (요약 경로 사용)
  ! Phase 1/2: no ip split-horizon eigrp 100 (tunnel 인터페이스에서)

interface Tunnel0
  ! Phase 3에서 요약 경로 광고 (Spoke들에게 집약 경로만)
  ip summary-address eigrp 100 10.1.0.0 255.255.0.0
  ip summary-address eigrp 100 192.168.0.0 255.255.0.0
  ip nhrp redirect                     ! Phase 3 필수

! ─── Spoke 라우터 ──────────────────────────────
router eigrp 100
  network 10.0.0.0 0.0.0.255
  network 10.10.1.0 0.0.0.255       ! Spoke LAN

interface Tunnel0
  ip nhrp shortcut                   ! Phase 3 필수 (Spoke에서)
  ip bandwidth-percent eigrp 100 40   ! EIGRP 대역폭 제한 (WAN 보호)
5-3. OSPF over DMVPN (Phase 3)
OSPF over DMVPN Phase 3
! ─── Hub 라우터 ─────────────────────────────────
router ospf 1
  router-id 1.1.1.1
  network 10.0.0.0 0.0.0.255 area 0
  network 192.168.0.0 0.0.0.255 area 0

interface Tunnel0
  ! Phase 3 권장: point-to-multipoint
  ip ospf network point-to-multipoint
  ! Phase 2: ip ospf network broadcast + priority 255 (Hub=DR)
  ip ospf priority 255              ! broadcast 모드 시 DR 강제
  ip nhrp redirect

! ─── Spoke 라우터 ──────────────────────────────
router ospf 1
  router-id 2.2.2.2
  network 10.0.0.0 0.0.0.255 area 0
  network 10.10.2.0 0.0.0.255 area 0

interface Tunnel0
  ip ospf network point-to-multipoint
  ip ospf priority 0               ! DR 선출 제외
  ip nhrp shortcut
5-4. BGP over DMVPN (대규모 엔터프라이즈)
iBGP over DMVPN — Hub = Route Reflector
! ─── Hub (Route Reflector) ──────────────────────
router bgp 65000
  bgp router-id 10.0.0.1
  bgp log-neighbor-changes
  ! Spoke들과 iBGP (동적 피어 — 터널 IP 기반)
  neighbor 10.0.0.0 peer-group SPOKES
  neighbor SPOKES remote-as 65000
  neighbor SPOKES update-source Tunnel0
  neighbor SPOKES route-reflector-client  ! Hub = RR
  neighbor SPOKES next-hop-self         ! 핵심! Spoke가 다른 Spoke 경로 수신 시

  address-family ipv4
    network 192.168.0.0 mask 255.255.0.0
    neighbor SPOKES activate

! ─── 동적 피어 — Spoke 추가 시 Hub 변경 불필요 ─
  bgp listen range 10.0.0.0/24 peer-group SPOKES

! ─── Spoke 라우터 ──────────────────────────────
router bgp 65000
  bgp router-id 10.0.0.11
  neighbor 10.0.0.1 remote-as 65000
  neighbor 10.0.0.1 update-source Tunnel0
  address-family ipv4
    network 10.10.11.0 mask 255.255.255.0
    neighbor 10.0.0.1 activate
BGP over DMVPN의 장점
next-hop-self: Hub가 Spoke 경로를 RR로 반영할 때 Next-Hop을 Hub 자신으로 변경하지 않으면, Spoke는 다른 Spoke의 터널 IP를 Next-Hop으로 보고 NHRP 없이는 도달 불가. next-hop-self 설정으로 해결.
Dynamic Peer: bgp listen range로 새 Spoke 추가 시 Hub BGP 설정 변경 불필요.
🔄 Phase 6 — 이중화 & 고가용성 8H
6-1. Dual Hub DMVPN 아키텍처
Dual Hub DMVPN — Hub-1 Active / Hub-2 Standby
Hub-1 (Primary) tunnel0: 10.0.0.1 NBMA: 203.0.113.1 NHS Priority: 높음 (기본) Hub-2 (Backup) tunnel0: 10.0.0.2 NBMA: 203.0.113.2 NHS Priority: 낮음 Hub 간 연결 Spoke-1 nhs 10.0.0.1 priority 10 nhs 10.0.0.2 priority 5 Hub-1 우선, Hub-2 폴백 Spoke-2 nhs 10.0.0.1 priority 10 nhs 10.0.0.2 priority 5 Hub-1 우선, Hub-2 폴백 Spoke-3 nhs 10.0.0.1 priority 10 nhs 10.0.0.2 priority 5 Hub-1 우선, Hub-2 폴백 Primary (Active) Backup (Standby) Hub-1 장애 시 → Spoke가 자동으로 Hub-2로 전환 ip nhrp nhs [hub2-ip] priority [낮은값] fallback [초]
6-2. Dual Hub 설정
Spoke — Dual NHS (Hub 이중화) 설정
! ─── Spoke: 두 Hub를 NHS로 설정 ────────────────
interface Tunnel0
  ip address 10.0.0.11 255.255.255.0
  tunnel mode gre multipoint
  tunnel source GigabitEthernet0/0

  ip nhrp network-id 100

  ! Hub-1 (Primary NHS)
  ip nhrp nhs 10.0.0.1 nbma 203.0.113.1 priority 10 cluster 1
  ip nhrp map multicast 203.0.113.1

  ! Hub-2 (Backup NHS)
  ip nhrp nhs 10.0.0.2 nbma 203.0.113.2 priority 5 cluster 1
  ip nhrp map multicast 203.0.113.2

  ! Fallback: Hub-1 미응답 시 Hub-2로 전환 대기 시간
  ip nhrp nhs cluster 1 max-connections 1  ! Active NHS 1개만

  ip nhrp shortcut                    ! Phase 3
  tunnel protection ipsec profile DMVPN_IPSEC
6-3. IP SLA + Tracking으로 Hub 장애 시 라우팅 전환
IP SLA Tracking — Hub 장애 감지 및 Default Route 전환
! ─── IP SLA: Hub-1 터널 IP 핑 감시 ─────────────
ip sla 10
  icmp-echo 10.0.0.1 source-interface Tunnel0
  frequency 5                    ! 5초마다 핑
ip sla schedule 10 life forever start-time now

! ─── Track 객체 ─────────────────────────────────
track 10 ip sla 10 reachability

! ─── Default Route: Hub-1 경유 (정상 시 우선)
ip route 0.0.0.0 0.0.0.0 10.0.0.1 10 track 10   ! AD=10, Hub-1 살아있을 때

! ─── Backup: Hub-2 경유 (Hub-1 다운 시 자동 활성)
ip route 0.0.0.0 0.0.0.0 10.0.0.2 20             ! AD=20, 항상 존재

! Hub-1 다운 → Track 10 Down → AD 10 라우트 제거
!           → AD 20 라우트 활성화 → Hub-2 경유로 자동 전환
⚙️ Phase 7 — QoS & 고급 기능 5H
7-1. Per-Tunnel QoS (DMVPN QoS 핵심)

DMVPN 터널에서 일반 QoS는 물리 인터페이스에 적용됩니다. Per-Tunnel QoS는 각 Spoke 터널별로 다른 QoS 정책을 적용할 수 있어, Spoke별 WAN 대역폭이 다를 때 정밀한 제어가 가능합니다.

QoS 방식적용 위치특징사용 시나리오
물리 인터페이스 QoSHub의 WAN 인터페이스모든 Spoke 동일 정책. 설정 단순모든 Spoke 동일 회선 속도
Per-Tunnel QoS (NHRP)mGRE 터널 인터페이스Spoke별 다른 정책 적용. NHRP Group 활용Spoke마다 WAN 대역폭 다를 때
DSCP 마킹 (Spoke)Spoke LAN 인터페이스트래픽 분류 및 마킹 → Hub에서 일관 처리End-to-End QoS 구현
Per-Tunnel QoS — Hub에서 Spoke별 정책 적용
! ─── Hub: NHRP Group 기반 Per-Tunnel QoS ────────
! Spoke가 등록 시 NHRP Group 정보를 포함하면 Hub가 구분

! Policy Map 정의 (VoIP 우선 처리)
policy-map DMVPN_QOS
  class VOICE
    priority percent 25         ! LLQ — 절대 우선
  class VIDEO
    bandwidth percent 20
  class BUSINESS
    bandwidth percent 30
  class class-default
    fair-queue

! NHRP Group → Policy Map 매핑
interface Tunnel0
  ip nhrp map group BRANCH_10M service-policy output DMVPN_QOS

! ─── Spoke: NHRP Group 선언 ─────────────────────
interface Tunnel0
  ip nhrp group BRANCH_10M      ! 자신이 10Mbps 회선 그룹임을 선언
  ip nhrp registration timeout 60
7-2. NHRP 인증 (보안 강화)
NHRP Authentication — 인증되지 않은 등록 차단
! Hub와 모든 Spoke에 동일한 인증키 설정
interface Tunnel0
  ip nhrp authentication NhrpAuth2024!
  ! 키가 다른 Spoke는 등록 거부됨
7-3. NAT Traversal (NAT-T)
🔑
DMVPN + NAT 환경
Spoke가 NAT 뒤에 있을 때 IKEv1은 UDP 4500(NAT-T)을 사용합니다. IKEv2는 NAT-T를 자동 감지하여 내장 처리합니다.
NHRP 등록 시 ip nhrp registration no-unique를 설정하면 동적으로 변하는 공인 IP도 허용합니다.
Hub의 ip nhrp map multicast dynamic은 NAT 뒤 Spoke의 실제 공인 IP를 동적으로 학습합니다.
NAT 환경 Spoke 추가 설정
! Spoke가 NAT 뒤에 있을 때
interface Tunnel0
  ip nhrp registration no-unique   ! 동적 공인 IP 허용
  ip nhrp holdtime 600             ! 갱신 주기 조정

! IKEv2 NAT-T: 자동 (별도 설정 불필요)
! IKEv1 NAT-T: isakmp 정책에서 자동 감지
crypto isakmp nat keepalive 20    ! NAT 세션 유지 keepalive
🏆 Phase 8 — 프리세일즈 실전 설계 & CCIE 핵심 3H
엔터프라이즈 DMVPN 풀 설계 — Dual Hub · Phase 3 · IPSec IKEv2 · BGP
HQ / DATA CENTER Hub-1 (Primary) ASR1001-X | NBMA: 1.2.3.4 tunnel0: 10.0.0.1 | BGP RR | NHS Pri=10 Hub-2 (Backup) ASR1001-X | NBMA: 5.6.7.8 tunnel0: 10.0.0.2 | BGP RR | NHS Pri=5 INTERNET NBMA (공인 IP) NHRP Phase 3 + IPSec IKEv2 Branch-1 (본점) ISR4451 | 전용 고정 IP 10Mbps | BGP AS65000 nhs 10.0.0.1 pri=10 / 10.0.0.2 pri=5 Branch-2 (지방 대형) ISR4331 | 동적 공인 IP 5Mbps | NAT-T 필요 no-unique | NAT Traversal Branch-3 (소형) ISR1100 | LTE/5G 2Mbps | 동적 IP LTE failover | 4G/5G Branch N... (무제한 확장) Hub 설정 변경 없이 자동 수용 ZTP + DMVPN 자동 등록 S2S Shortcut Per-Tunnel QoS Branch-1: 10Mbps policy | Branch-3: 2Mbps policy VoIP LLQ 25% | Video 20% | Business 30% 🔐 IKEv2 + IPSec AES-256 transport mode | PFS group14 | SHA-256 iBGP over DMVPN Hub = RR | bgp listen range | next-hop-self
8-1. 프리세일즈 주요 시나리오
💼
Scenario 1 — "전국 200개 지사 WAN을 저렴하게 구축하고 싶다"
DMVPN Phase 3 + 인터넷 제안. 기존 MPLS 전용선 대비 인터넷 회선 활용으로 비용 70% 절감 가능. Hub 1~2대만 설치하면 200개 Spoke 자동 수용. 신규 지사 추가 시 Hub 설정 변경 없음. IPSec IKEv2로 데이터 보안 보장.
💼
Scenario 2 — "지사 간 직접 통신(영상회의 등)이 필요하다"
DMVPN Phase 3 + Per-Tunnel QoS 제안. Phase 3로 지사 간 직접 터널 자동 생성. 최초 1패킷만 Hub 경유 후 직접 통신. VoIP/Video 트래픽은 LLQ로 지연 보장. 기존 Hub 경유 대비 지연 50% 이상 감소.
💼
Scenario 3 — "일부 지사는 고정 IP가 없고 LTE만 있다"
DMVPN + Dynamic IP + LTE Failover 제안. NHRP의 동적 IP 지원으로 DHCP/LTE Spoke 완전 지원. ip nhrp registration no-unique로 IP 변경 시도 자동 재등록. LTE를 Backup WAN으로 구성 가능.
💼
Scenario 4 — "WAN 장애에도 업무가 계속되어야 한다"
Dual Hub DMVPN + IP SLA Tracking 제안. Hub-1 장애 시 모든 Spoke가 자동으로 Hub-2로 전환. IP SLA로 Hub 상태 실시간 감시. 전환 시간 10~30초 이내. HSRP나 VRRP 없이 라우팅 레벨에서 HA 구현.
8-2. CCIE Enterprise — DMVPN 핵심 출제 포인트
출제 영역핵심 내용중요도
Phase 1/2/3 차이Spoke 터널 모드, NHRP redirect/shortcut 설정 위치, 라우팅 요약 가능 여부★★★★★
NHRP 동작 원리Registration/Resolution/Redirect 메시지 흐름, Cache 타입, NHS/NHC 역할★★★★★
IPSec transport vs tunnel modeGRE over IPSec에서 transport mode 사용 이유 — 이중 헤더 방지★★★★★
라우팅 Split HorizonPhase별 EIGRP Split Horizon, OSPF 네트워크 타입, BGP next-hop-self★★★★☆
IKEv1 vs IKEv2메시지 수, 협상 단계, NAT-T 처리 방식, Dynamic Peer 지원★★★★☆
Dual Hub 이중화NHS priority, fallback 설정, IP SLA Tracking 연동★★★☆☆
BGP over DMVPNbgp listen range로 동적 피어, next-hop-self 필요성, RR 구성★★★☆☆
🏆
CCIE Lab 시험 시 자주 나오는 DMVPN 함정
Phase 2에서 경로 요약 설정 시 Spoke-to-Spoke 터널이 생성되지 않음 — Phase 3로 변경하거나 요약 제거
OSPF broadcast 모드에서 Hub의 priority를 255로 설정 안 하면 DR 경쟁 발생
tunnel protection ipsec 설정 후 IPSec SA가 올라오지 않으면 ISAKMP policy mismatch 확인
EIGRP split-horizon 비활성화 안 하면 Phase 1/2에서 Hub가 받은 Spoke 경로를 다른 Spoke에 재광고 안 함
🔧 트러블슈팅 완전 가이드
NHRP / 터널 트러블슈팅
증상원인확인 명령어해결
NHRP 등록 실패Hub NBMA IP 매핑 오류show ip nhrp nhsip nhrp map / nhs 설정 확인
NHRP 등록 실패Network-ID 불일치show ip nhrp detail모든 장비 network-id 동일 확인
NHRP 등록 실패인증키 불일치debug ip nhrpip nhrp authentication 키 확인
터널 Up이지만 통신 불가MTU 문제ping size 1400 df-bitip mtu 1400 + ip tcp adjust-mss 1360
Spoke-to-Spoke 터널 미생성Phase 설정 오류show dmvpn detailPhase 2: mGRE 양단 / Phase 3: redirect+shortcut
Spoke-to-Spoke 터널 미생성Phase 2에서 경로 요약show ip route구체 경로 광고 또는 Phase 3로 전환
IPSec SA 미생성IKE Policy 불일치show crypto isakmp sa양단 암호화/해시/DH 그룹 일치 확인
IPSec SA 미생성Pre-Shared Key 불일치debug crypto isakmpPSK 값 정확히 입력 확인
BGP 피어 미수립update-source 미설정show bgp summaryneighbor update-source Tunnel0 추가
Spoke가 경로를 못 받음EIGRP Split Horizonshow ip eigrp interface detailno ip split-horizon eigrp [AS] (Hub tunnel)
핵심 진단 명령어 Quick Reference
DMVPN 필수 진단 명령어 전체
═══ DMVPN 전체 상태 ═══════════════════════════════
show dmvpn                     ! DMVPN 전체 요약 (핵심 첫 명령어)
show dmvpn detail              ! NHRP + IKE + IPSec 상세
show dmvpn peer [ip]           ! 특정 피어 상세

═══ NHRP ══════════════════════════════════════════
show ip nhrp                   ! NHRP 캐시 테이블
show ip nhrp detail            ! NHRP 플래그 포함 상세
show ip nhrp nhs               ! NHS(Hub) 연결 상태
show ip nhrp multicast         ! 멀티캐스트 매핑
show ip nhrp traffic           ! NHRP 메시지 카운터
clear ip nhrp [ip]             ! 특정 NHRP 캐시 삭제

═══ IPSec / IKE ═══════════════════════════════════
show crypto isakmp sa          ! IKE Phase 1 SA 상태
show crypto ipsec sa           ! IPSec SA (encrypt/decrypt 카운터)
show crypto ikev2 sa           ! IKEv2 SA 상태
show crypto ikev2 sa detail    ! IKEv2 상세 (알고리즘, 만료)
show crypto engine connections active  ! 활성 암호화 세션
show crypto session            ! 전체 IPSec 세션

═══ 터널 인터페이스 ══════════════════════════════
show interface tunnel0         ! 터널 상태, 패킷 카운터
show ip interface tunnel0      ! IP 관련 설정 확인
show ip route                  ! 라우팅 테이블 (경로 수신 확인)

═══ 라우팅 프로토콜 ══════════════════════════════
show ip eigrp neighbors        ! EIGRP 이웃 (Hub-Spoke)
show ip eigrp interface detail tunnel0  ! Split Horizon 상태 확인
show ip ospf neighbor          ! OSPF 이웃
show bgp summary               ! BGP 피어 상태

═══ 디버그 (프로덕션 주의) ══════════════════════
debug ip nhrp                  ! NHRP 메시지 상세
debug crypto isakmp            ! IKE 협상 과정
debug crypto ipsec             ! IPSec SA 생성/삭제
debug dmvpn all                ! DMVPN 전체 (주의: 매우 상세)
트러블슈팅 순서 (Top-Down)
1
물리 연결 및 NBMA 확인
Hub의 WAN 인터페이스 UP/UP. Spoke에서 Hub NBMA IP로 Ping 성공 여부. NAT 환경이라면 UDP 4500 포트 허용 확인.
2
IKE/IPSec SA 확인
show crypto isakmp sa → QM_IDLE (IKEv1) 또는 show crypto ikev2 sa → READY 상태 확인. MM_NO_STATE이면 IKE Policy 불일치.
3
NHRP 등록 확인
show ip nhrp nhs → Req 전송, Ack 수신 여부 확인. show ip nhrp에서 Hub RLOC가 캐시에 있는지 확인.
4
라우팅 경로 확인
show ip route → 원격 네트워크 경로 존재 여부. EIGRP Split Horizon이나 OSPF 네트워크 타입 오류 점검.
5
Spoke-to-Spoke 터널 확인
show dmvpn에서 Spoke 간 State 확인. Phase 3이면 ip nhrp redirect/shortcut 설정 여부. show ip nhrp에서 목적지 RLOC 캐시 존재 확인.
6
MTU / MSS 확인
ping [dst] size 1400 df-bit 성공 여부. 실패 시 ip mtu 1400, ip tcp adjust-mss 1360 재확인.
🏅 자격증 로드맵 & 학습 자료
자격증시험 코드DMVPN 범위준비 기간
CCNP ENARSI300-410DMVPN Phase 1/2/3, NHRP, IPSec 기초~심화3~4개월
CCNP ENCOR350-401DMVPN 개념, VPN 비교6~9개월
CCIE Enterprise InfrastructureLab 400-101DMVPN 전체 설계·구현·트러블슈팅1.5~2년+
유형자료비고
공식 문서Cisco DMVPN Configuration Guidecisco.com — IOS XE DMVPN Guide
RFCRFC 2332 (NHRP), RFC 7296 (IKEv2)표준 문서
Cisco LiveBRKSEC-3054 — DMVPN Deep Diveciscolive.com 아카이브
도서DMVPN (INE / IPexpert)CCIE 학습서
dCloudDMVPN Hands-on Labdcloud.cisco.com 무료
DMVPN Zero to Hero — Deep Dive
mGRE · NHRP · IPSec · Phase 1/2/3 · Dual Hub · CCIE Enterprise
Hub / NHS Spoke / NHC NHRP IPSec IKEv2 Phase 3 CCNP ENARSI