OpenStack 每日学习课程
日期: 2026年4月7日
今日主题: Neutron — OpenStack 的网络管家
🎯 核心概念:把 Neutron 想象成"智能物业网络部"
想象你住在一个超大型公寓小区(OpenStack 云平台)。每户人家(虚拟机)需要:
- 接入互联网
- 和邻居通话
- 访问小区内的公共设施(存储、数据库)
- 不同楼栋之间可以隔离(安全)
Neutron 就是这个小区的"智能物业网络部",负责:
- 给每户分配地址(IP 地址管理)
- 拉网线、装交换机(虚拟网络设备)
- 设门禁(安全组、防火墙)
- 接入外部网络(路由器、NAT)
传统云平台网络像"一条大网线大家共用",Neutron 则实现了每户独立网络、按需定制——这就是 Software Defined Networking(SDN)的魅力。
⚙️ 工作原理:Neutron 的关键组件
┌─────────────────────────────────────────────────────┐
│ Neutron Server │
│ (API 服务:接收请求、调度、维护网络状态数据库) │
└─────────────────────┬───────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Plugin │ │ Plugin │ │ Plugin │
│(ML2等) │ │(LBaaS) │ │(FWaaS) │
└────┬────┘ └─────────┘ └─────────┘
│
▼
┌───────────────────────────────────────┐
│ Neutron Agent │
│ (运行在计算节点:L3 Agent, DHCP Agent)│
│ 实际配置 Linux Bridge / OVS │
└───────────────────────────────────────┘
核心协作流程(创建一个虚拟机网络):
- 用户调用 Neutron API 创建网络和子网
- Neutron Server 将网络信息存入数据库
- ML2 Plugin 通知各节点的 Agent
- Agent 在计算节点上创建 Linux Bridge 或 OVS 端口
- DHCP Agent 启动 dnsmasq 提供 IP 分配
- 虚拟机启动时,通过 tap 设备接入虚拟网络
🏢 实际应用场景
场景 1:多租户网络隔离
某公有云服务商需要为 A 公司和 B 公司提供完全隔离的网络环境。通过 Neutron 创建两个独立的 Provider Network,配合 VxLAN 隧道,实现同一物理网络上的逻辑隔离——A 公司的虚拟机完全看不到 B 公司的网络流量。
场景 2:三层路由与浮动 IP
企业部署了一个 Web 应用,内部有 Web 层、应用层、数据库层,分别在不同子网。Neutron 的路由器功能实现跨子网通信,同时为 Web 层虚拟机分配浮动 IP(Floating IP),让外部用户可以访问。
场景 3:负载均衡即服务(LBaaS)
电商平台在促销期间需要将流量分发到多台后端服务器。Neutron 的 LBaaS v2 功能可以创建虚拟负载均衡器,配合健康检查,自动将请求分发到健康的后端实例。
🛠️ 动手练习
思考题: Neutron 和传统物理网络设备的区别是什么?为什么说 Neutron 实现了"网络即服务"?
动手实验(如有 OpenStack 环境):
# 创建一个私有网络 openstack network create my-private-net # 创建子网 openstack subnet create my-subnet \ --network my-private-net \ --subnet-range 192.168.100.0/24 # 创建路由器并连接外部网络 openstack router create my-router openstack router set my-router --external-gateway public openstack router add subnet my-router my-subnet延伸阅读: 了解 Linux Bridge 与 Open vSwitch 的区别,它们各自在 Neutron 中的应用场景。
📊 今日总结
| 维度 | 内容要点 |
|---|---|
| 是什么 | OpenStack 的网络服务组件,提供 SDN 能力 |
| 核心功能 | 网络/子网管理、路由、安全组、浮动 IP、LBaaS |
| 关键组件 | Neutron Server、ML2 Plugin、L3 Agent、DHCP Agent |
| 类比记忆 | 智能物业网络部,给每户拉专线、装门禁 |
| 实际价值 | 多租户隔离、灵活组网、网络自动化运维 |
| 学习建议 | 先掌握基础网络模型(桥接/路由/NAT),再深入 Agent 原理 |
💡 明日预告: Cinder — 给虚拟机装上"可插拔硬盘"的块存储服务