📊 flexiWAN SD-WAN 开源方案分析报告

1. 项目概况

1.1 项目背景

flexiWAN 自称是"全球首个开源 SD-WAN 解决方案",提供完整的 SD-WAN 能力,包括:

  • flexiEdge: 边缘路由器(vRouter)
  • flexiManage: 中央管理与编排平台
  • flexiAgent: 通信代理层

1.2 代码仓库状态 ⚠️

仓库 位置 状态
flexiManage (后端) GitLab: flexiwangroup/fleximanage 4,388 commits, 94 branches, 74 tags
flexiAgent GitLab: flexiwangroup/flexiagent 活跃
flexiEdge GitLab: flexiwangroup/ 需确认具体仓库
GitHub 镜像 github.com/flexiwan/flexiWAN 仅指向 GitLab

关键发现:

  • ✅ 最新 Release 6.4.32 (2024 年 9 月后仍有更新)
  • ✅ Release 6.4.1 (2024 年 9 月) 引入了 Inbound QoS、Wireless Dual SIM、Linux Kernel 升级等功能
  • ⚠️ 代码主要在 GitLab,GitHub 仅为镜像/重定向
  • ⚠️ 部分 UI 前端和计费模块未开源(Git submodule 为空)

1.3 许可证

  • GNU AGPLv3 - 强传染性许可证
  • 商业部署需注意:任何修改必须开源

2. 核心组件技术分析

2.1 flexiEdge(边缘路由器)

架构组成:

┌─────────────────────────────────────┐
│           flexiEdge                 │
├─────────────────────────────────────┤
│  VPP (Vector Packet Processor)      │  ← 数据平面 (FD.io 项目)
│  FRR (Free Range Routing)           │  ← 控制平面 (BGP/OSPF)
│  flexiWAN Agent                     │  ← 与 flexiManage 通信
└─────────────────────────────────────┘

技术栈:

  • 基于 Ubuntu 20.04 LTS (早期版本用 18.04)
  • VPP: 高性能数据包处理(DPDK 加速)
  • FRRouting: 完整路由协议支持 (BGP, OSPF)
  • 支持 IPsec, IKEv2, OpenVPN

功能特性:

  • ✅ 流量整形与 QoS
  • ✅ 防火墙(L3/L4 应用过滤)
  • ✅ 路径选择策略(包括 AI 驱动的网络自愈)
  • ✅ 高可用性(Active-Passive/Active-Active)
  • ✅ 多 WAN 链路聚合

2.2 flexiManage(管理平台)

技术栈:

  • 后端: Node.js v10+
  • 数据库: MongoDB 4.0.9+ (需 3 节点副本集)
  • 缓存: Redis 5.0.5+
  • 前端: React (部分未开源)

核心功能:

  • 设备注册与配置管理
  • 网络拓扑可视化
  • 隧道管理(IPsec)
  • 路由策略配置
  • 流量监控与分析
  • 用户/角色/权限管理
  • RESTful API

部署架构:

┌──────────────────────────────────────────┐
│            flexiManage                    │
├──────────────────────────────────────────┤
│  Web Server (Node.js)                     │
│  System Broker (WebSocket 通信)           │
│  Analytics System (统计分析)              │
├──────────────────────────────────────────┤
│  MongoDB Replica Set (3 nodes)            │
│  Redis                                    │
│  Mail Server (SMTP trap)                  │
└──────────────────────────────────────────┘

3. 本地部署可行性评估

3.1 系统要求

flexiEdge 最低要求:

资源 最低 推荐
CPU 2 核心 (64-bit) 4+ 核心 (多核加速)
内存 4GB 8GB+
存储 16GB 32GB+
网卡 2 接口 (WAN+LAN) 多接口 + 支持网卡

flexiManage 部署要求:

组件 要求
Node.js v10+
MongoDB 4.0.9+ (3 节点副本集)
Redis 5.0.5+
Mail Server SMTP (端口 1025)

3.2 部署方式支持

部署方式 支持情况 说明
裸金属安装 ISO 安装器 (UEFI 必需)
VMware OVA 格式,支持 Workstation/Fusion/ESXi
KVM/QEMU QCOW2 格式 (UEFI/BIOS)
VirtualBox OVA/VDI 格式
云平台 AWS, Google Cloud, DigitalOcean, Hetzner
Docker/K8s ⚠️ 文档未明确支持,需自行容器化

3.3 部署复杂度评估

flexiEdge: 🟢 中等

  • 预构建镜像可直接部署
  • 需配置 token 连接到 flexiManage
  • 支持 Zero Touch Provisioning (ZTP)

flexiManage: 🟡 中高

  • 需手动配置 MongoDB 副本集 (3 节点)
  • 需配置 Redis 和邮件服务
  • 前端 UI 部分闭源,可能影响自定义

依赖复杂度:

flexiManage
├── MongoDB Replica Set (3 节点) ← 复杂度高
├── Redis
├── Node.js 环境
└── SMTP 邮件服务

4. 后续维护可行性评估

4.1 代码质量与维护状态

维度 评估 说明
更新频率 🟡 中等 2024 年 9 月有 Release 6.4.x,但 2025 年活动待确认
社区活跃度 🟡 中等 Google Groups 论坛存在,但活跃度一般
文档完整性 🟢 良好 官方文档覆盖安装、配置、API
测试覆盖率 🔴 未知 未公开测试报告
代码注释 🔴 未知 需实际审查代码

4.2 开源组件依赖

核心依赖:

  • VPP (FD.io) - Apache 2.0,由 Linux 基金会维护 ✅
  • FRRouting - GPL-2.0,活跃社区维护 ✅
  • Node.js 生态 - 大量 npm 依赖,需定期更新 ⚠️
  • MongoDB - SSPL 许可,注意商业限制 ⚠️

4.3 风险与挑战

风险类型 等级 说明
项目可持续性 🟡 中 公司规模较小,商业模型依赖 SaaS
前端闭源 🟡 中 flexiManage UI 部分未开源,自定义受限
AGPL 许可证 🟡 中 商业部署需开源修改内容
MongoDB 依赖 🟡 中 副本集部署复杂,SSPL 许可限制
硬件兼容性 🟡 中 需使用认证网卡,DPDK/VPP 兼容性问题
单点故障 🔴 高 flexiManage 为单点(虽有 HA 但需额外配置)
安全更新 🟡 中 需跟踪 VPP/FRR 安全公告

5. 替代方案对比

5.1 开源 SD-WAN 方案

方案 成熟度 社区 部署复杂度 备注
flexiWAN ⭐⭐⭐ ⭐⭐ 完整方案,但部分闭源
VyOS ⭐⭐⭐⭐ ⭐⭐⭐⭐ 基于 Debian 的路由系统,非纯 SD-WAN
Open vSwitch ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 虚拟交换机,需自行构建 SD-WAN
OPNsense + plugins ⭐⭐⭐⭐ ⭐⭐⭐⭐ 防火墙 + 路由,SD-WAN 功能有限
Tungsten Fabric ⭐⭐⭐ ⭐⭐ Juniper 主导,复杂

5.2 商业 SD-WAN 方案

厂商 特点 成本
VMware SD-WAN (VeloCloud) 成熟,云网关网络
Palo Alto Prisma SD-WAN 安全集成
Cisco Meraki SD-WAN 易用,云管理
Fortinet FortiGate SD-WAN 安全 + 网络整合 中高

6. 综合评估与建议

6.1 部署可行性评分

维度 评分 说明
技术可行性 ⭐⭐⭐⭐ (4/5) 技术方案成熟,VPP+FRR 是业界标准
部署复杂度 ⭐⭐⭐ (3/5) MongoDB 副本集增加复杂度
维护可行性 ⭐⭐⭐ (3/5) 社区规模有限,需自建能力
成本效益 ⭐⭐⭐⭐ (4/5) 开源免费,但人力成本需考虑
长期风险 ⭐⭐⭐ (3/5) 项目可持续性待观察

综合评分: ⭐⭐⭐ (3.4/5)

6.2 适用场景推荐

✅ 推荐采用:

  • 需要 SD-WAN 功能但预算有限的中小企业
  • 有网络技术团队,能自行维护
  • 接受 AGPL 许可证约束
  • 需要定制化开发能力

❌ 不推荐:

  • 无网络技术团队的组织
  • 需要 24/7 商业支持(除非购买 flexiWAN 支持服务)
  • 不能接受 AGPL 许可证的商业场景
  • 需要大规模部署(>100 节点)

6.3 实施建议

  1. PoC 验证阶段 (2-4 周)

    • 在测试环境部署 flexiManage + 2 个 flexiEdge
    • 验证基本连通性、隧道、路由功能
    • 评估性能是否符合预期
  2. 依赖简化

    • 考虑 MongoDB 单节点部署(非生产)
    • 评估能否用 Docker Compose 简化部署
  3. 维护能力建设

    • 建立 VPP/FRR 安全更新跟踪机制
    • 培训团队掌握 flexiWAN 架构
    • 准备回退方案(传统路由)
  4. 许可证合规

    • 法务审查 AGPL 影响
    • 如计划修改代码,准备开源策略

7. 结论

flexiWAN 是一个技术上可行的开源 SD-WAN 方案,核心采用 VPP+FRR 业界标准架构,功能完整。但存在以下关键考量:

  1. 部分代码闭源(UI 前端)可能限制自定义能力
  2. MongoDB 副本集增加部署复杂度
  3. AGPL 许可证对商业部署有约束
  4. 社区规模有限,长期维护需自建能力

建议: 对于有技术团队、预算有限、能接受许可证约束的场景,flexiWAN 是值得考虑的选项。但建议先进行 PoC 验证,并评估长期维护成本。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐