Brocade Neutron FWaaS 驱动程序,用于 Vyatta vRouter

https://blueprints.launchpad.net/neutron/+spec/brocade-vyatta-fwaas-plugin

引入 Brocade Vyatta 防火墙设备驱动程序,使用作为 Neutron 路由器的 Vyatta vRouter VM 提供 FWaaS 解决方案。该驱动程序实现“周界防火墙”功能,以过滤租户私有网络与外部网络之间的流量。

问题描述

Brocade Vyatta vRouter 是一种多服务产品,提供各种 L3 和 L4 服务,如路由、NAT、防火墙、VPN 等。虽然使用 Brocade Vyatta L3 插件 [1] 可以获得基本的 neutron 路由器 L3 功能,但目前无法通过现有的 Neutron FWaaS API 配置 vRouter 的防火墙功能。

提议的变更

此蓝图提出一个新的 Neutron FWaaS 代理的厂商设备驱动程序。FWaaS 服务插件侧无需更改,现有的参考 FWaaS 插件已经足够。

>>                    +----------------------+
>>                    |   Vyatta L3 NAT      |
>>                    |        Agent         |
>>                    |                      |
>>                    | +------------------+ |
>>                    | |    FWaaS Agent   | |
>>    RPC to FWaaS    | +------------------+ |
>>    service plugin  | |    Vyatta FWaaS  | |
>>                    | |   Device Driver  | |
>>    <---------------+ |                  | |
>>                    +-+--------+---------+-+
>>                               |
>>                               |
>>                               | REST API
>>                               |
>>                      +--------v---------+
>>                      |                  |
>>                      |                  |
>>                      | Vyatta vRouter   |
>>                      |                  |
>>                      |                  |
>>                      |                  |
>>                      |                  |
>>                      +------------------+

Vyatta L3 NAT 代理使用 Neutron L3 NAT 代理将防火墙关联到路由器接口。

Vyatta FWaaS 设备驱动程序将在 FWaaS 代理确定时,为以下 CRUD API 调用 Vyatta vRouter REST API

  1. create_firewall

  2. update_firewall

  3. delete_firewall

所有这些功能都类似于现有的参考 FWaaS 设备驱动程序实现。由于现有 neutron 防火墙插件的限制,防火墙规则将应用于所有租户路由器。此工作也将与社区关于在单个路由器上插入防火墙模式的规范 [3] 相一致。

请注意,我们意识到 Kilo [4] 中提出的当前 L3 代理重构。鉴于计划保持设备驱动程序接口不变,此蓝图提出的更改将以最小的影响集成到重构中。

这项工作是更广泛的一系列蓝图的一部分,旨在提供使用 Vyatta vRouter VM 的 Neutron L3 和 L4 服务

  • [1] 引入使用 Vyatta vRouter 的 neutron 路由器功能。

  • [2] 引入使用 Vyatta vRouter 的 VPN 服务。

数据模型影响

无。

REST API 影响

无。

安全影响

该设备驱动程序将使用一个通用的 RESTapi 客户端库,该库使用 basic-auth 身份验证连接到 Vyatta vRouter。

通知影响

无。

其他最终用户影响

当租户使用 Neutron API 创建防火墙时,它将在载波级的 Vyatta vRouter 上创建。

性能影响

无。

IPv6 影响

无。

其他部署者影响

操作员应首先按照 [1] 中所述配置 Brocade Vyatta L3 插件。应配置 Neutron 防火墙插件、Vyatta L3 代理和防火墙驱动程序。配置完成后,将为租户路由器上的防火墙 CRUD 操作调用 Vyatta FWaaS 驱动程序。

开发人员影响

无。

社区影响

使用多个厂商(包括 Brocade 的这个)验证 Neutron FWaaS API 将有助于使这些 API 摆脱当前的实验状态。

备选方案

无。

实现

负责人

主要负责人

vishwanathj

其他贡献者

natarajk。

工作项

  • 添加新的 Vyatta 防火墙设备驱动程序。

  • 添加测试设备驱动程序所需的单元测试。

依赖项

  • Brocade Vyatta L3 插件 [1]

测试

Tempest 测试

  • 将提供第三方测试(Brocade Vyatta CI)。

  • Brocade Vyatta CI 将报告影响此插件的所有更改。

  • 使用 devstack 和 Vyatta vRouter 进行测试。

功能测试

将添加场景测试以验证 Vyatta FWaaS 实现。

API 测试

由于此蓝图未更改任何 API,因此不计划进行新的 API 测试。

文档影响

用户文档

将在 Neutron 中更新 Brocade 特定的文档,说明此功能的可用性以及启用它所需的 fwaas_device_driver 配置。

开发人员文档

无。

参考资料