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          │
└───────────────────────────────────────┘

核心协作流程(创建一个虚拟机网络):

  1. 用户调用 Neutron API 创建网络和子网
  2. Neutron Server 将网络信息存入数据库
  3. ML2 Plugin 通知各节点的 Agent
  4. Agent 在计算节点上创建 Linux Bridge 或 OVS 端口
  5. DHCP Agent 启动 dnsmasq 提供 IP 分配
  6. 虚拟机启动时,通过 tap 设备接入虚拟网络

🏢 实际应用场景

场景 1:多租户网络隔离

某公有云服务商需要为 A 公司和 B 公司提供完全隔离的网络环境。通过 Neutron 创建两个独立的 Provider Network,配合 VxLAN 隧道,实现同一物理网络上的逻辑隔离——A 公司的虚拟机完全看不到 B 公司的网络流量。

场景 2:三层路由与浮动 IP

企业部署了一个 Web 应用,内部有 Web 层、应用层、数据库层,分别在不同子网。Neutron 的路由器功能实现跨子网通信,同时为 Web 层虚拟机分配浮动 IP(Floating IP),让外部用户可以访问。

场景 3:负载均衡即服务(LBaaS)

电商平台在促销期间需要将流量分发到多台后端服务器。Neutron 的 LBaaS v2 功能可以创建虚拟负载均衡器,配合健康检查,自动将请求分发到健康的后端实例。


🛠️ 动手练习

  1. 思考题: Neutron 和传统物理网络设备的区别是什么?为什么说 Neutron 实现了"网络即服务"?

  2. 动手实验(如有 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
    
  3. 延伸阅读: 了解 Linux Bridge 与 Open vSwitch 的区别,它们各自在 Neutron 中的应用场景。


📊 今日总结

维度 内容要点
是什么 OpenStack 的网络服务组件,提供 SDN 能力
核心功能 网络/子网管理、路由、安全组、浮动 IP、LBaaS
关键组件 Neutron Server、ML2 Plugin、L3 Agent、DHCP Agent
类比记忆 智能物业网络部,给每户拉专线、装门禁
实际价值 多租户隔离、灵活组网、网络自动化运维
学习建议 先掌握基础网络模型(桥接/路由/NAT),再深入 Agent 原理

💡 明日预告: Cinder — 给虚拟机装上"可插拔硬盘"的块存储服务

results matching ""

    No results matching ""