[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능
이전 글에서 EVPN 패브릭의 기본 개념을 학습했다면, 이번에는 EVPN 환경을 한층 더 최적화하고 고도화하기 위한 추가 기능들을 살펴보겠습니다.
리프 스위치들 간에 발생하는 불필요한 브로드캐스트/멀티캐스트 프레임을 억제하여 네트워크 성능을 향상시키는 ARP 및 ND 억제(Suppression) 기능과 VXLAN/EVPN 패브릭 상에서 멀티캐스트 트래픽을 효율적으로 처리하기 위해 AOS-CX 스위치를 구성하는 방법을 알아볼게요. 그리고 기존 IPv4 언더레이(Underlay) 네트워크를 그대로 사용하여 오버레이(Overlay)에서 IPv6 트래픽을 전송함으로써, 현재의 IPv4 라우팅 환경을 변경하지 않고도 데이터센터에 IPv6를 배포하는 방법도 확인해보겠습니다.
ARP 및 ND 억제 (ARP and ND suppression)
EVPN ARP/ND 기본 동작
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 29](https://egstory.net/wp-content/uploads/2026/11/image-29-1024x402.png)
기본적으로 VTEP은 ARP(IPv4 주소 해석) 및 ND(IPv6 이웃 탐색) 프레임을 포함한 BUM(브로드캐스트, 알 수 없는 유니캐스트, 멀티캐스트) 프레임을 수신하면, 패킷이 들어온 인터페이스를 제외한 모든 로컬 사이트 방향 인터페이스로 플러딩(Flooding)합니다. 또한 출발지 VTEP은 이 플러딩된 프레임을 복제하여 해당 VXLAN에 속한 각 VXLAN 터널의 목적지 IP 주소로 복제본을 하나씩 전송합니다. 이를 수신한 각 목적지 VTEP은 캡슐화를 벗겨낸 내부 이더넷 프레임을 해당 VXLAN의 모든 로컬 사이트 방향 인터페이스로 다시 플러딩합니다.
이때 루프(Loop)를 방지하기 위해 목적지 VTEP들은 터널로 받은 프레임을 다른 VXLAN 터널로는 플러딩하지 않습니다.
VXLAN ARP/ND 억제 (VXLAN ARP/ND suppression)
VXLAN EVPN 분산형 L3 게이트웨이 배포 환경에서 ARP/ND 억제를 활성화하면 동작 방식이 훨씬 스마트해집니다.
네트워크가 연결된 VTEP을 통해 호스트를 발견하면, MP-BGP(EVPN Route Type 2)를 통해 해당 호스트의 MAC/IP 바인딩 정보를 다른 모든 VTEP들과 미리 공유합니다. 이렇게 BGP로 공유된 원격 ARP 엔트리는 일반적인 ARP 캐시처럼 시간이 지나도 만료(Time out)되지 않으며, 오직 출발지 VTEP에서 해당 MAC 주소가 더 이상 보이지 않을 때만 네트워크에서 제거됩니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 30](https://egstory.net/wp-content/uploads/2026/11/image-30.png)
위 그림은 Leaf-1에 연결된 VM(10.1.10.10)이 Leaf-2에 연결된 호스트(10.1.10.11)의 MAC 주소를 알기 위해 ARP 요청(Broadcast)을 전송하는 모습을 보여줍니다.
Leaf-1은 이미 MP-BGP를 통해 전달받은 로컬 캐시에 이 요청과 일치하는 매핑 엔트리를 가지고 있기 때문에, 이 ARP 요청을 다른 원격 VTEP들로 플러딩하지 않고 차단(Suppress)한 뒤, 자신이 10.1.10.11을 대신하여 로컬 VM에게 즉시 ARP 응답(Proxy ARP Reply)을 내려줍니다. 이때 응답 패킷에는 VTEP 자신의 MAC 주소가 아니라 실제 대상 호스트(10.1.10.11)의 MAC 주소가 출발지 MAC으로 담겨 전달됩니다.
만약 찾고자 하는 대상 주소가 로컬 ARP/ND 캐시에 존재하지 않는다면(예: 아직 한 번도 통신하지 않은 침묵 호스트인 경우), 그때는 기존 방식대로 VXLAN 패브릭 전체로 요청 패킷이 전송되어 주소를 찾아냅니다. 동일한 VLAN 및 서브넷에 있는 장치들에 대한 IPv6 ND 요청(Neighbor Solicitation)에서도 이와 동일한 트래픽 억제 효과를 얻을 수 있습니다.
VXLAN ARP/ND 억제 설정 (VXLAN ARP/ND suppression configuration)
ARP 및 ND 억제는 기본적으로 비활성화(Disabled)되어 있습니다. 이를 활성화하려면 config-evpn 컨텍스트 레벨에서 arp-suppression 및 nd-suppression 명령어를 입력합니다.
arp-suppression: VTEP에 구성된 모든 계층 2 VNI에 걸쳐 전역적으로(Globally) EVPN-VXLAN에 대한 ARP 억제를 활성화합니다. 대상 주소가 이웃 캐시(Neighbor cache)에 존재하면 스위치가 브로드캐스트 또는 유니캐스트 ARP 요청에 직접 응답합니다. 기본값은 비활성화 상태입니다. 만약 대상 IP/MAC이 캐시에 없으면 스위치는 이웃 확인(Neighbor resolution)을 위해 VXLAN 데이터 플레인을 통해 ARP 요청을 포워딩합니다.nd-suppression: EVPN-VXLAN에 대해 전역적으로 ND 억제를 활성화합니다. 대상 주소가 캐시에 존재하면 스위치가 IPv6 멀티캐스트 또는 유니캐스트 이웃 요청(Neighbor Solicitation)에 직접 응답합니다. 기본값은 비활성화 상태입니다.
이 문서 작성 시점을 기준으로, 구형 아키텍처 기반인 CX 8400 플랫폼은 하드웨어 제약으로 인해 ARP 및 ND 억제를 지원하지 않습니다.
리프(Leaf) EVPN 샘플 설정
switch(config)# evpn
switch(config-evpn)# arp-suppression
switch(config-evpn)# nd-suppression
switch(config-evpn)# vlan 10
switch(config-evpn-vlan-10)# rd auto
switch(config-evpn-vlan-10)# route-target import auto
switch(config-evpn-vlan-10)# route-target export auto
switch(config-evpn-vlan-10)# redistribute host-route
L2 멀티캐스트 포워딩 (Layer 2 forwarding multicast)
IGMP 스누핑을 활용한 멀티캐스트 (Multicast with IGMP snooping)
IGMP 스누핑(IGMP snooping)은 멀티캐스트 포워딩 효율성을 높이기 위해 L2 장비에서 동작하는 멀티캐스트 제한(억제) 메커니즘입니다.
호스트와 라우터 간에 교환되는 IGMP 패킷을 엿듣고 분석하여 L2 멀티캐스트 포워딩 엔트리를 생성합니다.
IGMP 스누핑을 활성화하면 VXLAN EVPN 환경에서 멀티캐스트가 전달되는 기본 동작이 완전히 바뀝니다.
기본적으로 L2 멀티캐스트는 BUM 트래픽으로 취급되어 동일한 VNI에 있는 모든 피어 VTEP들에게 무조건 플러딩됩니다. 하지만 IGMP 스누핑을 활성화하면, 멀티캐스트 소스(발신자)와 가까운 출발지 VTEP은 원격지로부터 IGMP Join(가입 요청) 패킷을 수신하기 전까지는 멀티캐스트 트래픽을 터널로 전달하지 않습니다.
그러다 특정 원격 VTEP으로부터 IGMP Join을 수신하면, 그제야 해당 VXLAN 터널 인터페이스를 출구 포트 목록(Egress port list)에 추가하고 그 목적지로만 멀티캐스트 트래픽을 보내기 시작합니다. 즉, 실제로 멀티캐스트 수신자(Receiver)가 연결된 VTEP만 해당 트래픽을 수신하게 되어 대역폭 낭비를 막습니다.
이때 수신자가 보낸 IGMP Join 패킷 자체는 어디에 소스와 쿼리어(Querier)가 있는지 모든 스위치가 알아야 하므로 동일한 VNI에 있는 모든 VTEP들에게 플러딩된다는 점에 유의하세요.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 31](https://egstory.net/wp-content/uploads/2026/11/image-31-1024x577.png)
IGMP 스누핑 설정 (IGMP snooping configuration)
기본적으로 AOS-CX 스위치에서 IGMP 스누핑은 비활성화되어 있습니다.
이를 활성화하려면 VLAN 설정 컨텍스트(config-vlan)로 진입하여 ip igmp snooping enable 명령어를 입력해야 합니다. 비활성화하려면 ip igmp snooping disable 옵션을 사용합니다.
특히 VSX 페어로 묶인 스위치를 VTEP으로 사용할 때는, 로컬 SVI 정보를 재분배(redistribute local-svi)하도록 스위치를 반드시 구성해야 합니다.
이렇게 하면 EVPN이 활성화된 VLAN에 해당하는 SVI 인터페이스의 로컬 IP 주소와 MAC 주소에 대해 EVPN Type-2 경로 광고가 활성화되어, 원격 호스트들과 스위치들이 IGMP 쿼리어(Querier)의 MAC 주소를 정상적으로 학습할 수 있게 됩니다.
IGMP 스누핑 활성화
switch(config)# vlan <VLAN-ID>
switch(config-vlan)# ip igmp snooping enable
VSX 페어 환경에서 필수적인 로컬 SVI 재분배 설정
switch(config)# evpn
switch(config-evpn)# redistribute local-svi
IGMP 스누핑 모니터링 (Monitoring IGMP snooping)
모든 IGMP 스누핑 그룹이나 소스 정보를 포함하여 특정 VLAN에 대한 IGMP 스누핑 그룹 세부 정보를 확인하려면 show ip igmp snooping vlan <VLAN-ID> group 명령어를 사용합니다.
예를 들어:
VTEP-1# show ip igmp snooping vlan 10 group 239.10.10.1
IGMP ports and group information for group 239.10.10.1
VLAN ID : 10
VLAN Name : VLAN10
Group Address : 239.10.10.1
Last Reporter : 100.3.3.109
Group Type : Filter
V1 V2 Sources Sources
Port Vers Mode Uptime Expires Timer Timer Forwarded Blocked
--------- ---- ---- -------- ------- ----- ----- --------- -------
vxlan1(3.3.3.3) 2 EXC 5h 24m 3m 38s 3m 38s 0 0
위 출력 결과를 통해 멀티캐스트 그룹 239.10.10.1에 대한 출력 인터페이스(Outgoing interface)가 피어 3.3.3.3으로 향하는 VXLAN 터널(vxlan1(3.3.3.3))로 정확히 매핑되어 있음을 확인할 수 있습니다.
L3 멀티캐스트 라우팅 – PIM-SM (Multicast routing – PIM-SM)
멀티캐스트 라우팅 프로토콜이 실행되지 않으면, 네트워크는 라우팅 인터페이스(L3 서브넷) 경계에서 멀티미디어 애플리케이션 등이 전송하는 IP 멀티캐스트 트래픽을 차단합니다.
PIM(Protocol Independent Multicast)은 IGMP 및 MLD(IPv6용)와 같은 프로토콜을 사용하여 트래픽을 요청하는 각 서브넷들로 멀티캐스트 소스 트래픽을 전달하기 위해 멀티캐스트 분배 트리(Multicast trees)를 형성하는 멀티캐스트 라우팅 프로토콜 제품군입니다.
HPE는 EVPN을 사용하는 데이터센터에 분산형 L3 게이트웨이(대칭 IRB / Symmetric IRB)를 권장하므로, 서로 다른 서브넷 간에 멀티캐스트를 라우팅하기 위해 PIM-SM(PIM-Sparse Mode)을 구성해야 합니다. 이렇게 하면 멀티캐스트 소스와 수신자가 서로 다른 랙과 서로 다른 서브넷(VLAN)에 흩어져 있더라도 원활하게 통신할 수 있습니다.
PIM-SM은 물리적 포트, VLAN 인터페이스(SVI), LAG 인터페이스 및 루프백 인터페이스에 구성할 수 있으며, 모든 설정은 해당 인터페이스 컨텍스트 내에서 작동합니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 32](https://egstory.net/wp-content/uploads/2026/11/image-32-1024x503.png)
PIM-SM이 활성화되면, 멀티캐스트 소스에 가장 가까운 VTEP은 수신 측으로부터 명시적인 요청(PIM Join)을 받은 후에만 멀티캐스트 패킷을 전송합니다.
위 그림의 예시는 소스 VTEP(VTEP-1)이 동시에 PIM-SM을 위한 랑데부 포인트(RP, Rendezvous Point – 멀티캐스트의 만남의 광장 역할) 역할도 겸하는 토폴로지를 보여줍니다:
- VTEP-2가 자신에게 연결된 서버 중 하나로부터 IGMP Join 패킷을 수신합니다.
- VTEP-2는 테넌트의 공용 라우팅 터널인 L3 VNI(65000)를 통해 RP이자 소스인 VTEP-1에게 PIM Join 패킷을 보냅니다.
- 이를 받은 VTEP-1은 자신의 멀티캐스트 라우팅 테이블(
mroute테이블)에 계층 3 VNI(65000)를 출력 인터페이스(Outgoing interface)로 추가합니다. - 이후 VTEP-1은 VTEP-2와 VTEP-3를 포함하여 이 L3 VNI(65000)에 속한 피어들에게 멀티캐스트 트래픽을 전송하기 시작합니다.
- VTEP-2는 수신한 멀티캐스트 데이터를 서버가 있는 VLAN(VLAN 20)으로 라우팅하며, 그 안에서는 IGMP 및 IGMP 스누핑이 최종 계층 2 멀티캐스트 전달을 처리합니다. 반면 수신자가 없는 VTEP-3는 해당 트래픽을 내보낼 출력 인터페이스가 없으므로 패킷을 즉시 폐기(Drop)합니다.
대칭 라우팅 – RP가 소스로부터 떨어져 있는 경우 (Symmetric routing – RP away from the source)
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 34](https://egstory.net/wp-content/uploads/2026/11/image-34-1024x498.png)
위 그림에서는 랑데부 포인트(RP, VTEP-3)가 멀티캐스트 소스(VTEP-1)로부터 물리적으로 떨어져 있으며, 이 경우 처리 과정이 약간 달라집니다:
- 멀티캐스트 소스에 가장 가까운 VTEP-1이 새로운 멀티캐스트 플로우(스트림)를 수신하면, 먼저 RP(VTEP-3)에게 새로운 멀티캐스트 플로우가 시작되었음을 알리는 PIM Register(등록) 메시지를 유니캐스트로 보냅니다.
- 그 후, 새로운 멀티캐스트 수신자(서버)가 자신의 스위치(VTEP-2)에게 IGMP Join을 보내면, VTEP-2는 RP(VTEP-3)를 향해 PIM Join 메시지를 생성하여 전송합니다.
- RP 역할을 하는 VTEP-3는 이 PIM Join 메시지를 받아 실제 소스가 있는 VTEP-1에게 대신 전달(Proxy)해 줍니다.
- VTEP-1은 자신의
mroute테이블에 L3 VNI(65000)를 출력 인터페이스로 추가하고, 해당 L3 VNI에 속한 모든 VTEP들로 멀티캐스트 스트림을 포워딩하기 시작합니다(최적 경로인 SPT로 전환).
VSX 환경에서의 멀티캐스트 설계 고려사항 (VSX – Design considerations)
멀티캐스트 라우팅이 필요한 환경에서 VSX 페어로 묶인 스위치를 리프 노드로 구성할 때는 분산형 게이트웨이(대칭 라우팅 / Symmetric routing)를 사용하는 것이 모범 사례(Best Practice)입니다. 이때 VSX 스위치들에 ip pim vsx-virtual-neighbor 명령어를 구성하여, 두 스위치(Primary 및 Secondary) 모두가 동시에 지정 라우터(DR, Designated Router)로 동작할 수 있도록 활성화해야 합니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 33](https://egstory.net/wp-content/uploads/2026/11/image-33.png)
또한 단일 장애점(SPOF)을 없애고 부하를 분산하기 위해, 애니캐스트 IP(Anycast IP)를 사용하여 두 대 이상의 스위치를 RP(랑데부 포인트)로 구성(Anycast RP)하는 것이 모범 사례입니다.
L2 확장이 있는 VSX 보더 VTEP – 멀티캐스트 소스 측 시나리오 (VSX Border VTEP with L2 extension – source case)
이제 VSX 페어 스위치가 멀티캐스트 소스에 가까운 VTEP(VTEP-1)으로 동작하는 시나리오를 살펴보겠습니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 35](https://egstory.net/wp-content/uploads/2026/11/image-35-1024x472.png)
앞서 설정한 대로 VSX 페어의 두 스위치 모두 DR로 동작한다는 점을 기억해주세요.
- 원격의 VTEP-2가 서버로부터 IGMP Join 패킷을 수신하여 새로운 멀티캐스트 수신자가 생겼음을 학습합니다.
- VTEP-2는 소스 측인 VTEP-1(VSX 페어)로 PIM Join 메시지를 보냅니다.
- 언더레이의 ECMP(동일 비용 다중 경로) 라우팅으로 인해, VSX의 Primary 또는 Secondary 스위치 중 어느 한쪽이 이 PIM Join 패킷을 수신하게 됩니다.
- 어느 스위치든 이 Join 메시지를 수신한 쪽이 메시지를 처리한 뒤, ISL(Inter-Switch Link) 링크를 통해 자신의 VSX 피어에게 복사본을 전달합니다. 이를 통해 두 스위치 모두 각자의
mroute테이블 출력 인터페이스 목록에 L3 VNI를 동일하게 포함하도록 동기화합니다.
이후 VTEP-1(VSX 페어)이 실제 멀티캐스트 트래픽을 받아 원격 VTEP-2로 포워딩할 때는, 패킷이 중복 전송되는 것을 막기 위해 스위치 하드웨어 모델 시리즈에 따라 서로 다른 동작 방식을 보입니다:
- HPE Aruba Networking CX 6300 시리즈, CX 6400 시리즈, CX 8360 시리즈 스위치: 서버로부터(LAG 해싱 등을 통해) 실제로 멀티캐스트 트래픽을 수신한 바로 그 스위치가 VXLAN 터널로 직접 포워딩합니다.
- HPE Aruba Networking CX 8320 시리즈, CX 8325 시리즈, CX 8400 시리즈 스위치: VSX 페어가 정상 활성화되어 있고 동기화(In-sync)된 상태라면, 오직 Primary 스위치만 VTEP-2로 멀티캐스트 트래픽을 포워딩합니다. Secondary 스위치는 ISL 링크가 끊어지고 Keep-Alive마저 실패한 장애 상황에서만 멀티캐스트 트래픽을 포워딩합니다.
L2 확장이 있는 VSX 보더 VTEP – 멀티캐스트 수신자 측 시나리오 (VSX border VTEP with L2 extension – receiver case)
이번에는 멀티캐스트 수신자가 자신의 게이트웨이(VSX 페어)로 IGMP Join 메시지를 보낼 때의 수신자 측 동작을 살펴보겠습니다:
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 36](https://egstory.net/wp-content/uploads/2026/11/image-36-1024x439.png)
- 링크 어그리게이션(MC-LAG) 부하 분산으로 인해 VSX 스위치 중 어느 한 대가 IGMP Join 트래픽을 수신합니다.
- 트래픽을 수신한 스위치는 이를 처리하고 VSX 피어에게 알립니다. 그러면 Primary와 Secondary 스위치 둘 다 PIM Join 패킷을 생성하여 원격 피어 VTEP으로 전송합니다.
- 소스 측 피어 VTEP은
mroute테이블의 출력 인터페이스 목록에 L3 VNI를 추가하고 멀티캐스트 트래픽을 라우팅하여 보내기 시작합니다. - 언더레이 ECMP로 인해 수신 측 VSX 스위치 중 한 대가 캡슐화된 멀티캐스트 트래픽을 수신하게 되며, 패킷을 수신한 바로 그 스위치가 캡슐화를 해제하고 서버 VLAN으로 멀티캐스트를 라우팅하여 전달합니다.
PIM-SM – 리프 스위치 설정 (PIM SM – Leaf configuration)
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 37](https://egstory.net/wp-content/uploads/2026/11/image-37.png)
전통적인 데이터센터 네트워크에서 PIM-SM을 구성하는 것과 VXLAN/EVPN 환경에서 구성하는 것 사이에는 명령어상 차이가 없습니다.
기본적으로 PIM은 전역(Global) 레벨에서 비활성화되어 있습니다.
설정 컨텍스트에서 이를 활성화하려면 먼저 테넌트 VRF에 대해 router pim [vrf <VRF-NAME>] 명령어를 입력한 다음, enable 명령어와 rp-address(랑데부 포인트 주소)를 입력해야 합니다.
전역 레벨에서 활성화한 후에는, 멀티캐스트 소스와 수신자가 존재할 것으로 예상되는 모든 VLAN 인터페이스(SVI)에서 PIM을 활성화(ip pim-sparse enable)해야 합니다.
이때 VLAN 내부에서의 멀티캐스트 전달을 관리하기 위해 SVI에 IGMP(ip igmp enable)도 함께 구성해야 한다는 점을 잊지 말아야 합니다.
Leaf1a#
router pim vrf VRF1
enable
rp-address 192.168.200.8
!
interface vlan10
vrf attach VRF1
ip address 10.10.10.2/24
active-gateway ip mac 12:00:00:00:01:00
active-gateway ip 10.10.10.1
ip pim-sparse enable
ip igmp enable
멀티캐스트 검증 및 확인 (Verification)
- PIM 이웃(Neighbor) 확인: 멀티캐스트 라우팅 환경을 모니터링하는 첫 번째 단계는
show ip pim neighbor [<IP-ADDR>] [all-vrfs | vrf <VRF-NAME>] [vsx-peer]명령어를 사용하여 PIM 이웃을 확인하는 것입니다. 아래 예시처럼 모든 PIM 이웃이 표시되며, 특히 원격 이웃인192.168.11.5가 물리 포트가 아닌 VXLAN 터널(L3 VNI인vni100001)을 통해 도달 가능하다는 점을 주목하세요.
Leaf1a# show ip pim neighbor vrf VRF1
PIM Neighbor
VRF : VRF1
Total number of neighbors : 2
IP Address : 10.10.10.3
Interface : vlan10
Up Time (HH:MM:SS) : 3 days 02:49:07
Expire Time (HH:MM:SS) : 00:01:44
DR Priority : 1
Hold Time (HH:MM:SS): 00:01:45
IP Address : 192.168.11.5
Interface : vni100001
Up Time (HH:MM:SS) : 3 days 02:49:43
Expire Time (HH:MM:SS) : 00:01:45
DR Priority : 1
Hold Time (HH:MM:SS): 00:01:45
- 멀티캐스트 라우팅 테이블(mroute) 확인: 두 번째 검증 단계는
show ip mroute [all-vrfs | vrf <VRF-NAME>] [vsx-peer]명령어를 사용하여 멀티캐스트 라우팅 테이블을 확인하는 것입니다. 아래 예시에서 들어오는 인터페이스(Incoming interface)가vlan10인데, 이는 멀티캐스트 소스가 이 VTEP의 VLAN 10에 직접 연결되어 있음을 의미합니다. 다음으로 나가는 인터페이스(Outgoing Interface List)가vni100001로 표시되는데, 이는 다른 원격 VTEP에 연결된 멀티캐스트 수신자가 이 멀티캐스트 플로우를 요청하여 L3 VNI 터널로 포워딩(forwarding) 중임을 의미합니다. - RP 설정 확인: 멀티캐스트 라우팅 환경을 모니터링하는 또 다른 유용한 명령어는
show ip pim rp-set [all-vrfs | vrf <VRF-NAME>] [vsx-peer]로, 현재 적용된 RP 주소를 검증할 수 있습니다.
Leaf1a# show ip mroute vrf VRF1
IP Multicast Route Entries
VRF : VRF1
Total number of entries : 1
Group Address : 239.10.10.10
Source Address : 10.10.10.12
Neighbor :
Incoming interface : vlan10
Outgoing Interface List :
Interface State
----------- ----------
vni100001 forwarding
Leaf1a# show ip pim rp-set vrf VRF1
VRF: VRF1
Status and Counters - PIM-SM Static RP-Set Information
Group Address Group Mask RP Address Override
--------------- --------------- --------------- --------
224.0.0.0 240.0.0.0 192.168.200.8 No
오버레이 네트워크에서의 IPv6 라우팅 (IPv6 routing at the overlay network)
VXLAN EVPN에서의 IPv6 지원
AOS-CX 소프트웨어 버전 10.6 이상을 실행하는 스위치는 VXLAN EVPN 패브릭의 오버레이 네트워크에서 IPv6 라우팅을 지원합니다.
이때 언더레이(Underlay) 네트워크는 기존 그대로 IPv4로 작동하며, 내부의 IPv6 패킷들이 외부 IPv4 헤더(Outer IPv4 header)로 캡슐화되어 전송되므로 언더레이 인프라에 IPv6를 새로 배포할 필요가 전혀 없습니다. 서버들의 게이트웨이 역할을 하는 VTEP들은 순수 IPv6 전용(IPv6 only) 또는 IPv4/IPv6 듀얼 스택(Dual-stack)으로 작동할 수 있습니다.
현재 소프트웨어는 서버 주소 할당 방식으로 SLAAC(Stateless Address Autoconfiguration, 무상태 주소 자동 설정) 및 정적(Static) 주소 할당을 지원하지만, IPv6 DHCP 릴레이(DHCPv6 relay)는 지원하지 않습니다. 또한 AOS-CX 스위치는 서로 다른 VRF 간에 IPv6 경로를 주고받아 통신할 수 있도록 하는 IVRL(Inter-VRF Route Leaking) 기능도 지원합니다.
추가로 오버레이에서 IPv6 라우팅을 지원하는 하드웨어 모델은 CX 6300, CX 6400, CX 8325, CX 8360 및 CX 8400 시리즈 스위치입니다.
데이터센터 분산형 L3 게이트웨이 사용 사례 (Data center distributed L3 gateway use case)
오버레이에서 IPv6 라우팅을 사용하는 가장 대표적인 사례는 이미 IPv4를 사용하는 안정적인 언더레이 네트워크를 보유한 데이터센터에서, 현재의 IPv4 라우팅 환경을 일절 수정하지 않고 서버단에 IPv6를 도입하려는 경우입니다. 이 방식을 사용하면 기존의 언더레이 라우팅(OSPF, BGP, 루프백 IPv4 주소 체계 등)을 그대로 유지하면서 순수 IPv6 오버레이 또는 듀얼 스택 오버레이를 손쉽게 배포할 수 있습니다. 소프트웨어는 분산형 라우팅과 중앙 집중식 라우팅을 모두 지원하며, HPE는 분산형 라우팅(Symmetric IRB)을 모범 사례로 권장합니다.
그림 12-10: 분산형 L3 게이트웨이
듀얼 스택 구성 (Dual-stack configuration)
VSX 페어로 묶인 스위치에서 IPv6를 구성할 때는, 각 스위치의 SVI 자체 주소로는 글로벌 유니캐스트 주소(Global Unicast Address)를 사용하고, 두 스위치가 공유하는 액티브 게이트웨이(Active Gateway) 주소로는 반드시 링크 로컬 IP(fe80:: 대역)를 사용해야 합니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 38](https://egstory.net/wp-content/uploads/2026/11/image-38-1024x528.png)
interface vlan10
vrf attach VRF1
ip address 10.1.10.2/24
active-gateway ip mac 12:00:00:00:01:00
active-gateway ip 10.1.10.1
ipv6 address 2001:db8:1:10::2/64
active-gateway ipv6 mac 12:00:00:00:01:00
active-gateway ipv6 fe80:10:1:10::1
이때 IPv4 액티브 게이트웨이와 IPv6 액티브 게이트웨이에 반드시 동일한 가상 MAC 주소(
12:00:00:00:01:00)를 사용해야 합니다.
SLAAC 활성화 (Enabling SLAAC)
앞서 언급했듯이 현재 소프트웨어는 DHCPv6 릴레이를 지원하지 않습니다.
따라서 서버에 자동으로 IPv6 주소를 할당하려면 SLAAC을 사용할 수 있습니다. 스위치가 전송하는 라우터 광고(RA, Router Advertisement) 메시지를 사용하여 서버들에게 네트워크 프리픽스, RDNSS(재귀 DNS 서버 주소) 등을 알려주어야 합니다.
ipv6 nd prefix 2001:db8:1:10::/64
ipv6 nd ra dns server 2001:db8:1::2
ipv6 nd ra dns search-list arubanetworks.com
no ipv6 nd suppress-ra
no ipv6 nd suppress-ra dnssl
no ipv6 nd suppress-ra rdnss
위의 예시는 스위치가 RA 메시지를 통해 프리픽스, DNS 검색 목록(Search list), RDNSS를 포함한 정보를 서버들에게 제공하도록 하는 샘플 구성입니다. 각 명령어의 상세 역할은 다음과 같습니다:
ipv6 nd prefix: 라우팅 스위치가 해당 인터페이스에서 전송하는 RA 메시지에 포함할 IPv6 네트워크 프리픽스를 지정합니다. IPv6 호스트들은 RA에 담긴 이 프리픽스를 사용하여 자신의 글로벌 유니캐스트 주소를 스스로 자동 구성(Auto-configure)합니다. 자동 구성된 호스트 주소는 광고된 64비트 프리픽스와 호스트의 현재 링크 로컬 주소에 있는 인터페이스 식별자(64비트 EUI-64 등)가 결합되어 만들어집니다.ipv6 nd ra dns server: 인터페이스에서 전송되는 RA 메시지에 포함할 기본 재귀 DNS 서버(RDNSS)의 IPv6 주소를 구성합니다.ipv6 nd ra dns search-list: 인터페이스에서 전송되는 RA에 포함할 DNS 검색 목록(DNSSL)을 구성합니다.- DNSSL은 짧은 비정규화(Unqualified) 도메인 이름에 대한 DNS 쿼리 시 뒤에 자동으로 덧붙일 DNS 접미사(Suffix) 도메인 이름들을 포함합니다.
- 이 명령어를 반복해서 입력하여 여러 개의 DNS 도메인 이름을 DNSSL에 추가할 수 있습니다.
- 최대 8개의 서버 주소가 허용됩니다.
ipv6 nd suppress-ra: 인터페이스에서 IPv6 라우터 광고(RA) 전송을 억제(차단)하도록 구성합니다(SVI에서는 기본적으로 억제되어 있는 경우가 많으므로, RA를 보내려면 위 예시처럼no형태(no ipv6 nd suppress-ra)를 입력하여 IPv6 라우터 광고 및 옵션 전송을 복원(활성화)해야 합니다).nd suppress-ra의 세부 옵션:DNSSL: RA 메시지에서 DNSSL 옵션 전송을 억제합니다.MTU: RA 메시지에서 MTU 옵션 전송을 억제합니다.RDNSS: RA 메시지에서 RDNSS 옵션 전송을 억제합니다.
MP-BGP 설정 (MP-BGP)
IPv4 언더레이가 오버레이 네트워크의 IPv6 패킷을 실어 나르기 때문에, 스파인과 리프 간의 기본 MP-BGP EVPN 세션 구성은 앞선 이더넷 VPN 모듈의 IPv4 구성과 완전히 동일합니다.
다만 BGP가 테넌트의 IPv6 주소와 프리픽스를 EVPN으로 광고할 수 있도록 허용하려면, 해당 VRF 하위에서 IPv6 주소 패밀리(address-family ipv6 unicast)를 활성화하고 직접 연결된 네트워크를 재분배(redistribute connected)해 주어야 합니다.
router bgp 65001
# (기본 EVPN BGP 설정 생략 - IPv4용 MP-BGP EVPN 설정과 차이 없음) #
vrf VRF1
address-family ipv6 unicast
redistribute connected
IPv6 오버레이 검증 (Validating)
IPv6 주소 패밀리를 활성화한 후에는 show ipv6 neighbors {all-vrfs | vrf <VRF-NAME>} [vsx-peer] 명령어를 입력하여 다른 원격 VTEP들로부터 학습된 IPv6 이웃들로 IPv6 이웃 목록(ND 테이블)이 정상적으로 채워지고 있는지 모니터링합니다.
MP-BGP에 의해 새로운 이웃들과 프리픽스가 광고되면, IPv6 라우팅 테이블에서 해당 엔트리들을 찾을 수 있습니다.
아래의 IPv6 라우팅 테이블 예시에서, VXLAN 피어 192.168.11.5(IPv4 언더레이 주소)의 L3 VNI 100001을 통해 원격 서버 2001:db8:1:12:80a0:5d8b:f992:cb1d/128에 도달할 수 있음에 유의하세요.
IPv6 이웃(Neighbors) 확인
Leaf1# show ipv6 neighbors vrf VRF1
IPv6 Address MAC Port Physical Port State VRF
-------------------------------- ----------------- ------ ------------- --------- ----
fd00:10:1:10:404b:2df2:1c01:c8b1 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
fe80::f4af:f785:51cb:403c 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
fd00:10:1:10:50e6:7e3c:6b9d:5f36 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
fd00:10:1:10:98ff:91d8:a9a8:f80 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
fd00:10:1:10:74aa:c745:850c:a2ed 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
fd00:10:1:10:4cad:545c:70e4:e6de 00:50:56:8e:cf:69 vlan10 lag2 reachable VRF1
Total Number Of IPv6 Neighbors Entries Listed- 6.
IPv6 라우팅 테이블(Routes) 확인
Leaf1# show ipv6 route vrf VRF1
Displaying ipv6 routes selected for forwarding
'[x/y]' denotes [distance/metric]
fd00:10:1:10::/64, vrf VRF1
via vlan10, [0/0], connected
2001:db8:1:12::/64, vrf VRF1
via 192.168.11.5[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
2001:db8:1:12:80a0:5d8b:f992:cb1d/128, vrf VRF1
via 192.168.11.5[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
IVRL (Inter-VRF Route Leaking) 구성 및 검증
IVRL – 설정 (IVRL – Configuration)
IPv6 오버레이 환경이 외부 네트워크나 공용 서비스 VRF와 통신할 수 있도록 허용하려면, IPv6 오버레이 VRF와 외부 VRF 간에 경로를 상호 누출(교환)시키는 IVRL(VRF 간 라우트 리킹)을 사용해야 합니다. 아래 예시는 외부와 연결된 보더 VTEP(Leaf-1)과 내부 서버가 연결된 컴퓨트 VTEP(Leaf-2)의 구성을 보여줍니다.
![[ACP-DC 교육#16] 이더넷 VPN(EVPN) 추가 기능 - image 39](https://egstory.net/wp-content/uploads/2026/11/image-39.png)
보더 스위치인 Leaf-1에서는 각 VRF마다 고유한 RD를 구성한 다음, EVPN 환경과 내부 VRF(VRF1) 간에 경로를 가져오고 내보낼 수 있도록 EVPN용 경로 타겟(route-target ... evpn)을 생성합니다. 그다음, 두 VRF(VRF1과 SERVICES) 간에 로컬 경로 누출(Route leak)을 제어하기 위해 address-family ipv6 unicast를 구성합니다.
여기서 핵심은 두 VRF(VRF1과 SERVICES) 간에 route-target import와 export 값이 서로 교차(반전)되도록 설정하여 두 VRF 사이에 경로가 서로 넘나들 수(Leak) 있도록 만든다는 점입니다(65001:601과 65001:605를 서로 크로스 매칭).
다른 일반 리프 스위치들에서는 약간의 변경만 필요합니다. 예를 들어 내부 스위치인 Leaf-2는 SERVICES VRF를 직접 알 필요 없이, IPv6 VRF(VRF1)와 EVPN 환경 간의 기본 route-target import/export evpn(65001:1)만 가지고 있으면 Leaf-1이 EVPN으로 광고해 주는 외부 경로를 그대로 받아 쓸 수 있습니다.
보더 VTEP / Leaf 1 설정:
vrf VRF1
rd 192.168.1.3:1
route-target export 65001:1 evpn
route-target import 65001:1 evpn
address-family ipv6 unicast
route-target export 65001:601
route-target import 65001:605
vrf SERVICES
rd 192.168.1.3:5
address-family ipv6 unicast
route-target export 65001:605
route-target import 65001:601
컴퓨트 VTEP / Leaf 2 설정:
vrf VRF1
rd 192.168.1.5:1
route-target export 65001:1 evpn
route-target import 65001:1 evpn
IVRL – 검증 (IVRL – Validating)
IVRL 동작을 검증하는 한 가지 방법은 IPv6 라우팅 테이블을 확인하는 것입니다.
아래 예시는 이전 설정에 대한 출력 결과를 보여줍니다.
보더 리프(Leaf 1)는 로컬에서 리킹된 SERVICES VRF(via 2001:192:168:4::[vrf SERVICES])를 통해 외부 호스트 2001:192:168:200::1/128로 가는 경로를 가지고 있는 반면, 원격 스위치인 Leaf 2는 보더 리프인 Leaf 1(192.168.11.3)의 VXLAN 터널(l3vni 100001)을 통해 해당 외부 호스트로 가는 경로를 정상적으로 학습했음을 확인하세요.
보더 VTEP Leaf 1 라우팅 테이블:
Leaf1# show ipv6 route vrf VRF1
'[x/y]' denotes [distance/metric]
2001:db8:1:10::/64, vrf VRF1
via vlan10, [0/0], connected
2001:db8:1:12::/64, vrf VRF1
via 192.168.11.5[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
2001:db8:1:12:80a0:5d8b:f992:cb1d/128, vrf VRF1
via 192.168.11.5[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
2001:192:168:200::1/128, vrf VRF1
via 2001:192:168:4::[vrf SERVICES], [200/0], bgp
컴퓨트 VTEP Leaf 2 라우팅 테이블:
Leaf2# show ipv6 route vrf VRF1
'[x/y]' denotes [distance/metric]
2001:db8:1:10::/64, vrf VRF1
via 192.168.11.3[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
2001:db8:1:10:b1fa:b585:979f:ac99/128, vrf VRF1
via 192.168.11.3[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
2001:db8:1:12::/64, vrf VRF1
via vlan12, [0/0], connected
2001:192:168:200::1/128, vrf VRF1
via 192.168.11.3[vrf default], [200/0], bgp, encap vxlan, l3vni 100001
이번 모듈에서는 ARP/ND 억제(Suppression)를 통한 브로드캐스트 트래픽 최소화부터 IGMP 스누핑 및 PIM-SM 기반의 멀티캐스트 제어, 그리고 기존 IPv4 언더레이를 그대로 활용한 IPv6 오버레이와 IVRL(VRF 간 라우트 리킹) 구성까지 함께 살펴보았습니다. 이제 기본적인 연결성 확보를 넘어, 대역폭 낭비를 줄이고 멀티미디어 트래픽과 차세대 IPv6 환경까지 안정적으로 수용하는 고도화된 EVPN 데이터센터 패브릭을 운영할 수 있게 되었습니다.
다음 시간에는 이렇게 구축한 데이터센터 네트워크의 다음 여정으로, 패브릭 운영과 자동화를 위한 Fabric Composer 소프트웨어에 대해 알아보겠습니다.
