Neutron-简介
1、官网地址
https://docs.openstack.org/neutron/rocky/
2、图文简介

OpenStack Neutron 是 OpenStack 的核心组件之一,负责网络服务(Networking Service)。它提供了网络连接的抽象层,允许用户创建和管理虚拟网络、子网、路由器、负载均衡器、防火墙等网络资源。Neutron 的设计目标是提供灵活、可扩展的网络功能,支持多租户环境和复杂的网络拓扑。
3、Neutron-核心功能
1、虚拟网络管理:
支持创建和管理虚拟网络(Network)、子网(Subnet)和端口(Port)。
2、路由与 NAT:
提供虚拟路由器(Router)功能,支持子网之间的路由和网络地址转换(NAT)。
3、安全组与防火墙:
提供网络安全组(Security Groups)和防火墙(Firewall)功能,确保虚拟机的网络安全。
4、负载均衡:
支持负载均衡器(Load Balancer)的创建和管理,用于分发流量。
5、VPN 与 VPNaaS:
提供虚拟专用网络(VPN)功能,支持站点到站点的 VPN 连接。
6、多插件支持:
支持多种网络插件和驱动,如 Open vSwitch、Linux Bridge、ML2 等。
7、API 支持:
提供 RESTful API,方便与其他 OpenStack 服务集成。
4、Neutron-核心概念
1、Network(网络):
虚拟网络的抽象,可以是私有网络或公共网络。
2、Subnet(子网):
网络的 IP 地址范围,用于分配 IP 地址给虚拟机。
3、Port(端口):
虚拟机的网络接口,连接到虚拟网络。
4、Router(路由器):
用于连接不同子网的虚拟路由器,支持静态路由和 NAT。
5、Security Group(安全组):
定义虚拟机的网络访问规则,类似于防火墙。
6、Load Balancer(负载均衡器):
用于分发流量到多个虚拟机实例。
7、Floating IP(浮动 IP):
用于从外部网络访问虚拟机的公共 IP 地址。
8、Provider Network(提供商网络):
与物理网络直接连接的虚拟网络。
5、Neutron-架构下组件:
1、Neutron Server:
提供 RESTful API,用于接收和响应客户端请求。
处理网络资源的创建、更新和删除。
2、Neutron Plugin:
提供网络功能的抽象接口。
支持多种插件,如 ML2(Modular Layer 2)。
3、Neutron Agent:
运行在计算节点和网络节点上,负责具体的网络操作。
包括 L2 Agent(如 Open vSwitch、Linux Bridge)、L3 Agent、DHCP Agent 等。
4、Database:
存储 Neutron 的元数据和状态信息。
通常使用 MySQL 或 PostgreSQL。
5、Message Queue(消息队列):
用于 Neutron 组件之间的通信。
通常使用 RabbitMQ 或 Apache Qpid。
6、Neutron-工作流程
1、创建网络:
用户通过 Neutron API 创建虚拟网络。
Neutron Server 将请求转发给相应的插件和代理。
2、创建子网:
用户通过 Neutron API 创建子网,并指定 IP 地址范围。
DHCP Agent 为虚拟机分配 IP 地址。
3、创建路由器:
用户通过 Neutron API 创建虚拟路由器。
L3 Agent 负责路由器的配置和管理。
4、创建虚拟机:
Nova 从 Neutron 获取网络信息,为虚拟机创建网络接口。
5、分配 Floating IP:
用户通过 Neutron API 为虚拟机分配 Floating IP,以便从外部网络访问。
7、Neutron-配置与部署流程
1、安装 Neutron:
使用包管理工具(如 apt 或 yum)安装 Neutron。
例如:apt install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent。
2、配置数据库:
Neutron 需要一个数据库(如 MySQL 或 PostgreSQL)来存储元数据。
配置数据库连接信息。
3、配置消息队列:
配置消息队列(如 RabbitMQ)用于组件通信。
4、配置网络插件:
选择网络插件(如 ML2)和驱动(如 Open vSwitch、Linux Bridge)。
配置插件参数。
5、启动服务:
启动 Neutron Server 和相应的 Agent。
例如:systemctl start neutron-server。
6、验证安装:
使用 openstack 命令行工具验证 Neutron 是否正常工作。
例如:openstack network list。
8、Neutron-常用命令
8-1、创建网络
openstack network create my_network
8-2、创建子网
openstack subnet create --network my_network --subnet-range 192.168.1.0/24 my_subnet
8-3、创建路由器
openstack router create my_router
8-4、连接子网到路由器
openstack router add subnet my_router my_subnet
8-5、分配 Floating IP
openstack floating ip create public
openstack server add floating ip <instance_id> <floating_ip>
8-6、列出网络
openstack network list
9、Neutron-应用场景
多租户网络:为不同用户或团队提供独立的虚拟网络。
复杂网络拓扑:支持创建复杂的网络拓扑,如多层网络、VPN 连接等。
负载均衡与高可用性:通过负载均衡器和浮动 IP 实现高可用性。
混合云:支持与其他云平台(如 AWS、Azure)的网络集成。
Neutron-组件控制节点部署
1、数据库配置
1-1、创建数据库 neutron, 创建用户 neutron 并赋予他指定数据库的权限

2、Neutron-软件安装
2-1、安装命令

3、Neutron-软件配置
3-1、备份配置文件,并开始进行对应配置文件的配置操作

3-2、进行数据库配置文件的配置。/connection

3-3、配置二层网络模块 Modular Layer2 (ML2) 核心插件和服务插件/core_plugin

3-4、配置 neutron 用的 rabbitmq 的地址。/transport_url

3-5、配置认证方式。/auth_strategy

3-6、进行keystone 认证信息的添加。/[keystone_authtoken]

3-7、配置 nova的通知配置。/notify_nova

3-8、配置 nova服务的 keystone配置信息。/[nova]

3-9、配置所文件的路径。/var/lib/neutron/tmp

3-10、查看对应的配置信息结果

3-11、进行对应文件的配置操作

3-12、开启插件驱动,直接取消注释即可。/type_drivers

3-13、配置项目的网络类型。/tenant_net

3-14、设置物理网卡的驱动为 linuxbridge。/mechanism_dri

3-15、扩展驱动打开端口安全。/extension_dri

3-16、设置扁平网络类型为提供者网络。/flat_net

3-17、开启 ipset 功能,直接取消注释即可。/enable_ipset

3-18、查看配置文件修改效果:

4、Neutron-配置桥接客户端配置文件
4-1、备份指定配置文件,linuxbridge_agent.ini

4-2、进行设备端口的映射配置。/physical_in [eth33]

4-3、关闭 vxlan 功能,因为暂时用不到。/enable_vxlan

4-4、在安全组中,设置防火墙驱动。/firewall_driver

4-5、开启安全组的功能。/enable_security_group

4-6、查看效果

5、Neutron-配置dhcp的客户端配置文件
5-1、查找到配置文件,并进行对应的文件备份。

5-2、设置接口驱动。/interface_d

5-3、设置dhcp驱动,直接取消注释即可。/dhcp_dr

5-4、开启元数据功能,直接取消注释即可。/enable_iso

5-5、查看对应的修改效果

6-1、备份对应的配置文件

6-2、配置 nova 元数据存储主机地址。/nova_me


6-4、查看校验配置效果

7、Neutron配置nova服务的配置文件
7-1、设置neutron 服务的验证信息。/[neutron]

8、数据同步
8-1、进行plugin.ini 文件软连接的创建。

8-2、进行对应的数据同步操作。

8-3、同步效果验证

9、Neutron-权限配置
9-1、加载admin 用户环境变量,创建neutron 用户

9-2、添加neutron用户到service 项目的admin 角色组

9-3、创建 neutron 服务

、注册 neutron的url 地址记录



9-5、验证效果
openstack user list
openstack service list
openstack endpoint list



10、整体效果测试
10-1、重启nova服务

10-2、开启对应的服务,并查看服务的状态

10-3、启动服务,设置为开机自启动

10-4、查看对应的结果列表

Neutron-组件计算节点部署
1、配置 neutron.conf 文件,先备份指定配置文件

2、进行计算节点对应软件的安装

3、进行 rabbitmq 的配置。/transport_url

4、配置认证方式。/auth_strate

5、配置keystone 的认证信息。/[keystone_au

6、修改锁文件路径。/lock_path

7、查看对应的验证效果

8、备份配置桥设备客户端配置文件

9、对应的网卡配置。/physical [ens33]

10、关闭 vxlan 配置。/enable_vxlan

11、配置并开启 安全组功能。/firewall_dr

12、检验配置结果。

13、配置nova的配置文件。
vim /etc/nova/nova.conf
14、配置nova 使用 neutron 的配置。/[neutron

15、开启对应的服务,检查一下状态,设置为开机自启动

Neutron-控制节点服务端验证效果:
1、查看所有的网络客户端

2、查看所有的计算节点服务
openstack compute service list
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix