ProxmoxVE SDN
안녕하세요.
오늘은 ProxmoxVE에서 SDN과 설정 방법에 대해서 작성해보려고 합니다.
1. SDN이란 무엇인가
SDN(Software Defined Network)은 말 그대로 네트워크를 소프트웨어적으로 정의하고 제어하기 위한 개념입니다.
전통적인 네트워킹 방식에서는 스위치나 라우터 같은 장비에 설정을 직접 넣어주어야 했습니다.
그러나 SDN을 도입하면, 네트워크 장치의 제어부(Control Plane)와 데이터 전달부(Data Plane)를 분리하여, 중앙에서 네트워크 트래픽을 프로그래밍 방식으로 제어할 수 있게 됩니다.
이로써 네트워크 구성을 자동화하고, 다양한 토폴로지 변화를 빠르게 반영하는 것이 가능해집니다.
예를 들어 VLAN을 생성하거나 정책을 변경할 때, 모든 스위치를 일일이 만질 필요 없이 SDN 컨트롤러에서 한 번에 처리할 수 있죠.
다시 말해 , SDN은 네트워크를 애플리케이션처럼 ‘코드화’하고, 유연하게 다루는 데 목적이 있습니다.
2. ProxmoxVE에서 SDN의 역할
ProxmoxVE는 가상화 기반으로 VM(KVM)과 LXC 컨테이너를 동시에 운영하는 플랫폼입니다.
SDN을 ProxmoxVE에 적용하는 이유를 살펴보면 다음과 같습니다:
-
멀티테넌시
- 하나의 물리 인프라에 여러 사용자(테넌트)가 공존할 경우, 테넌트별 네트워크 격리가 꼭 필요합니다.
- ProxmoxVE SDN을 통해 VLAN, VXLAN, EVPN 등의 방식을 사용해 간단히 논리적 격리를 구성할 수 있습니다.
-
유연한 네트워크 구성
- 노드가 여러 대 있을 때, VM이나 컨테이너를 어느 노드로 옮기든 동일한 네트워크 세팅이 자동 반영되도록 만듭니다.
- 마이그레이션 시 IP 충돌 없이 자연스럽게 연결 상태를 유지하도록 도와줍니다.
-
자동화와 일관성
- Proxmox 클러스터에 속한 모든 노드에서 동일한 SDN 설정이 동기화됩니다.
- 별도의 스위치나 라우터에 VLAN을 일일이 세팅하지 않아도, Proxmox SDN 메뉴로 쉽게 관리할 수 있습니다.
정리하자면, Proxmox VE의 SDN 기능은 VM/컨테이너 수준에서 네트워크를 중앙 통제하고, 멀티 호스트에 걸친 Overlay나 VLAN 세분화 같은 고급 설정을 GUI/API로 지원합니다.
3. Proxmox VE에 SDN 구축방법
3.1 사전 준비
- Proxmox VE 버전: 8.3.3
- SDN 패키지:
proxmox-sdn
이 설치되어 있어야 합니다(기본 포함인 경우도 많습니다). - 클러스터 환경: 멀티 노드에서 SDN을 제대로 활용하려면 클러스터 구성이 필요합니다.
3.2 주요 설정 흐름
-
Zone 생성
- Datacenter → SDN → Zones → Create
- VLAN, VXLAN, EVPN 등 다양한 Zone 유형 중 선택
- Bridge나 MTU, VNI Start 등 세부 옵션을 지정
-
Controller 설정(필요 시)
- EVPN Zone처럼 BGP 라우팅이 필요한 경우, Controllers 탭에서 EVPN Controller 생성
- 프리 레인지 라우팅(FRR) 관련 패키지도 노드별 설치 필요
-
VNet 생성
- Datacenter → SDN → VNets → Create
- Zone과 연동하여 VNet ID, Tag(VLAN ID나 VXLAN ID) 할당
- VLAN Aware, Port Isolation 등 세부 설정 가능
-
Subnets 등록(선택 사항)
- VNet마다 IP 대역(CIDR), 게이트웨이, SNAT 여부 등을 지정해 L3 라우팅을 지원
- IPAM이나 DNS 플러그인과 연계 가능
-
VM/CT 네트워크 할당
- VM/컨테이너 생성/수정 시, Network 탭에서 “SDN” 모드 → 해당 VNet 선택
- 필요한 IP 주소를 설정하거나 DHCP를 사용할 수도 있음
3.3 예시: VLAN Zone
- Zone: Type=VLAN, Bridge=vmbr1
- VNet: ID=tenantA, Tag=100
- VM NIC: tenantA VNet 할당 → VLAN 100 구간 자동 설정
3.4 예시: VXLAN(EVPN) Zone
- Zone: Type=EVPN, Bridge=vmbr2, Controller=EVPN-ctrl
- Controller: BGP Peer 설정(ASN=65000, Neighbors=…)
- VNet: Tag=1000(VNI)
- 여러 노드 사이에서 VXLAN Overlay가 구성되어, 동일 VNet으로 묶인 VM들이 L2처럼 연결
4. 정리
오늘은 SDN이란 무엇인지, 그리고 ProxmoxVE에서 SDN이 어떤 역할을 수행하며, 구체적으로 어떻게 구축할 수 있는지 살펴봤습니다.
요약하자면, SDN은 네트워크를 소프트웨어적으로 정의·제어하는 기술로서, Proxmox VE 환경에서도 매우 유용하게 쓰입니다. 특히 여러 노드와 다양한 가상화 워크로드가 있는 환경에서, SDN을 통해 중앙에서 네트워크를 자동화하고, 논리적으로 잘 분할(멀티테넌시)할 수 있습니다.
- SDN의 궁극적 목표: 네트워크를 구동 중에도 유연하게 변경하고, 필요하면 신속히 확장하거나 축소해 리소스를 효율적으로 운영
- ProxmoxVE SDN : GUI 기반 설정 + API 연동으로 높은 일관성과 자동화를 제공
앞으로 Proxmox VE에서 클러스터 수준의 네트워킹을 보다 정교하게 관리해야 한다면, SDN 기능을 적극 검토해보시길 추천드립니다. 필요한 VLAN/VXLAN/EVPN을 자유롭게 생성·삭제하고, Subnet과 NAT, 방화벽 설정 등을 조합하여, 원하는 형태로 네트워크를 “코드처럼” 다룰 수 있을 것입니다.
참조