一、PVE SDN(Software Defined Networking)原理與使用邏輯
SDN(軟件定義網絡) 是一種將網絡控制邏輯從傳統交換機、路由器中分離出來的技術,使得網絡可以通過軟件集中管理和自動化配置。
Proxmox VE(PVE)內置了 SDN 功能,使得用戶可以靈活地管理不同節點之間的網絡,實現 VLAN、VXLAN、BGP 等高級網絡功能。
1、SDN 的基本原理
SDN 采用 控制平面 和 數據平面 分離的架構:
-
控制平面(Control Plane):集中管理網絡流量的決策,如路由計算、ACL 規則等。
-
數據平面(Data Plane):負責實際的數據轉發,如 Linux Bridge、VXLAN、物理交換機等。
在 PVE 中,SDN 允許管理員以 軟件方式 進行網絡管理,而不依賴于物理網絡設備的特性。
2、SDN 的核心概念
2.1 SDN Zone(區域)
SDN 區域是網絡的邏輯分區,相當于一個虛擬的交換網絡,所有加入這個區域的 VM 和容器都可以通信。PVE 提供了多種區域模式:
區域類型 | 說明 | 適用場景 |
---|---|---|
Simple | 直接使用 Linux Bridge 進行連接 | 適用于基本網絡隔離,如家用環境 |
VLAN | 采用 802.1Q VLAN 進行隔離 | 適用于多個 VLAN 共享同一物理接口 |
VXLAN | 通過隧道方式連接不同節點 | 適用于跨物理網絡的 VM 互聯 |
EVPN | 使用 BGP 進行動態 VXLAN 交換 | 適用于大規模數據中心 |
BGP | 直接使用 BGP 進行動態路由 | 適用于跨站點 SDN 互聯 |
2.2 SDN Virtual Switch(虛擬交換機)
SDN 虛擬交換機可以是 Linux Bridge、OVS(Open vSwitch) 或 Ceph Rados Gateway,不同模式支持不同的網絡功能。
2.3 SDN Subnet(子網)
子網用于定義 IP 地址分配范圍,每個 Subnet 屬于一個 Zone,并提供 DHCP、NAT、防火墻等功能。
2.4 SDN Controller(控制器)
SDN 控制器是管理 SDN 的核心組件,它控制 SDN 設備的行為,如:
-
管理 VLAN/VXLAN 之間的映射
-
提供 BGP 交換信息
-
分配 IP 地址和路由信息
3、SDN 的使用邏輯
3.1 基本網絡拓撲
一個 PVE SDN 網絡通常包括:
-
SDN Zone(定義網絡)
-
SDN Subnet(定義子網)
-
虛擬交換機(Linux Bridge / OVS)
-
VM / LXC 容器(連接到 SDN)
示例:
+---------+ +---------+ +---------+| VM1 | | VM2 | | VM3 |+---------+ +---------+ +---------+| | |+-------+ +-------+ +-------+| vxbr0 |---------| vxbr1 |---------| vxbr2 |+-------+ +-------+ +-------+| |+----------------+| SDN Controller |+----------------+
在這個拓撲中:
-
vxbr0
、vxbr1
、vxbr2
是 SDN 虛擬交換機。 -
VM1
、VM2
、VM3
通過 SDN 互聯。 -
SDN Controller
負責管理 SDN 規則,如 IP 地址分配、路由、VLAN ID 映射等。
4、在 PVE 中配置 SDN
4.1 啟用 SDN
-
進入 PVE Web 界面
-
選擇 Datacenter → SDN
-
點擊 Enable SDN
-
選擇 添加 Zone
-
選擇合適的模式(如 Simple、VXLAN)
-
配置相關參數
-
4.2 創建 SDN Zone
示例:創建一個 VLAN Zone
-
Datacenter → SDN → Zones → Add
-
選擇
VLAN
-
填寫
ID
(如 vlan10) -
選擇
Bridge
(如vmbr1
) -
確認創建
4.3 添加子網
-
Datacenter → SDN → Subnets → Add
-
選擇
Zone
(如vlan10
) -
設置
CIDR
(如192.168.10.0/24
) -
選擇
Gateway
(如192.168.10.1
)
4.4 綁定 VM 到 SDN
-
創建或編輯 VM
-
在 網絡設置 中選擇
vmbr1
-
啟動 VM,VM 將自動加入 SDN 網絡
5、SDN 高級功能
5.1 VXLAN 隧道
VXLAN 允許 VM 通過隧道互聯,即使它們位于不同物理主機上。
PVE 允許使用 VXLAN 連接多個 PVE 節點,并使用 BGP 進行動態路由交換。
5.2 BGP 路由
PVE 支持 BGP(Border Gateway Protocol),可以讓 PVE 直接與物理網絡交換路由信息,實現跨數據中心的 SDN 互聯。
5.3 ACL 訪問控制
SDN 允許管理員為 VM 和 VLAN 配置防火墻規則,控制流量進出。
6、適用于不同場景的 SDN 配置
需求 | 推薦 SDN 配置 | 適用場景 |
---|---|---|
基本 SDN 學習 | Simple | 適合家用路由器 |
虛擬機 VLAN 隔離 | VLAN | 適合多租戶環境 |
跨 PVE 節點網絡 | VXLAN | 適合多主機集群 |
數據中心網絡 | BGP + EVPN | 適合大規模 SDN |
7、總結
? PVE SDN 允許管理員靈活地管理 VM 網絡,并支持 VLAN/VXLAN/BGP。
? Simple 模式 適用于家用學習,VXLAN/BGP 適用于企業級部署。
? 管理 SDN 主要依賴于 Zone、Subnet、Controller,理解這三個概念是關鍵!
二、PVE中的SDN概念介紹
在 Proxmox VE(PVE) 的 軟件定義網絡(SDN,Software Defined Networking) 里,主要涉及 區域(Zones)、VNets、IPAM 和防火墻,它們的作用如下:
1、SDN 區域(Zones)
作用
-
定義 SDN 作用范圍,可以基于 數據中心 或 不同物理節點 進行網絡隔離。
-
提供 VLAN、VXLAN、EVPN、Simple 等不同類型,支持多種 SDN 方案。
-
用于 跨節點的虛擬網絡管理,避免傳統 VLAN 限制。
主要類型
區域類型 | 說明 |
---|---|
Simple | 適用于單節點,類似傳統 Linux Bridge。 |
VLAN | 適用于 同一個 L2 物理網絡 的 VLAN 結構。 |
VXLAN | 適用于 跨物理節點的 L3 虛擬網絡,每個虛擬網絡有唯一的 VXLAN ID。 |
EVPN | 高級 VXLAN 模式,可搭配 BGP 實現更復雜的網絡拓撲。 |
QinQ | 適用于多層 VLAN(VLAN 疊加)。 |
配置方法
-
進入 PVE Web UI →
Datacenter
→SDN
→Zones
-
點擊“創建”
-
選擇 Zone 類型(Simple、VLAN、VXLAN、EVPN)
-
填寫 Zone 名稱、VXLAN ID(如果適用)
-
保存并應用
2、VNets(虛擬網絡)
作用
-
創建虛擬子網,并綁定到 SDN 區域(Zones)。
-
分配 VLAN ID 或 VXLAN ID,讓 VM 互通或隔離。
-
允許 多個節點共享同一 SDN 網絡,支持跨節點通信。
配置方法
-
進入
Datacenter
→SDN
→VNets
-
點擊 “創建”
-
填寫:
-
VNet ID(唯一標識)
-
區域(Zone)(選擇已創建的 Zone)
-
橋接接口(如
vmbr0
) -
VLAN/VXLAN ID(如果適用)
-
-
保存并應用
3、IPAM(IP 地址管理)
作用
-
自動管理 IP 地址,避免 IP 沖突。
-
允許 靜態 IP 分配 或 DHCP 方式自動分配。
-
提供 外部 IPAM 方案(如 Netbox、phpIPAM)。
配置方法
-
進入
Datacenter
→SDN
→IPAM
-
點擊 “創建”
-
選擇 IPAM 方案:
-
pve(內置 IP 管理)
-
netbox(外部 IPAM 方案)
-
phpipam(外部 IPAM 方案)
-
-
配置 網段(CIDR,如 192.168.1.0/24)
-
保存并應用
4、防火墻
作用
-
控制 SDN 內的流量,增強安全性。
-
提供 基于 Zone、VNet、節點、VM 的防火墻規則。
-
支持 IP 級別的訪問控制(ACL),阻止未授權訪問。
配置方法
-
進入
Datacenter
→SDN
→Firewall
-
點擊 “創建規則”
-
選擇 作用范圍:
-
Datacenter(全局防火墻)
-
Zone(作用于 SDN Zone)
-
VNet(作用于 VNet)
-
Node(作用于 PVE 節點)
-
VM(作用于特定虛擬機)
-
-
配置 規則
-
方向(IN/OUT)
-
允許/拒絕(ACCEPT/DROP/REJECT)
-
源 IP / 目標 IP
-
協議(TCP/UDP/ICMP)
-
-
保存并應用
5、總結
組件 | 作用 | 配置 |
---|---|---|
SDN 區域(Zones) | 定義 SDN 作用范圍,支持 VLAN/VXLAN | Datacenter → SDN → Zones |
VNets | 虛擬網絡,綁定 Zone,定義 VLAN/VXLAN | Datacenter → SDN → VNets |
IPAM | 管理 IP 地址分配,防止 IP 沖突 | Datacenter → SDN → IPAM |
防火墻 | 控制 SDN 內流量,增強安全 | Datacenter → SDN → Firewall |
? 如果你的 PVE 需要跨節點 VM 互通,推薦使用 VXLAN+IPAM+防火墻 組合。
? 如果只是單節點使用,可以用 Simple Zone + VNet。
三、SDN對硬件交換機的要求
在 Proxmox VE (PVE) 的 SDN(Software-Defined Networking) 設計中,區域(Zone)是 SDN 配置的重要部分。是否對交換機有要求,取決于選擇的 SDN 模型和底層網絡架構。以下是不同情況下對交換機的要求分析:
1. PVE SDN 的基本概念
-
Zone(區域): 在 PVE SDN 中,Zone 用于定義不同的網絡范圍,比如 VXLAN、EVPN 或 VLAN。
-
VNet(虛擬網絡): 邏輯隔離的虛擬網絡,類似于 VLAN 但基于 SDN 機制。
-
Controller(控制器): SDN 需要控制器來管理網絡,例如 FRRouting(BGP、OSPF)或 VXLAN。?
2. 交換機要求取決于 SDN 模式
?(1) VLAN 模式
-
要求: 交換機需要支持 802.1Q VLAN。
-
場景: 適用于小型 PVE 部署,多個節點間通過 VLAN 隔離流量。
-
交換機功能需求:
-
必須支持 VLAN Trunk(交換機之間的 VLAN 透傳)。
-
必須支持 VLAN Access(分配給物理端口的 VLAN)。?
-
?(2) VXLAN 模式
-
要求: 交換機不需要支持 VXLAN,PVE 會在 Linux 層通過
vxlan
設備封裝流量。 -
場景: 適用于跨交換機、大規模 PVE 集群的環境。
-
交換機功能需求:
-
不需要 VXLAN 硬件支持,因為 PVE 使用 Linux 內核 VXLAN 實現。
-
但 交換機需要支持 IP 路由,因為 VXLAN 需要 L3 網絡來傳輸封裝流量。
-
如果網絡規模較大,建議交換機支持 Jumbo Frame(9000 MTU) 以優化 VXLAN 性能。?
-
(3) EVPN 模式
-
要求: 交換機最好支持 BGP EVPN(如 Arista、Cisco、Juniper、Mellanox)。
-
場景: 適用于數據中心級別的 SDN 方案,結合 BGP 進行大規模 VXLAN 路由。
-
交換機功能需求:
-
支持 BGP(邊界網關協議)。
-
支持 EVPN(Ethernet VPN)。
-
推薦支持 VXLAN 硬件卸載(否則流量處理效率較低)。
-
支持 MPLS(可選),如果要結合 MPLS 進行數據中心網絡優化。?
-
3. 總結
SDN 模式 | 交換機要求 | 適用場景 |
---|---|---|
VLAN | 支持 802.1Q VLAN | 小型集群,簡單隔離 |
VXLAN | 僅需 IP 路由支持(Jumbo Frame 推薦) | 中大型集群,跨 L3 傳輸 |
EVPN | BGP + EVPN 支持(推薦 VXLAN 硬件卸載) | 大規模數據中心 |
📌 結論
如果你使用 VLAN,普通 VLAN 交換機即可。如果使用 VXLAN,交換機需要支持 IP 路由。如果使用 EVPN,則需要 支持 BGP 和 VXLAN 的數據中心級交換機。