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
create_firewall
update_firewall
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 配置。
开发人员文档¶
无。