L2VPN VXLAN 실습과 L3VPN VXLAN 실습의 가장 큰 차이는 바로 게이트웨이(라우팅 수행 주체)의 유무와 위치입니다.
📌 L2VPN VXLAN (Layer 2 VNI)
- 목적: 같은 서브넷에 있는 VM/서버들을, Leaf 스위치 간 VXLAN 캡슐화를 통해 Layer2 브로드캐스트 도메인처럼 연결.
- 특징:
- Leaf 스위치들은 단순히 브리지(VTEP 역할)로 동작.
- 서버가 같은 VLAN(→ 같은 VNI)에 있으면, 서로 다른 Leaf에 물려 있어도 L2 통신 가능.
- 라우팅(X), 브로드캐스트/멀티캐스트 기반 ARP 학습 필요.
📌 L3VPN VXLAN (Layer 3 VNI)
- 목적: 서로 다른 서브넷/VNI 간 통신을 지원합니다.
- 차이점:
- 게이트웨이 역할 필요
- 각 Leaf 스위치가 L3 Gateway(NVE → Anycast Gateway) 역할을 수행해야 함.
- 즉, 호스트는 Leaf 스위치를 게이트웨이로 보고 L3 통신을 수행. - VNI 구분
- 서브넷마다 별도의 L2 VNI를 가지고, Leaf에서 L3 VNI(라우팅 인스턴스)를 통해 연결. - 라우팅 테이블 (VRF)
- Leaf 스위치에 VRF가 필요하고, 각 VNI ↔ VRF 매핑이 이뤄짐.
- L2 VNI는 MAC 학습, L3 VNI는 IP 라우팅 수행. - 트래픽 처리 흐름
- L2VPN: 단순 캡슐화/디캡슐화 (MAC 기반 전달).
- L3VPN: 인그레스 Leaf에서 IP 라우팅 → 아웃그레스 Leaf의 VTEP으로 캡슐화 전달.
- 게이트웨이 역할 필요

설정 정보 (Leaf)
EVPN 컨트롤 플레인 없이 VXLAN L3VPN(VLAN 간 라우팅)을 구현하는 방식은, 각 Leaf 스위치가 독립적인 L3 게이트웨이 역할을 수행하도록 설정하는 것을 기본으로 합니다.
- 게이트웨이 SVI 생성: `interface Vlan10`, `interface Vlan20` 등에 IP 주소를 할당하여, 해당 VLAN에 속한 호스트들의 기본 게이트웨이(Default Gateway) 역할을 수행하도록 합니다.
- 로컬 라우팅: 스위치는 이 SVI를 통해 수신된 트래픽을 자신의 라우팅 테이블을 참조하여 다른 VLAN SVI로 직접 라우팅합니다. 이는 L3VNI를 사용하지 않고 각 Leaf가 개별적으로 L3 처리를 하는 전통적인 방식입니다.
[Leaf1] //Gateway용 SVI 추가
interface Vlan10
ip address 172.16.10.254/24
!
interface Vlan20
ip address 172.16.20.254/24
[host1,3]
ip route 172.16.20.0/24 172.16.10.1
[host2,4]
ip route 172.16.10.0/24 172.16.20.1
라우팅 테이블 확인
Spine 스위치의 라우팅 테이블을 확인하면 Leaf들의 VTEP IP(`10.1.1.x` 등)를 포함한 Underlay 네트워크 정보만 학습된 것을 볼 수 있습니다.
호스트가 사용하는 Overlay 대역(`172.16.x.x`)에 대한 경로는 존재하지 않으며, 이는 VXLAN 터널링에 관여하지 않고 오직 IP 패킷 전송 역할만 하는 Spine 스위치의 정상적인 상태입니다.
Spine1#show ip route ospf
...
O 2.2.2.2/32 [110/30]
via 10.0.11.3, Ethernet2
via 10.0.12.4, Ethernet3
via 10.0.13.5, Ethernet4
O 10.0.21.0/29 [110/20]
via 10.0.11.3, Ethernet2
O 10.0.22.0/29 [110/20]
via 10.0.12.4, Ethernet3
O 10.0.23.0/29 [110/20]
via 10.0.13.5, Ethernet4
O 10.1.1.1/32 [110/20]
via 10.0.11.3, Ethernet2
O 10.1.1.2/32 [110/20]
via 10.0.12.4, Ethernet3
O 10.1.1.3/32 [110/20]
via 10.0.13.5, Ethernet4
// bgp 라우팅 정보 없음
Spine1#show ip route bgp
...
Spine2#show ip route ospf
...
O 1.1.1.1/32 [110/30]
via 10.0.21.3, Ethernet2
via 10.0.22.4, Ethernet3
via 10.0.23.5, Ethernet4
O 10.0.11.0/29 [110/20]
via 10.0.21.3, Ethernet2
O 10.0.12.0/29 [110/20]
via 10.0.22.4, Ethernet3
O 10.0.13.0/29 [110/20]
via 10.0.23.5, Ethernet4
O 10.1.1.1/32 [110/20]
via 10.0.21.3, Ethernet2
O 10.1.1.2/32 [110/20]
via 10.0.22.4, Ethernet3
O 10.1.1.3/32 [110/20]
via 10.0.23.5, Ethernet4
// bgp 라우팅 정보 없음
Spine2#show ip route bgp
...
[Leaf1]
Leaf1#show ip route
...
O 1.1.1.1/32 [110/20]
via 10.0.11.1, Ethernet1
O 2.2.2.2/32 [110/20]
via 10.0.21.2, Ethernet2
O 10.0.0.0/29 [110/20]
via 10.0.11.1, Ethernet1
via 10.0.21.2, Ethernet2
O 10.0.12.0/29 [110/20]
via 10.0.11.1, Ethernet1
O 10.0.13.0/29 [110/20]
via 10.0.11.1, Ethernet1
O 10.0.22.0/29 [110/20]
via 10.0.21.2, Ethernet2
O 10.0.23.0/29 [110/20]
via 10.0.21.2, Ethernet2
O 10.1.1.2/32 [110/30]
via 10.0.11.1, Ethernet1
via 10.0.21.2, Ethernet2
O 10.1.1.3/32 [110/30]
via 10.0.11.1, Ethernet1
via 10.0.21.2, Ethernet2
C 172.16.10.0/24
directly connected, Vlan10
C 172.16.20.0/24
directly connected, Vlan20
...
[Leaf2]
Leaf2#show ip route
...
O 1.1.1.1/32 [110/20]
via 10.0.11.1, Ethernet1
O 2.2.2.2/32 [110/20]
via 10.0.21.2, Ethernet2
O 10.0.0.0/29 [110/20]
via 10.0.12.1, Ethernet1
via 10.0.22.2, Ethernet2
O 10.0.11.0/29 [110/20]
via 10.0.12.1, Ethernet1
O 10.0.13.0/29 [110/20]
via 10.0.12.1, Ethernet1
O 10.0.21.0/29 [110/20]
via 10.0.22.2, Ethernet2
O 10.0.23.0/29 [110/20]
via 10.0.22.2, Ethernet2
O 10.1.1.1/32 [110/30]
via 10.0.12.1, Ethernet1
via 10.0.22.2, Ethernet2
O 10.1.1.3/32 [110/30]
via 10.0.12.1, Ethernet1
via 10.0.22.2, Ethernet2
...
[Leaf3]
Leaf3#show ip route
...
O 1.1.1.1/32 [110/20]
via 10.0.11.1, Ethernet1
O 2.2.2.2/32 [110/20]
via 10.0.21.2, Ethernet2
O 10.0.0.0/29 [110/20]
via 10.0.13.1, Ethernet1
via 10.0.23.2, Ethernet2
O 10.0.11.0/29 [110/20]
via 10.0.13.1, Ethernet1
O 10.0.12.0/29 [110/20]
via 10.0.13.1, Ethernet1
O 10.0.21.0/29 [110/20]
via 10.0.23.2, Ethernet2
O 10.0.22.0/29 [110/20]
via 10.0.23.2, Ethernet2
O 10.1.1.1/32 [110/30]
via 10.0.13.1, Ethernet1
via 10.0.23.2, Ethernet2
O 10.1.1.2/32 [110/30]
via 10.0.13.1, Ethernet1
via 10.0.23.2, Ethernet2
...
MAC 학습 테이블
L3 게이트웨이를 위한 SVI를 설정하면 MAC 학습 테이블에 변화가 생깁니다. `show mac address-table`을 확인하면, 원격 호스트의 MAC 주소뿐만 아니라 게이트웨이 역할을 하는 Leaf1의 SVI MAC 주소(`001c.7329.8767`) 역시 `Vx1` 인터페이스를 통해 학습된 것을 볼 수 있습니다.
SVI가 설정된 Leaf1은 `show arp` 명령을 통해 로컬 및 원격 호스트의 IP와 MAC 매핑 정보를 모두 확인할 수 있습니다.
반면, SVI가 없는 Leaf2와 Leaf3는 Leaf1의 게이트웨이 MAC을 단순히 'VLAN 10에 속한 또 다른 원격 MAC'으로 간주하여 학습합니다.
Leaf1#show vxlan address-table
Vxlan Mac Address Table
----------------------------------------------------------------------
VLAN Mac Address Type Prt VTEP Moves Last Move
---- ----------- ---- --- ---- ----- ---------
10 0000.0000.3333 DYNAMIC Vx1 10.1.1.2 1 0:00:01 ago
20 0000.0000.4444 DYNAMIC Vx1 10.1.1.3 1 0:00:06 ago
Leaf1#show mac address-table
Mac Address Table
------------------------------------------------------------------
Vlan Mac Address Type Ports Moves Last Move
---- ----------- ---- ----- ----- ---------
10 0000.0000.1111 DYNAMIC Et3 1 0:00:13 ago
10 0000.0000.3333 DYNAMIC Vx1 1 0:00:12 ago
20 0000.0000.2222 DYNAMIC Et4 1 0:00:20 ago
20 0000.0000.4444 DYNAMIC Vx1 1 0:00:16 ago
// SVI 적용으로 leaf1에서만 arp 확인 가능
Leaf1#show arp
Address Age (sec) Hardware Addr Interface
10.0.11.1 0:11:49 aac1.ab02.a390 Ethernet1
10.0.21.2 0:11:34 aac1.ab11.87db Ethernet2
172.16.10.10 0:12:15 0000.0000.1111 Vlan10, Ethernet3
172.16.10.11 0:11:22 0000.0000.3333 Vlan10, Vxlan1
172.16.20.20 0:12:14 0000.0000.2222 Vlan20, Ethernet4
172.16.20.21 0:11:19 0000.0000.4444 Vlan20, Vxlan1
172.20.20.1 0:03:27 0242.a5d0.c79c Management0
[Leaf2]
Leaf2#show vxlan address-table
Vxlan Mac Address Table
----------------------------------------------------------------------
VLAN Mac Address Type Prt VTEP Moves Last Move
---- ----------- ---- --- ---- ----- ---------
10 0000.0000.1111 DYNAMIC Vx1 10.1.1.1 1 0:00:08 ago
10 001c.7329.8767 DYNAMIC Vx1 10.1.1.1 1 0:02:11 ago
Leaf2#show mac address-table
Mac Address Table
------------------------------------------------------------------
Vlan Mac Address Type Ports Moves Last Move
---- ----------- ---- ----- ----- ---------
10 0000.0000.1111 DYNAMIC Vx1 1 0:01:01 ago
10 0000.0000.3333 DYNAMIC Et3 1 0:03:04 ago
10 001c.7329.8767 DYNAMIC Vx1 1 0:03:05 ago
[GW Mac Address]
Leaf1: 001c.7329.8767 / 172.16.10.254
[Leaf3]
Leaf3#show vxlan address-table
Vxlan Mac Address Table
----------------------------------------------------------------------
VLAN Mac Address Type Prt VTEP Moves Last Move
---- ----------- ---- --- ---- ----- ---------
20 0000.0000.2222 DYNAMIC Vx1 10.1.1.1 1 0:04:47 ago
20 001c.7329.8767 DYNAMIC Vx1 10.1.1.1 1 0:02:31 ago
Leaf3#show mac address-table
Mac Address Table
------------------------------------------------------------------
Vlan Mac Address Type Ports Moves Last Move
---- ----------- ---- ----- ----- ---------
20 0000.0000.2222 DYNAMIC Vx1 1 0:00:12 ago
20 0000.0000.4444 DYNAMIC Et3 1 0:06:13 ago
20 001c.7329.8767 DYNAMIC Vx1 1 0:04:02 ago
[GW Mac Address]
Leaf1: 001c.7329.8767 / 172.16.20.254
Ping 테스트
[설정 적용 전]
L3VPN 설정 미 적용 시 다른 대역으로 통신은 불가합니다.
// [vlan10]
host1#ping 172.16.20.21
PING 172.16.20.21 (172.16.20.21) 72(100) bytes of data.
--- 172.16.20.21 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 41ms
// [vlan20]
host2#ping 172.16.10.11
PING 172.16.10.11 (172.16.10.11) 72(100) bytes of data.
--- 172.16.10.11 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 40ms
[설정 적용 후]
SVI 게이트웨이 설정 후, 호스트 간 통신을 확인합니다. Host1(VLAN 10)에서 같은 대역의 Host2 (`172.16.10.11`)뿐만 아니라, 다른 대역의 Host2/Host4 (`172.16.20.x`)로도 ping 통신이 성공하는 것을 확인할 수 있습니다.
이는 호스트가 다른 대역으로 통신할 때, 트래픽을 게이트웨이 SVI(Leaf1)로 보내고 Leaf1이 L3 라우팅을 수행한 뒤, VXLAN 터널을 통해 반대편 호스트로 정상 전달했음을 의미합니다. Host4(VLAN 20)에서 VLAN 10 대역으로의 ping 테스트 역시 성공하며, 양방향 L3VPN 연동이 되었음을 알 수 있습니다.
host1#ping 172.16.10.11
PING 172.16.10.11 (172.16.10.11) 72(100) bytes of data.
80 bytes from 172.16.10.11: icmp_seq=1 ttl=64 time=5.27 ms
80 bytes from 172.16.10.11: icmp_seq=2 ttl=64 time=2.70 ms
80 bytes from 172.16.10.11: icmp_seq=3 ttl=64 time=3.23 ms
host1#ping 172.16.20.20
PING 172.16.20.20 (172.16.20.20) 72(100) bytes of data.
80 bytes from 172.16.20.20: icmp_seq=1 ttl=63 time=1.83 ms
80 bytes from 172.16.20.20: icmp_seq=2 ttl=63 time=1.29 ms
80 bytes from 172.16.20.20: icmp_seq=3 ttl=63 time=1.04 ms
host1#ping 172.16.20.21
PING 172.16.20.21 (172.16.20.21) 72(100) bytes of data.
80 bytes from 172.16.20.21: icmp_seq=1 ttl=63 time=4.67 ms
80 bytes from 172.16.20.21: icmp_seq=2 ttl=63 time=3.94 ms
80 bytes from 172.16.20.21: icmp_seq=3 ttl=63 time=3.60 ms
host1#show arp
Address Age (sec) Hardware Addr Interface
172.16.10.11 1:18:39 0000.0000.3333 Vlan100, Ethernet1
172.16.10.254 0:00:00 001c.7329.8767 Vlan100, Ethernet1
host4#ping 172.16.20.20
PING 172.16.20.20 (172.16.20.20) 72(100) bytes of data.
80 bytes from 172.16.20.20: icmp_seq=1 ttl=64 time=7.07 ms
80 bytes from 172.16.20.20: icmp_seq=2 ttl=64 time=4.58 ms
80 bytes from 172.16.20.20: icmp_seq=3 ttl=64 time=2.94 ms
host4#ping 172.16.10.10
PING 172.16.10.10 (172.16.10.10) 72(100) bytes of data.
80 bytes from 172.16.10.10: icmp_seq=1 ttl=63 time=11.8 ms
80 bytes from 172.16.10.10: icmp_seq=2 ttl=63 time=4.13 ms
80 bytes from 172.16.10.10: icmp_seq=3 ttl=63 time=4.10 ms
host4#ping 172.16.10.11
PING 172.16.10.11 (172.16.10.11) 72(100) bytes of data.
80 bytes from 172.16.10.11: icmp_seq=1 ttl=63 time=7.65 ms
80 bytes from 172.16.10.11: icmp_seq=2 ttl=63 time=5.03 ms
80 bytes from 172.16.10.11: icmp_seq=3 ttl=63 time=5.36 ms
host4#show arp
Address Age (sec) Hardware Addr Interface
172.16.20.20 1:27:56 0000.0000.2222 Vlan100, Ethernet1
172.16.20.254 0:19:55 001c.7329.8767 Vlan100, Ethernet1
'Routing > VXLAN-EVPN' 카테고리의 다른 글
| [EVPN] EVPN 구성 필수 요소 (RD, RT, MP-BGP) (0) | 2025.12.27 |
|---|---|
| [EVPN] EVPN(Ethernet VPN) 이란? (+용어정리) (1) | 2025.12.20 |
| [VXLAN] VXLAN 연동 실습#1 - VXLAN L2VPN 연동 (0) | 2025.11.30 |
| [VXLAN] VXLAN Gateway의 종류와 동작 원리 (0) | 2025.11.23 |
| [VXLAN] VXLAN BGP EVPN 환경 ARP 통신 과정(ARP Suppression) (0) | 2025.11.16 |