2021SC@SDUSC

Openstack Neutron

一.Neutron 简介

Neutron 是Openstack提供其他接口设备间的网络通信的模块。它实现了Openstack的网络API

Neutron允许使用者建立和确定网络连接并确定”云“的地址。

Openstack网络负责虚拟网络的创建和管理,包括Nova创建的虚拟机组成的网络,交换机,子网和路由还有防火墙和VPN。

Openstack 网络包括服务器,一个保存永久数据的数据库以及任意数量的插件以用来和原生linux网络机制交互。

  1. Neutron组件:neutron-server ,neutron-plugin,neutron - agent
  2. 组件功能:neutron-server 用来接收neutron REST API调用的服务器。负责将不同的rest api发送到不同的neutron -plugin(与各组件交互)
neutron-plugin是不同网络功能实现的入口,从neutron-server 接受rest api,向neutron database 完成一些信息注册,将具体要执行的业务操作和参数传给neutron-agent(操作数据库)

neutron-agent 接受neutron传来的操作和参数,转化为设备级的操作,完成实际的操作。当设备发生问题时将事件通知给plugin。(真正执行者)

Network

一个隔离的二层广播域。Neutron 支持多种类型的 Network,包括 Local, Flat, VLAN, VxLAN 和 GRE

Subnet

一个 IPv4 或者 IPv6 地址段。Instance 的 IP 从 Subnet 中分配。每个 Subnet 需要定义 IP 地址的范围和掩码。

Port

虚拟交换机上的一个端口。Port 上定义了 MAC 地址和 IP 地址,当 instance 的虚拟网卡 VIF(Virtual Interface) 绑定到 Port 时,Port 会将 MAC 和 IP 分配给 VIF。

==一个Project对应多个Network,Network对应多个Subnet,Subnet对应多个Port,一个Port对应一个VIF,一个instance

二.Neutron基本功能
  1. Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 VPN 等。
  2. 路由:
  1. Instance 可以配置不同网段的 IP,Neutron 的 router(虚拟路由器)实现 Instance 跨网段通信。router 通过 IP forwarding,iptables 等技术来实现路由和 NAT。

2. Neutron 路由器是一个三层的(L3)的抽象,其模拟物理路由器,为用广提供路由、NAT等服务,在 Openstack网络中,不用子网之间的通信需要路由器,网络与外部网络之间的通信更需要路由器。

3. Neutron 提供虚拟路由器,也支持物理路由器。例如,两个隔离的ⅥLAN网络之间需要实现通信,可以通过物理路由器实现,由物理路由器提供相应的 IP 路由表,确保两个IP子网之间的通信,将两个VLAN网络中的虚拟机默认网关分别设置为路由路由器的接口A和B的IP地址。VLAN中的虚拟机要与 VLANB中的虚拟机通信时,数据包将通过LANA中的物理网卡到达路由器,有物理路由器转发到 VLAN B中的物理网卡,在到目的的虚拟机。

到达路由器,有物理路由器转发到 VLAN B中的物理网卡,在到目的的虚拟机。

openstack neutron 修改配额 openstack neutron api_Network