什么是 Proxmox SDN?
SDN = 软件定义网络(Software-Defined Networking)。从 Proxmox 8.1 开始引入。
这是一种在软件层面集中创建和定义网络的方式,网络可以跨越整个集群,而无需在每台宿主机上单独配置网络。
"我更喜欢把 Proxmox SDN 想象成 vSphere 标准交换机和 vSphere 分布式交换机的对比。" — Brandon Lee
当你创建 Zone(区域) 和 VNET(虚拟网络) 时,这些配置会自动共享到集群中的所有节点。
传统网络 vs Proxmox SDN
| 传统网络 | Proxmox SDN |
|---|---|
| 在每个节点上手动创建 Linux 网桥 | 集中定义一次,网络自动下发 |
| 每个宿主机单独配置 VLAN | 网络配置自动应用到整个集群 |
| 手动保持配置一致性 | Proxmox 自动同步配置 |
| 配置漂移风险高 | 网络一致性由设计保证 |
| 新增节点时工作量繁琐 | 新节点自动继承网络配置 |
| 排障需要逐台主机进行 | 集中可视化与管理 |
核心组件
- Zone(区域) — 定义网络类型(基于 VLAN、VXLAN 叠加网络或简单扁平网络)
- Vnet(虚拟网络) — 虚拟交换机,只需定义一次,所有节点可用;虚拟机实际连接的网络
- Subnet(子网) — 定义 IP 地址范围,支持可选 DHCP 或 IPAM
三种家用实验室场景
场景一:vSphere 分布式交换机等价功能
问题: 3-5 个节点运行 20 个 VLAN,手动在每个节点配置所有 20 个 VLAN 会导致:
- 虚拟机只能在特定节点上运行
- 迁移后网络故障
- 连接不稳定
SDN 解决方案:
- 定义一个 VLAN Zone
- 为每个网络创建 Vnet
- 将虚拟机连接到对应 Vnet
- 应用配置(更改暂存,直到手动应用才生效)
"使用 Proxmox SDN,我只用在数据中心 > SDN 配置里创建一次,网络就会自动推送到所有宿主机。"
场景二:隔离实验室环境
快速搭建隔离网络用于测试,内置 IP 分配:
- Active Directory 测试环境
- Kubernetes 实验室
- 预发布(Staging)环境
创建隔离网络步骤:
- 创建新 Vnet
- 分配子网
- 启用 DHCP
- 启用 SNAT(源 NAT,借用 Proxmox VE 主机作为网关)
"Proxmox SDN 的临时网络功能在家用实验室场景下被严重低估了。"
场景三:灾难恢复与多站点网络
VXLAN 支持叠加网络,可跨节点或跨物理位置延伸:
- 虚拟机可保持原有 IP 地址
- 网络可以存在于不同物理位置
- 更真实地模拟故障切换场景
典型用例: 在不同 IP 网段的站点间复制工作负载,副本虚拟机保留原始 IP 配置。
什么是 VXLAN?
- 叠加网络技术,突破物理 VLAN 和路由的限制
- 可在非集群节点间工作
- 在软件层面定义网络,跨宿主机和物理位置延伸
- 为复杂多层网络和云原生架构提供可能
潜在陷阱
| 陷阱 | 说明 |
|---|---|
| 学习曲线 | 组件和术语与传统 L2 网络不同,需要重新学习 |
| 增加复杂性 | 抽象层可能使排障更复杂 |
| Underlay 底层网络仍是基础 | 叠加网络依赖底层网络正常工作 |
| MTU 要求 | VXLAN 封装需要约 1600 字节 MTU |
什么时候值得用 SDN?
| 场景 | 值得吗? |
|---|---|
| 单节点,少量 VLAN | 收益有限(仅作为学习用途) |
| 多节点集群,大量服务 | 值得 — 大幅降低管理复杂度 |
| 多站点/实验室环境 | 值得 — 支持网络延伸和 DR 测试 |
核心要点
- Proxmox SDN 提供免费的 vSphere 分布式交换机式管理
- 集中一致性 消除节点间配置漂移
- 内置 DHCP 隔离网段无需外部 DHCP 服务器
- VXLAN 在家实验室也能学习企业级延伸网络概念
- 暂存更改 需手动应用才能生效
相关资源
完整操作指南:Proxmox SDN 配置详解(分步)