利用此功能,可以从 OpenStack 云管理平台中通过 OpenStack 安全组使用 VMware NSX for vSphere 策略。NSX 管理员可以定义 OpenStack 云管理员与云用户共享的安全策略。如果云管理员启用了常规安全组,则云用户还可以使用规则定义自己的安全组。云管理员也可以使用此功能插入第三方网络服务。

VMware Integrated OpenStack 3.1 开始,管理员可以通过 Neutron 安全组使用两项新功能。

提供者安全组

也称为管理员规则,如果配置了此类安全组,则必须使用这些安全组,并且这些安全组将应用于给定租户的所有虚拟机。提供者安全组可以与策略相关联,也可以不与策略相关联。

NSX Service Composer - 安全策略安全组

有关详细信息,请参见VMware NSX for vSphere 管理指南》中的“Service Composer”一章。

OpenStack 云管理员可以通过在 custom.yml 文件中设置 nsxv_default_policy_id 选项将每个 VMware NSX for vSphere 策略定义为一个默认策略。所有新租户都会使用此策略作为默认策略。可通过将更多策略与提供者安全组或可选安全组相关联,将这些策略分别定义并分配为给定租户的强制策略或可选策略。租户用户也可以使用规则创建安全组,但不能替代云管理员设置的安全组。

启用 VMware NSX for vSphere 策略后,云管理员可以配置不同的方案。

  1. 云管理员可以使用不同选项禁止创建常规安全组。

    • 如果只有一个默认安全组,则该默认安全组将与默认策略相关联。租户虚拟机将强制使用默认策略定义的规则。

    • 如果云管理员使用其他策略创建了安全组,则租户虚拟机可与此安全组相关联,而不是与默认安全组相关联,只有当前策略中定义的规则才有效。

    • 如果创建了提供者安全组,则租户虚拟机除了使用策略规则之外,还会强制使用提供者安全组中定义的规则。

  2. 云管理员可以使用不同选项创建常规安全组。

    • 使用用户定义的常规安全组启动的虚拟机只会强制实施这些安全组中定义的规则。

    • 如果创建了提供者安全组,则租户虚拟机除了使用常规安全组中的规则之外,还会强制使用提供者安全组中定义的规则。在这种情况下,提供者安全组规则优先于常规安全组规则。同样,如果您同时使用基于策略的安全组和常规安全组,则基于策略的规则优先级较高。

    • 您可以使用策略或规则创建安全组,但不能同时使用这两者创建安全组。

通过 CLI 命令管理 NSX Service Composer - 安全策略安全组

云管理员还可以通过 Integrated OpenStack Manager 使用 CLI 命令更改安全组策略的关联。

操作

命令示例

更改安全组的关联策略。

neutron security-group-update --policy=<NSX_Policy_ID> <SECURITY_GROUP_ID>

使用 nsxadmin 实用程序将现有安全组迁移到基于策略的安全组。

注:

此操作将删除用户定义的现有规则。确保在策略中定义了适当的规则,以避免网络中断。

nsxadmin -r security-groups -o migrate-to-policy --property policy-id=<NSX_Policy_ID> --property security-group-id=<SECURITY_GROUP_ID>

在现有虚拟机端口上强制实施提供者安全组

neutron port-update <PORT_ID> --provider-security-groups list=true <SECURITY_GROUP_ID1> <SECURITY_GROUP_ID2>

确保使用 nsxadmin 实用程序将 NSX 端创建的新策略置于所有 OpenStack 安全组部分之前。

注:

如果某个虚拟机/端口强制实施了多个基于策略的安全组,则 NSX 管理员可通过防火墙部分来控制强制实施这些策略规则的顺序。

sudo -u neutron nsxadmin --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/vmware/nsxv.ini -r firewall-sections -o nsx-reorder