Cisco NX-OS
Nexus · VxLAN · EVPN · Zero to Hero · Deep Dive
VxLAN & EVPN
완전 정복
Cisco Nexus NX-OS 기반 데이터센터 패브릭의 핵심
Underlay 설계 → Overlay VNI → BGP EVPN Control Plane → DCI → 운영 자동화까지
⏱ 총 85H 커리큘럼
🏗 Spine-Leaf 패브릭
🔖 L2VNI · L3VNI · ARP Suppression
📡 BGP EVPN Type-2/3/5
🌐 DCI · Multi-Site · VXLAN Fabric
🏅 DCII · CCNP DC · CCIE DC
📑 Table of Contents
- Phase 0 — 기초 & DC 패브릭 진화
- Phase 1 — VxLAN 기초 원리
- VxLAN 헤더 구조 · VTEP · VNI · 캡슐화/역캡슐화
- Flood & Learn vs EVPN Control Plane
- Phase 2 — Underlay 설계 (Spine-Leaf)
- OSPF/IS-IS Underlay · PIM Multicast · eBGP Underlay
- ECMP · Anycast Gateway 기초
- Phase 3 — BGP EVPN Control Plane Deep Dive
- EVPN Route Type 1~5 · MAC/IP Advertisement · IRB
- Phase 4 — L2VNI & L3VNI 완전 설정
- NX-OS 전체 설정 · ARP Suppression · Anycast VTEP
- Phase 5 — 고급 기능 & DCI
- Multi-Site · VXLAN Fabric Border · External Connectivity
- Phase 6 — 보안 & QoS & 멀티테넌시
- Phase 7 — 프리세일즈 실전 설계
- 트러블슈팅 완전 가이드
🗺 커리큘럼 로드맵
PHASE 0
기초 & 배경
전통 DC 한계, Spine-Leaf 등장, VxLAN 필요성
⏱ 5H
PHASE 1
VxLAN 기초
헤더 구조, VTEP, VNI, 캡슐화, F&L vs EVPN
⏱ 10H
PHASE 2
Underlay 설계
OSPF/IS-IS, PIM, eBGP Underlay, ECMP
⏱ 12H
PHASE 3
BGP EVPN ★
Route Type 1~5, MAC/IP, IRB, Symmetric/Asymmetric
⏱ 18H
PHASE 4
L2VNI & L3VNI
NX-OS 전체 설정, ARP Suppression, Anycast VTEP
⏱ 16H
PHASE 5
고급 기능 DCI
Multi-Site, Border Leaf, External Connectivity
⏱ 12H
PHASE 6
보안 & QoS
Micro-Seg, RBAC, Tenant 격리, DSCP 매핑
⏱ 8H
PHASE 7
프리세일즈 설계
풀 시나리오 제안, ACI 비교, 설계 결정 가이드
⏱ 4H
🏗 Phase 0 — 기초 & DC 패브릭 진화 5H
0-1. 전통 3-Tier DC의 한계 vs Spine-Leaf
⛔ 전통 3-Tier (Core-Aggr-Access)
- STP(Spanning Tree)로 루프 방지 → 대역폭 50% 낭비
- East-West 트래픽 급증 → North-South 설계와 미스매치
- VLAN = 물리 포트 종속 → VM 마이그레이션 시 VLAN 확장 불가
- L2 도메인이 클수록 Broadcast Storm, MAC 플러딩 위험
- 스케일아웃 시 설계 변경 필요 (Forklift upgrade)
- 멀티테넌트 격리 = VLAN 4096개 한계
✅ Spine-Leaf + VxLAN EVPN
- 모든 링크 Active (ECMP) — 대역폭 100% 활용
- Leaf 추가만으로 수평 확장 — STP 없음
- VxLAN으로 L2를 UDP로 확장 — IP Fabric 위에 Overlay
- 최대 16M VNI — VLAN 4096 한계 완전 극복
- VM/컨테이너 이동 시 IP/MAC 유지 (Seamless Mobility)
- Tenant별 VRF 완전 격리 (멀티테넌시)
0-2. 핵심 용어 사전
| 용어 | 설명 | 비고 |
|---|---|---|
| VxLAN | Virtual Extensible LAN — L2 프레임을 UDP/IP로 캡슐화하여 L3 네트워크 위로 전송. RFC 7348 | UDP Port 4789 |
| VTEP | VxLAN Tunnel End Point — VxLAN 캡슐화/역캡슐화 수행하는 장치 (보통 Leaf 스위치) | NVE 인터페이스 |
| VNI | VxLAN Network Identifier — 24비트, 최대 16M 세그먼트. VLAN과 매핑 | L2VNI / L3VNI 구분 |
| L2VNI | 동일 서브넷 내 L2 확장용 VNI. VLAN ↔ VNI 1:1 매핑 | 브리징 도메인 |
| L3VNI | 테넌트 간 L3 라우팅용 VNI. VRF ↔ L3VNI 1:1 매핑 | Symmetric IRB 필수 |
| NVE | Network Virtualization Edge — NX-OS의 VxLAN 인터페이스 | interface nve1 |
| IRB | Integrated Routing and Bridging — VTEP에서 L2/L3 통합 처리 | Anycast GW |
| Anycast VTEP | 모든 Leaf가 동일한 VIP(Primary VTEP IP) 공유 → ECMP 및 게이트웨이 이중화 | loopback1 = 공통 IP |
| Asymmetric IRB | Ingress VTEP에서 라우팅+브리징 동시 수행. L3VNI 불필요하나 모든 Leaf에 모든 VLAN 필요 | 간단하지만 확장성 제한 |
| Symmetric IRB | Ingress: 브리징→라우팅→L3VNI 캡슐화 / Egress: L3VNI 역캡슐화→라우팅→브리징. L3VNI 필수 | 엔터프라이즈 권장 |
| ARP Suppression | VTEP가 로컬 ARP 캐시 응답 → 네트워크 ARP Broadcast 억제. EVPN Type-2로 MAC/IP 배포 | 대규모 DC 필수 |
| EVPN | Ethernet VPN — MP-BGP 기반 MAC/IP 경로 배포 프로토콜. RFC 7432 | Control Plane |
| RD / RT | Route Distinguisher / Route Target — EVPN에서도 L3VPN과 동일한 역할 | VNI별 자동 생성 가능 |
🔖 Phase 1 — VxLAN 기초 원리 10H
1-1. VxLAN 헤더 구조 (캡슐화 스택)
레이어
Outer Ethernet
14B
14B
Outer IP
20B
20B
Outer UDP
8B
8B
VxLAN Header
8B
8B
Inner Ethernet
14B
14B
Inner IP
20B
20B
Payload
내용
VTEP MAC
Src→Dst
Src→Dst
VTEP IP
Src→Dst
Src→Dst
Src: 동적
Dst: 4789
Dst: 4789
Flags(8b)
+VNI(24b)
+VNI(24b)
원본 VM MAC
원본 VM IP
TCP/UDP Data
🔑
VxLAN 오버헤드 계산
Outer ETH(14) + Outer IP(20) + UDP(8) + VxLAN(8) = 50바이트 오버헤드. 기본 MTU 1500B 환경에서 Inner 패킷은 최대 1450B. 따라서 Underlay 링크 MTU를 최소 1600B (권장 9216B Jumbo)로 설정해야 분할 없이 처리 가능합니다.1-2. VxLAN VNI 구조
VxLAN VTEP — VNI 매핑 구조 (L2VNI + L3VNI)
1-3. Flood & Learn vs BGP EVPN Control Plane
| 항목 | Flood & Learn (Data Plane) | BGP EVPN (Control Plane) |
|---|---|---|
| MAC 학습 | 실제 트래픽 수신 시 MAC 학습 (수동) | BGP EVPN Type-2로 사전 배포 (능동) |
| BUM 트래픽 | Unknown Unicast/Multicast/Broadcast 전체 플러딩 | Ingress Replication 또는 Multicast로 최소화 |
| ARP 처리 | ARP Broadcast 전체 플러딩 → 모든 VTEP 처리 | ARP Suppression — 로컬 VTEP에서 Proxy ARP 응답 |
| 확장성 | 소규모에서만 현실적. VTEP 증가 시 BUM 폭발 | 대규모 DC 표준. 수천 VTEP 지원 |
| 가시성 | MAC/IP 위치 파악 어려움 | 중앙(BGP RR)에서 전체 MAC/IP 테이블 조회 가능 |
| 멀티테넌시 | 복잡 (VLAN 기반 격리만) | VRF + L3VNI로 완전 격리 |
| 권장 | 소규모 PoC / 레거시 | 프로덕션 DC 표준 ★ |
⚠️
Flood & Learn 방식의 멀티캐스트 요구사항
BUM 트래픽 처리를 위해 Underlay에 PIM Sparse-Mode + RP 설정이 필요합니다. EVPN 방식은 Ingress Replication(Unicast)을 사용하므로 멀티캐스트 불필요. 신규 구축에는 반드시 EVPN을 사용하세요.🌐 Phase 2 — Underlay 설계 (Spine-Leaf) 12H
VxLAN Overlay는 안정적인 IP Underlay 위에서 동작합니다. Underlay의 품질이 Overlay 전체 성능과 수렴 속도를 결정합니다.
2-1. Underlay 프로토콜 옵션 비교
| 프로토콜 | 장점 | 단점 | 권장 상황 |
|---|---|---|---|
| OSPF (언더레이) | 설정 단순, 빠른 수렴, NX-OS 기본 지원 | 대규모 시 LSDB 부하, 영역 설계 필요 | 중소규모 패브릭 (Leaf 50개 이하) |
| IS-IS | OSPF보다 확장성 높음, TLV 확장 용이 | 설정 다소 복잡, OSPF 대비 운영 경험 부족 | 대규모 패브릭, IXP 스타일 |
| eBGP (언더레이) | Leaf-Spine 간 ASN 다름 → 루프 방지 자연스러움, 정책 적용 유연 | 설정 복잡, BGP Overlay와 혼동 가능 | 대규모 DC, 자동화 중심 환경 |
| OSPF + eBGP 혼용 | Underlay: OSPF / Overlay: BGP EVPN 역할 분리 명확 | 두 프로토콜 모두 운영 필요 | 엔터프라이즈 표준 ★ |
Spine-Leaf 패브릭 — Underlay + Overlay 전체 구성
2-2. Underlay NX-OS 설정 (OSPF + eBGP Underlay)
Spine-1 — Underlay OSPF + BGP RR 설정
! ─── Feature 활성화 (가장 먼저) ──────────────────────── feature ospf feature bgp feature nv overlay ! VxLAN NVE 인터페이스 feature vn-segment-vlan-based ! VLAN-VNI 매핑 nv overlay evpn ! EVPN 활성화 ! ─── Loopback 설정 ───────────────────────────────────── interface loopback0 ip address 10.0.254.1/32 ip ospf 1 area 0 ip router ospf 1 area 0 ! ─── P2P 링크 (Spine→Leaf, /31 권장) ────────────────── interface Ethernet1/1 ! toward Leaf-1 no switchport ip address 10.100.1.0/31 ip ospf network point-to-point ! DR/BDR 선출 생략 ip ospf 1 area 0 ip router ospf 1 area 0 ip ospf bfd ! BFD for fast failure mtu 9216 ! Jumbo Frame 필수! no shutdown ! ─── OSPF 프로세스 ───────────────────────────────────── router ospf 1 router-id 10.0.254.1 bfd passive-interface default no passive-interface Ethernet1/1 no passive-interface Ethernet1/2 ! ─── BGP EVPN — Route Reflector 설정 ────────────────── router bgp 65000 router-id 10.0.254.1 address-family l2vpn evpn retain route-target all ! RR: 모든 RT 유지 ! ! Leaf들은 모두 iBGP 클라이언트 neighbor 10.0.0.1 ! Leaf-1 remote-as 65000 update-source loopback0 route-reflector-client address-family l2vpn evpn send-community extended ! RT Community 전달 필수 route-reflector-client neighbor 10.0.0.2 ! Leaf-2 (동일하게) remote-as 65000 update-source loopback0 route-reflector-client address-family l2vpn evpn send-community extended route-reflector-client
✅
② MTU 9216B Jumbo 전체 패브릭 통일 (VxLAN 50B 오버헤드 + 여유분)
③ BFD 활성화 (
④ Loopback0 = BGP Router-ID / Loopback1 = Anycast VTEP IP (별도 운용)
Underlay 설계 베스트 프랙티스
① 모든 P2P 링크에 ip ospf network point-to-point 설정 (DR/BDR 선출 불필요, 수렴 빠름)② MTU 9216B Jumbo 전체 패브릭 통일 (VxLAN 50B 오버헤드 + 여유분)
③ BFD 활성화 (
ip ospf bfd) — 링크 장애 ms 단위 감지④ Loopback0 = BGP Router-ID / Loopback1 = Anycast VTEP IP (별도 운용)
📡 Phase 3 — BGP EVPN Control Plane Deep Dive 18H
BGP EVPN (RFC 7432)은 MAC/IP 주소 및 VxLAN 터널 정보를 MP-BGP로 배포하는 Control Plane입니다. L2VPN EVPN Address Family를 사용합니다.
3-1. EVPN Route Type 완전 정복 (Type 1~5)
| Type | 이름 | 목적 | 주요 속성 | 활용 시나리오 |
|---|---|---|---|---|
| Type 1 | Ethernet Auto-Discovery | 멀티호밍(ESI) 빠른 수렴 및 Aliasing. 특정 ES에서 MAC 철회 시 빠른 알림 | ESI, Ethernet Tag ID, MPLS/VxLAN Label | Multihoming (vPC/LAG), 빠른 장애 복구 |
| Type 2 | MAC/IP Advertisement ★ | MAC 주소 + IP 주소를 BGP로 배포. ARP Suppression의 기반 | MAC Addr(48b), IP Addr(0/32/128b), L2VNI, L3VNI(IRB용) | MAC 학습, ARP Proxy, Symmetric IRB 핵심 |
| Type 3 | Inclusive Multicast ★ | BUM 트래픽 처리를 위한 VTEP 멀티캐스트 그룹 또는 Ingress Replication 목록 배포 | Originating Router IP, PMSI Attribute | BUM(Broadcast/Unknown/Multicast) 전달 경로 설정 |
| Type 4 | Ethernet Segment Route | 멀티호밍 환경에서 Designated Forwarder(DF) 선출 | ESI, Originating Router IP | vPC 게이트웨이 이중화, DF 결정 |
| Type 5 | IP Prefix Advertisement ★ | 외부 프리픽스(L3 경로)를 EVPN으로 배포. Symmetric IRB에서 Inter-Subnet 라우팅 | IP Prefix/Length, GW IP, L3VNI, Router's MAC | External Connectivity, 서브넷 간 라우팅 (Border Leaf) |
🔬
실무에서 가장 중요한 3가지
Type 2 — MAC/IP 배포 (매일 사용), Type 3 — BUM 처리 (패브릭 수립 시), Type 5 — 외부 연결 (Border Leaf). Type 1/4는 Multihoming 환경에서 중요하지만, 기본 패브릭에서는 2/3/5가 핵심입니다.BGP EVPN Type-2 MAC/IP 광고 흐름 (VM-A → Spine RR → Leaf-2)
3-2. Symmetric IRB vs Asymmetric IRB
🔑
IRB (Integrated Routing and Bridging)이란?
VTEP에서 L2 브리징과 L3 라우팅을 동시에 처리하는 방식입니다. 기존에는 라우팅은 L3 스위치/라우터, 브리징은 L2 스위치가 별도로 했지만 VxLAN 환경에서는 Leaf(VTEP)가 두 역할을 통합합니다.| 항목 | Asymmetric IRB | Symmetric IRB ★ (권장) |
|---|---|---|
| 동작 방식 | Ingress VTEP에서 라우팅+브리징 모두 수행. Egress VTEP는 브리징만 | Ingress: 브리징→L3VNI로 라우팅. Egress: L3VNI→브리징. 역할 대칭 |
| L3VNI | 불필요 | 필수 — VRF당 1개 L3VNI 필요 |
| 모든 Leaf에 모든 VLAN | 필요 (Ingress에서 라우팅하려면) | 불필요 — 필요한 VLAN만 해당 Leaf에 있으면 됨 |
| 트래픽 흐름 | 소스→목적지 VLAN 모두 Ingress에서 처리 | L3VNI 터널로 전달 → Egress에서 목적지 VLAN으로 브리징 |
| EVPN Type-2 | IP 포함 필요 (라우팅 판단용) | IP 포함 + L3VNI 레이블 포함 |
| 확장성 | Leaf 수 증가 시 VLAN 프로비저닝 부담 | 높음 — 분산 게이트웨이에 최적 |
| 권장 | 소규모, 단순 환경 | 엔터프라이즈 DC 표준 ★ |
Symmetric IRB — Inter-Subnet 라우팅 흐름 (VLAN10 → VLAN20)
3-3. BGP EVPN Type-2 패킷 상세 분석
show bgp l2vpn evpn — Type-2 경로 예시
! Leaf-1에서 VM-A MAC/IP를 BGP EVPN으로 광고한 Type-2 경로 확인 N9K-Leaf1# show bgp l2vpn evpn BGP routing table information for VRF default, address family L2VPN EVPN Route Distinguisher: 10.0.0.1:10010 (L2VNI 10010) [2][10.0.0.1:10010][0][48][AABBCCDDEEF01][32][10.10.10.10]/272 ^Type ^RD ^ESI ^MAC(48b) ^IP(32b) Nexthop: 10.0.0.1 ! Leaf-1 Loopback0 MED: 0 Local Pref: 100 Community: RT:65001:10010 ! L2VNI RT (export) RT:65001:50001 ! L3VNI RT (VRF TENANT-A) PMSI: Flags: 0x00, Tunnel Type: Ingress Replication Tunnel Endpoint: 10.0.0.1 VNI label: 10010 ! L2VNI L3 label: 50001 ! L3VNI (Symmetric IRB) Router's MAC: 0000.0011.1111 ! Anycast GW MAC ! Leaf-2에서 수신한 이 경로를 통해 ARP Suppression 가능 show l2route evpn mac-ip evi 10010 Flags -(Rmac):Router MAC (Stt):Static (L):Local (R):Remote EVI MAC Address Prod Flags Seq No IP Address 10010 AABB.CCDD.EEF0.01 BGP R 0 10.10.10.10 ^Remote — Leaf-2에서 BGP로 학습됨
3-4. Type-3 Inclusive Multicast — BUM 처리
| BUM 처리 방식 | 동작 | 장단점 | 설정 |
|---|---|---|---|
| Ingress Replication (Unicast) | BUM 패킷을 모든 원격 VTEP에 개별 Unicast 복사 | 멀티캐스트 불필요. 간단. 소규모 OK. VTEP 많을수록 CPU 부하 증가 | ingress-replication protocol bgp |
| Multicast (PIM) | VTEP들이 멀티캐스트 그룹 가입. BUM → 멀티캐스트 그룹으로 전송 | 대규모에 효율적. Underlay PIM/RP 필요 | mcast-group [addr] |
Type-3 경로 확인 — Ingress Replication 목록
N9K-Leaf1# show bgp l2vpn evpn [3][10.0.0.1:10010][32][10.0.0.1]/88 ^Type ^RD ^Leaf-1 IP (BUM 전송 주소) Nexthop: 10.0.0.1 Community: RT:65001:10010 PMSI Tunnel: Ingress Replication, 10.0.0.1 ! Leaf-2가 수신한 Type-3 → BUM 발생 시 10.0.0.1로 Unicast 복사 show nve peers Interface Peer-IP State LearnType Uptime nve1 10.0.0.2 Up CP 1d02h ! Control Plane 학습 nve1 10.0.0.3 Up CP 1d02h
⚙️ Phase 4 — L2VNI & L3VNI 완전 설정 (NX-OS) 16H
4-1. VxLAN 전체 설정 순서 (Leaf)
1
Feature 활성화
feature nv overlay, feature vn-segment-vlan-based, nv overlay evpn, feature bgp, feature ospf, feature interface-vlan2
VLAN-VNI 매핑
각 VLAN에 VNI 번호 매핑 (
vlan 10 / vn-segment 10010). L3VNI용 특수 VLAN도 생성 (vlan 3001 / vn-segment 50001)3
VRF 정의 (L3VNI 매핑)
테넌트 VRF 생성.
vni 50001, rd auto, address-family ipv4 unicast / route-target both auto evpn4
SVI (Anycast Gateway) 설정
각 VLAN의 SVI에 Anycast GW 설정.
fabric forwarding mode anycast-gateway. 모든 Leaf에 동일 IP/MAC 설정5
NVE 인터페이스 설정
interface nve1에 source-interface, L2VNI/L3VNI 목록, ingress-replication 설정6
BGP EVPN 설정
Spine을 RR로 하는 iBGP 세션 수립.
l2vpn evpn address family 활성화. VNI별 advertise-pip 설정7
검증
show nve peers, show bgp l2vpn evpn, show l2route evpn mac-ip all, ping vrf TENANT-A [remote-IP]4-2. Leaf 완전 설정 (NX-OS — Symmetric IRB)
N9K Leaf-1 — VxLAN EVPN Symmetric IRB 전체 설정
! ════════════════════════════════════════════════════════ ! STEP 1: Feature 활성화 ! ════════════════════════════════════════════════════════ feature nv overlay feature vn-segment-vlan-based nv overlay evpn feature bgp feature ospf feature interface-vlan feature vpc ! vPC 사용 시 ! ════════════════════════════════════════════════════════ ! STEP 2: VLAN-VNI 매핑 (L2VNI + L3VNI용 VLAN) ! ════════════════════════════════════════════════════════ vlan 10 vn-segment 10010 ! L2VNI: VLAN10 ↔ VNI 10010 name TENANT-A-WEB vlan 20 vn-segment 10020 ! L2VNI: VLAN20 ↔ VNI 10020 name TENANT-A-APP vlan 30 vn-segment 10030 name TENANT-A-DB ! L3VNI용 특수 VLAN (트래픽 없음, 라우팅 터널용) vlan 3001 vn-segment 50001 ! L3VNI: VRF TENANT-A name L3VNI-TENANT-A vlan 3002 vn-segment 50002 ! L3VNI: VRF TENANT-B name L3VNI-TENANT-B ! ════════════════════════════════════════════════════════ ! STEP 3: VRF 정의 — Symmetric IRB L3VNI 매핑 ! ════════════════════════════════════════════════════════ vrf context TENANT-A vni 50001 ! VRF ↔ L3VNI 바인딩 rd auto ! RD 자동 생성 (권장) address-family ipv4 unicast route-target both auto evpn ! RT 자동 생성 (export+import) address-family ipv6 unicast route-target both auto evpn vrf context TENANT-B vni 50002 rd auto address-family ipv4 unicast route-target both auto evpn ! ════════════════════════════════════════════════════════ ! STEP 4: SVI — Anycast Distributed Gateway ! ════════════════════════════════════════════════════════ ! Anycast GW MAC 전역 설정 (모든 Leaf 동일값) fabric forwarding anycast-gateway-mac 0000.1234.5678 interface Vlan10 vrf member TENANT-A ip address 10.10.10.1/24 ! 모든 Leaf에 동일 IP! fabric forwarding mode anycast-gateway no shutdown interface Vlan20 vrf member TENANT-A ip address 10.20.20.1/24 fabric forwarding mode anycast-gateway no shutdown interface Vlan30 vrf member TENANT-A ip address 10.30.30.1/24 fabric forwarding mode anycast-gateway no shutdown ! L3VNI SVI (IP 없음 — 라우팅 터널 전용) interface Vlan3001 vrf member TENANT-A ip forward ! IP 주소 없이 포워딩만 no shutdown interface Vlan3002 vrf member TENANT-B ip forward no shutdown ! ════════════════════════════════════════════════════════ ! STEP 5: Loopback 설정 ! ════════════════════════════════════════════════════════ interface loopback0 ip address 10.0.0.1/32 ! Underlay BGP Router-ID ip router ospf 1 area 0 interface loopback1 ip address 10.1.1.1/32 ! Anycast VTEP IP (모든 Leaf 동일!) ip router ospf 1 area 0 ! ════════════════════════════════════════════════════════ ! STEP 6: NVE 인터페이스 (핵심!) ! ════════════════════════════════════════════════════════ interface nve1 no shutdown host-reachability protocol bgp ! EVPN Control Plane 사용 source-interface loopback1 ! Anycast VTEP IP advertise virtual-rmac ! Anycast GW MAC 광고 ! L2VNI — 각 VNI 별도 설정 member vni 10010 ingress-replication protocol bgp ! BUM: BGP EVPN Type-3 사용 mcast-group 239.1.1.1 ! 또는 멀티캐스트 방식 suppress-arp ! ARP Suppression 활성화! member vni 10020 ingress-replication protocol bgp suppress-arp member vni 10030 ingress-replication protocol bgp suppress-arp ! L3VNI — VRF 매핑 member vni 50001 associate-vrf ! TENANT-A VRF member vni 50002 associate-vrf ! TENANT-B VRF ! ════════════════════════════════════════════════════════ ! STEP 7: BGP EVPN 설정 (Leaf — iBGP to Spine RR) ! ════════════════════════════════════════════════════════ router bgp 65000 router-id 10.0.0.1 log-neighbor-changes ! Spine-1, Spine-2를 RR로 (iBGP) neighbor 10.0.254.1 remote-as 65000 update-source loopback0 address-family l2vpn evpn send-community extended neighbor 10.0.254.2 remote-as 65000 update-source loopback0 address-family l2vpn evpn send-community extended ! VRF TENANT-A — L3 경로도 BGP로 재분배 vrf TENANT-A address-family ipv4 unicast advertise l2vpn evpn ! Connected 경로 → EVPN Type-5로 광고 maximum-paths ibgp 4 ! ECMP vrf TENANT-B address-family ipv4 unicast advertise l2vpn evpn
4-3. Host-facing 포트 설정
Access Port (서버 연결) + Trunk Port
! 단일 VLAN 서버 (Access) interface Ethernet1/10 switchport mode access switchport access vlan 10 ! VLAN10 → VNI 10010으로 자동 매핑 spanning-tree port type edge no shutdown ! 멀티 VLAN 서버/하이퍼바이저 (Trunk) interface Ethernet1/11 switchport mode trunk switchport trunk allowed vlan 10,20,30 spanning-tree port type edge trunk no shutdown ! vPC 피어 링크 (이중화 서버) interface port-channel1 switchport mode trunk switchport trunk allowed vlan 10,20,30 vpc 1
4-4. 핵심 검증 명령어 체계
| 검증 항목 | 명령어 | 확인 포인트 |
|---|---|---|
| NVE 피어 상태 | show nve peers | 모든 원격 VTEP가 Up 상태, CP(Control Plane) 학습 여부 |
| NVE VNI 상태 | show nve vni | 각 VNI Up 상태, L2VNI/L3VNI 구분, mcast/IR 방식 |
| BGP EVPN 피어 | show bgp l2vpn evpn summary | Spine RR와 Established, 수신 경로 수 |
| EVPN 전체 경로 | show bgp l2vpn evpn | Type-2/3/5 경로, RD, RT, Nexthop, VNI label |
| MAC/IP 테이블 | show l2route evpn mac-ip all | Local(L) vs Remote(R), IP 매핑 |
| ARP 테이블 (VRF) | show ip arp vrf TENANT-A | 원격 호스트 ARP 억제 확인 |
| 라우팅 테이블 (VRF) | show ip route vrf TENANT-A | 원격 서브넷이 EVPN 경로로 존재하는지 |
| VxLAN 포워딩 테이블 | show forwarding l2 vni 10010 | MAC → VTEP IP 매핑 |
| 엔드투엔드 테스트 | ping 10.20.20.20 vrf TENANT-A | Inter-subnet 통신 성공 여부 |
| VTEP 경로 추적 | traceroute 10.20.20.20 vrf TENANT-A | L3VNI 경로를 통한 Symmetric IRB 경로 확인 |
⚠️
② Anycast GW MAC 불일치 — 모든 Leaf에서
③ L3VNI SVI에 IP 설정 — Vlan3001 SVI에는 IP 주소 없이
④ send-community extended 미설정 — RT Community가 전달 안 됨 → EVPN 경로 수신 불가
⑤ suppress-arp 미설정 — ARP Suppression 안 되어 대규모 Broadcast 발생
가장 흔한 설정 실수 Top 5
① MTU 미설정 — Underlay MTU 9216 미설정 시 VxLAN 패킷 분할/드롭② Anycast GW MAC 불일치 — 모든 Leaf에서
fabric forwarding anycast-gateway-mac 값이 달라 통신 불가③ L3VNI SVI에 IP 설정 — Vlan3001 SVI에는 IP 주소 없이
ip forward만④ send-community extended 미설정 — RT Community가 전달 안 됨 → EVPN 경로 수신 불가
⑤ suppress-arp 미설정 — ARP Suppression 안 되어 대규모 Broadcast 발생
🌐 Phase 5 — 고급 기능 & DCI (Data Center Interconnect) 12H
5-1. Border Leaf — External Connectivity
Border Leaf는 VxLAN 패브릭과 외부 네트워크(인터넷, MPLS WAN, 레거시 DC) 사이의 게이트웨이입니다. L3 연결을 담당하며 EVPN Type-5로 외부 경로를 패브릭에 광고합니다.
Border Leaf — External Connectivity & DCI 토폴로지
5-2. Border Leaf 설정 — External Connectivity
Border Leaf — EVPN Type-5 + External BGP
! ─── Border Leaf: External 인터페이스 (L3 연결) ───── interface Ethernet1/48 ! toward External Router / WAN no switchport vrf member TENANT-A ip address 192.168.100.1/30 no shutdown ! ─── VRF 내 External BGP ───────────────────────────── router bgp 65000 vrf TENANT-A router-id 10.0.0.99 address-family ipv4 unicast advertise l2vpn evpn ! 패브릭 내부 경로 → External로 redistribute direct route-map FABRIC_TO_EXT neighbor 192.168.100.2 ! External Router remote-as 64999 address-family ipv4 unicast send-community extended route-map EXT_TO_FABRIC in ! External 경로 → Type-5로 재분배 route-map FABRIC_TO_EXT out ! ─── Route-map: External 경로를 EVPN Type-5로 광고 ─ route-map EXT_TO_FABRIC permit 10 match ip address prefix-list EXTERNAL_PREFIXES set evpn gateway-ip 192.168.100.1 ! Type-5의 GW IP
5-3. Multi-Site VxLAN (Cisco VXLAN Multi-Site)
| 항목 | 전통 DCI | VXLAN Multi-Site (BGW) |
|---|---|---|
| 연결 방식 | OTV, VPLS, 전용 DCI 장비 | Border Gateway (BGW) Leaf가 사이트 경계 처리 |
| L2 확장 | 가능하나 Broadcast Storm 위험 | 사이트별 Flood 격리. 사이트 내 BUM 제한 |
| Control Plane | 별도 OTV 등 독자 프로토콜 | BGP EVPN 단일 프로토콜 통일 |
| VTEP IP 재사용 | 불가 (IP 충돌) | 사이트별 PIP(Primary) + VIP(Anycast) 분리 |
| VM 이동 | 사이트 간 IP 유지 어려움 | L2 Stretch로 IP 유지 이동 가능 |
| 권장 제품 | 레거시 | Cisco Nexus 9000 BGW 역할 ★ |
🔐 Phase 6 — 보안 & QoS & 멀티테넌시 8H
6-1. VxLAN 멀티테넌시 격리 구조
| 격리 레벨 | 기술 | 설명 |
|---|---|---|
| L2 세그멘트 격리 | VNI (L2VNI) | 서로 다른 L2VNI는 완전히 격리 — Broadcast 도메인 분리 |
| L3 테넌트 격리 | VRF + L3VNI | 테넌트 VRF 간 라우팅 완전 차단 (IP 중첩 가능) |
| 테넌트 내 마이크로 세그멘테이션 | VXLAN + ACL / Cisco TrustSec | 동일 VRF 내에서도 SGT(Security Group Tag) 기반 정책 |
| 관리 평면 격리 | RBAC (NX-OS) | 테넌트별 운영자가 자신의 VRF/VNI만 관리 가능 |
6-2. VxLAN 보안 고려사항
| 위협 | 대응 기술 | NX-OS 설정 |
|---|---|---|
| VTEP Spoofing | BGP EVPN 인증 + 허가된 VTEP만 NVE 피어 허용 | nve peer whitelist (검증된 VTEP 목록) |
| ARP Spoofing | Dynamic ARP Inspection (DAI) + ARP Suppression | ip arp inspection vlan |
| MAC Flooding | Port Security + MAC 학습 제한 | switchport port-security maximum |
| VLAN Hopping | Native VLAN 사용 금지 + VLAN 명시적 허용 | switchport trunk native vlan 999 (미사용 VLAN) |
| 테넌트 간 트래픽 | VRF 격리 (라우팅 정책 없으면 물리적 차단) | VRF Leaking 시에만 허용 (명시적 RT import) |
| East-West 위협 | 마이크로 세그멘테이션 + Cisco Tetration/Secure Workload | SGT 기반 정책 + 방화벽 서비스 체이닝 |
6-3. QoS — VxLAN 패브릭 내 DSCP 처리
💡
VxLAN QoS 핵심 이슈
Inner 패킷의 DSCP 값이 VxLAN 캡슐화 시 Outer IP 헤더로 복사되지 않으면 Spine에서 QoS 처리가 불가능합니다. NX-OS에서는 copy dscp 또는 qos copy dscp tunnel 설정으로 Inner DSCP를 Outer에 복사합니다.
VxLAN QoS — DSCP 복사 + 큐 매핑
! Inner DSCP → Outer DSCP 복사 (캡슐화 시) hardware qos dscp-to-queue ingress ! DSCP 기반 큐 매핑 활성화 ! VxLAN 터널 DSCP 처리 system qos service-policy type queuing input FCOE_IN service-policy type queuing output FCOE_OUT ! DSCP 마킹 정책 (서버 인입 트래픽) policy-map type qos MARK_POLICY class VOICE_CLASS set dscp ef class VIDEO_CLASS set dscp af41 class DEFAULT_CLASS set dscp default
💼 Phase 7 — 프리세일즈 실전 설계 4H
엔터프라이즈 VxLAN EVPN DC 풀 설계 — 프리세일즈 제안 토폴로지
7-1. 프리세일즈 핵심 제안 시나리오
💼
Scenario 1 — "서버 가상화 확대로 VLAN이 부족하다"
VxLAN으로 VLAN 한계 극복 제안. VLAN 4096 → VNI 16M. 기존 VLAN 번호는 유지하면서 VNI로 확장. vSphere VTEP(VMware NSX 또는 NX-OS HW VTEP) 혼용 지원. 확장 시 Leaf 추가만으로 무중단 스케일아웃.
💼
Scenario 2 — "VM 이동 시 IP 주소가 바뀌어 애플리케이션 재설정이 필요하다"
VxLAN Anycast Gateway + ARP Suppression 제안. 모든 Leaf에 동일한 SVI IP/MAC(Anycast GW) → VM이 어떤 Leaf에 이동해도 동일 게이트웨이. IP 변경 없는 Seamless Mobility. ARP Suppression으로 이동 시 불필요한 Broadcast 제거.
💼
Scenario 3 — "멀티테넌트 환경에서 테넌트 간 완전 격리가 필요하다"
VRF + L3VNI 기반 완전 격리 제안. 테넌트별 독립 VRF = 독립 라우팅 테이블. IP 주소 공간 중첩 허용. 테넌트 간 통신은 명시적 VRF Leaking 또는 서비스 체이닝(FW)을 통해서만. Cisco ACI와 동등한 테넌트 격리를 스탠드얼론 NX-OS로 구현.
💼
Scenario 4 — "DR 사이트와 DC 간 L2 연장이 필요하다"
VXLAN Multi-Site (BGW) 제안. 두 DC 간 Border Leaf를 통한 EVPN 기반 DCI. 사이트 별 BUM Flooding 격리 (폭풍 방지). VM 이동 시 IP 유지. 기존 OTV/VPLS 대비 단일 EVPN 프로토콜로 운영 단순화.7-2. NX-OS VxLAN vs Cisco ACI 비교
| 항목 | NX-OS VxLAN EVPN | Cisco ACI |
|---|---|---|
| Control Plane | BGP EVPN (업계 표준) | APIC 독자 컨트롤러 |
| 구축 복잡도 | 중간 — NX-OS 설정 필요 | 높음 — APIC/EPG/Contract 개념 |
| 자동화 | Ansible/Python/NETCONF 표준 | APIC REST API (독자) |
| 멀티벤더 | RFC 7432/7348 표준 — 타 벤더 혼용 | Cisco Only (APIC 독자) |
| 마이크로 세그멘테이션 | ACL / TrustSec SGT | EPG/Contract 기반 (더 세밀) |
| 운영 비용 | 낮음 (NX-OS 엔지니어) | 높음 (ACI 전문가 필요) |
| 권장 상황 | 표준 기반 패브릭, 멀티벤더, 비용 최적화 | 정밀한 정책 제어, 자동화 고도화 |
🔧 트러블슈팅 완전 가이드
Underlay / NVE 트러블슈팅
| 증상 | 원인 | 확인 명령어 | 해결 |
|---|---|---|---|
| NVE 피어 미수립 | BGP EVPN 세션 미수립 | show bgp l2vpn evpn summary | BGP 피어 상태, send-community extended 확인 |
| NVE 피어 미수립 | Underlay OSPF 미수립 | show ip ospf neighbor | P2P 링크, MTU, Hello/Dead 타이머 확인 |
| VNI Down | feature 미활성화 | show nve vni | feature nv overlay, nv overlay evpn 확인 |
| 패킷 드롭 / 분할 | Jumbo MTU 미설정 | ping size 1500 df-bit | 모든 Underlay 링크 MTU 9216 설정 |
| BGP Type-2 미수신 | RT 불일치 | show bgp l2vpn evpn | VRF의 route-target 값 확인, RT export/import 일치 |
L2/L3 포워딩 트러블슈팅
| 증상 | 원인 | 확인 명령어 | 해결 |
|---|---|---|---|
| 같은 VLAN VM 간 통신 불가 | L2VNI 미설정 또는 VLAN-VNI 미매핑 | show vlan id 10, show nve vni 10010 | VLAN vn-segment 설정, NVE member vni 확인 |
| 서브넷 간 라우팅 불가 | L3VNI 미설정 또는 VRF 미매핑 | show ip route vrf TENANT-A | VRF에 vni 설정, Vlan3001 SVI ip forward 확인 |
| ARP Suppression 미동작 | suppress-arp 미설정 | show l2route evpn mac-ip all | NVE member vni에 suppress-arp 추가 |
| Anycast GW 통신 불가 | MAC 불일치 (Leaf 간) | show ip arp vrf TENANT-A | fabric forwarding anycast-gateway-mac 모든 Leaf 동일 확인 |
| 원격 VTEP 경로 없음 | Type-3 미수신 (BUM 처리 불가) | show bgp l2vpn evpn type-3 | ingress-replication protocol bgp 또는 mcast-group 설정 |
| VRF 간 통신 불가 | RT 격리 (정상 동작) | show vrf detail TENANT-A | VRF Leaking 필요 시 RT import 추가 (보안 검토 후) |
트러블슈팅 핵심 명령어 Quick Reference
NX-OS VxLAN EVPN — 필수 진단 명령어 전체
═══ UNDERLAY 확인 ════════════════════════════════════ show ip ospf neighbor ! Spine-Leaf OSPF 이웃 show ip ospf interface brief ! P2P 링크 상태 show ip route 10.0.0.2 ! 원격 Leaf Loopback 도달 확인 ping 10.0.0.2 source loopback0 ! Loopback-to-Loopback 연결 ═══ NVE / VxLAN 상태 ═════════════════════════════════ show nve interface nve1 ! NVE 인터페이스 상태 show nve vni ! 전체 VNI 상태 (L2/L3 구분) show nve peers ! 원격 VTEP 피어 목록 show nve peers detail ! VNI별 피어 상세 show nve vni 10010 detail ! 특정 VNI 상세 ═══ BGP EVPN ═════════════════════════════════════════ show bgp l2vpn evpn summary ! EVPN BGP 피어 요약 show bgp l2vpn evpn ! 전체 EVPN 경로 show bgp l2vpn evpn type-2 ! MAC/IP 광고 경로만 show bgp l2vpn evpn type-3 ! Inclusive Multicast (BUM) show bgp l2vpn evpn type-5 ! IP Prefix (External) show bgp l2vpn evpn vni-id 10010 ! 특정 VNI 경로만 ═══ L2 / MAC 테이블 ══════════════════════════════════ show l2route evpn mac-ip all ! 전체 MAC/IP (L/R 구분) show l2route evpn mac-ip evi 10010 ! 특정 VNI MAC/IP show mac address-table vlan 10 ! VLAN10 MAC 테이블 show mac address-table dynamic ! 동적 학습된 MAC ═══ L3 / VRF 라우팅 ══════════════════════════════════ show ip route vrf TENANT-A ! VRF 라우팅 테이블 show ip arp vrf TENANT-A ! VRF ARP 테이블 show vrf detail TENANT-A ! VRF 상세 (VNI, RD, RT) ping 10.20.20.20 vrf TENANT-A ! VRF 내 엔드투엔드 핑 ═══ VxLAN 포워딩 테이블 ══════════════════════════════ show forwarding l2 vni 10010 ! L2VNI 포워딩 show forwarding route vrf TENANT-A ! VRF 포워딩 show system internal vxlan l2 mac ! 하드웨어 MAC 테이블 ═══ 패킷 캡처 / 디버그 ════════════════════════════════ debug nve all ! NVE 디버그 (프로덕션 주의) debug bgp l2vpn evpn updates ! BGP EVPN 업데이트 디버그 show tech-support vxlan ! 지원 케이스용 전체 덤프
트러블슈팅 순서 (Top-Down)
1
Feature 활성화 확인
show feature | grep nv — nv overlay, vn-segment-vlan-based 모두 Enabled 확인2
Underlay OSPF 수립 확인
show ip ospf neighbor → Spine 이웃 Full 상태. Loopback 간 Ping 성공 여부.3
BGP EVPN 세션 확인
show bgp l2vpn evpn summary → Spine RR와 Established. EVPN 경로 수 확인.4
NVE 피어 및 VNI 상태 확인
show nve peers → 원격 VTEP들 Up. show nve vni → 모든 VNI Up.5
MAC/IP 학습 확인
show l2route evpn mac-ip evi [VNI] → 원격 호스트 MAC/IP가 R(Remote)로 학습되었는지.6
VRF 라우팅 및 포워딩 확인
show ip route vrf TENANT-A → 원격 서브넷 경로. ping [dst] vrf TENANT-A 엔드투엔드 테스트.🏅 자격증 로드맵 & 학습 자료
| 자격증 | 시험 코드 | VxLAN/EVPN 범위 | 준비 기간 |
|---|---|---|---|
| CCNP Data Center | DCCOR 350-601 | VxLAN 기초, Spine-Leaf 설계 (Phase 0~2) | 6~9개월 |
| CCNP DCII (구 DCACI) | 300-620 | VxLAN EVPN 전체 (Phase 0~5) | +3개월 |
| CCIE Data Center | Lab 400-007 | VxLAN 설계+구현+트러블슈팅 풀 시나리오 | 1.5~2년+ |
| 유형 | 자료 | 링크/비고 |
|---|---|---|
| 공식 문서 | Cisco Nexus 9000 VxLAN Configuration Guide | cisco.com/go/nexus9000-config |
| RFC | RFC 7348 (VxLAN), RFC 7432 (EVPN), RFC 8365 (NVO3) | 표준 문서 |
| Cisco Live | BRKDCN-3040/3041 — VxLAN EVPN 심화 | ciscolive.com 아카이브 |
| dCloud Lab | NX-OS VxLAN EVPN 무료 실습 | dcloud.cisco.com |
| GitHub | cisco-dc-community/nexus-as-code | Ansible NX-OS 자동화 |
| 도서 | VXLAN Network Design (Cisco Press) | David Jansen 저 |
Cisco NX-OS VxLAN & VxLAN-EVPN Zero to Hero
Deep Dive · Spine-Leaf · BGP EVPN · Symmetric IRB · DCI · 프리세일즈 설계
VTEP/NVE
Spine-Leaf
BGP EVPN
L2VNI/L3VNI
CCNP DC
CCIE DC