openstack之neutron介绍

核心组件

neutron-server:提供API接口,把对应的api请求传给plugin进;

neutron-plugin:管理逻辑网络状态,调用agent;

neutron-agent:在provider network上创建网络对象;

neutron-dhcp-agent:轻量级进程dnsmasq绑定到指定命名空间中的 br-int 的接口上,实现dns、tftp、dhcp等功能;

neutron-l3-agent:实现tenant network和floating ip之间的地址转换,通过 iptables 的snat、dnat来完成地址的双向转换;
在这里插入图片描述

plugin

service_plugin:virtual router,处理三层网络请求;

core_plugin:ml2,处理二层网络请求;

ml2

Type Driver:创建网络的类型,平面网络、vlan、vxlan、GRE;

Techanism Driver:实现二层网络的具体软件;

在这里插入图片描述

相关概念

qbr:网桥,linux bridge创建,通过iptables实现security group功能;

br-int:综合网桥,openvswitch创建,实现二层网络;

br-tun:网桥,ovs创建,通过隧穿技术tunnel,与br-int形成通道,实现虚拟三层网络;

GRE:General Routing Encapsulation,隧道封装的一种实现;

在这里插入图片描述

qvb:veth pair虚拟以太对,qbr是使用linux bridge创建的网桥,故使用qvb作为虚拟接口;

qvo:veth pair,br-int是使用ovs创建的网桥,故使用qvo作为虚拟接口;

br-ex:网桥,ovs创建并绑定物理网卡,负责南北向流量,通过br-ex前会通过iptables实现nat地址转换;

在这里插入图片描述

举例

# 创建外部网络
openstack network create --enable --provider-network-type 网络类型  --provider-physical-network 流量绑定provider network --project 项目名称 --external  外部网络名称

# 创建外部网络子网
openstack subnet create --subnet-range 外部子网网段 --gateway 网关 --dhcp --network 外部网络名称 外部子网名称

# 创建私有网络
openstack network create 私有网络名称

# 创建私有网络子网
openstack subnet create --network 私有网络名称 --subnet-range 子网网段 私有网络子网名称

# 创建路由
openstack router create 虚拟路由名称

# 路由器连接外网
openstack router set --external-gateway 外部网络名称 --enable-snat 虚拟路由名称

# 路由器连接内网
openstack router add subnet 虚拟路由器名称 私有网络子网名称
# 创建浮动ip
openstack floating ip create 外部网络名称

# 绑定到虚拟机
openstack server add floating ip 虚拟机名称 ip地址
# 解绑
openstack server remove floating ip 虚拟机名称 ip地址

附ovs操作

# 显示当前OVS的配置信息
ovs-vsctl show
# 创建一个新的网桥
ovs-vsctl add-br <bridge-name>
# 删除指定的网桥
ovs-vsctl del-br <bridge-name>
# 在指定的网桥上添加一个新的端口
ovs-vsctl add-port <bridge-name> <port-name>
# 在指定的网桥上删除一个端口
ovs-vsctl del-port <bridge-name> <port-name>
# 设置控制器的地址和端口
ovs-vsctl set-controller <bridge-name> tcp:<controller-ip>:<controller-port>


# 显示指定网桥的OpenFlow交换机信息
ovs-ofctl show <bridge-name>
# 显示指定网桥的流表信息
ovs-ofctl dump-flows <bridge-name>
# 向指定网桥的流表添加一条规则
ovs-ofctl add-flow <bridge-name> <flow-rule>
# 删除指定网桥的所有流表规则
ovs-ofctl del-flows <bridge-name>


# 显示数据通路datapath的信息
ovs-appctl dpctl/show
# 显示流表信息
ovs-appctl dpctl/dump-flows
# 显示指定绑定接口的信息
ovs-appctl bond/show <bond-name>
# 设置指定模块的日志级别
ovs-appctl vlog/set <module>:<level>

相关推荐

  1. OpenStack云计算(三)neutron

    2024-04-13 11:36:06       48 阅读
  2. OpenStackOpenStack实战开篇

    2024-04-13 11:36:06       41 阅读
  3. openstack

    2024-04-13 11:36:06       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 11:36:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 11:36:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 11:36:06       82 阅读
  4. Python语言-面向对象

    2024-04-13 11:36:06       91 阅读

热门阅读

  1. AWTK 开源串口屏 MODBUS Server 模型

    2024-04-13 11:36:06       183 阅读
  2. 写代码的修养

    2024-04-13 11:36:06       44 阅读
  3. 设计模式的7大基本原则

    2024-04-13 11:36:06       37 阅读
  4. 算法竞赛总结(C++) 持续更新中

    2024-04-13 11:36:06       169 阅读
  5. Github 2024-04-13 开源项目日报 Top9

    2024-04-13 11:36:06       34 阅读
  6. Django——CBV源码解析

    2024-04-13 11:36:06       38 阅读
  7. vue前端项目启动报错,node由C:盘改到D:盘

    2024-04-13 11:36:06       39 阅读
  8. token失效时在当前页面重新登录

    2024-04-13 11:36:06       35 阅读
  9. 深入探讨Python中的匿名函数lambda

    2024-04-13 11:36:06       46 阅读
  10. Linux 中断会产生嵌套吗?

    2024-04-13 11:36:06       43 阅读
  11. IDEA版本

    2024-04-13 11:36:06       39 阅读
  12. NJU PA0

    NJU PA0

    2024-04-13 11:36:06      32 阅读
  13. 俄罗斯游戏市场分析与海外营销策略洞察

    2024-04-13 11:36:06       39 阅读
  14. 数据仓库的—数据仓库的体系架构

    2024-04-13 11:36:06       123 阅读