一、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 的数据中心级交换机。