您可以通过创建提供商安全组来阻止项目的特定流量。
标准安全组由租户创建和管理,而提供商安全组由云管理员创建和管理。提供商安全组优先于标准安全组,并在项目中的所有虚拟机上强制实施。
过程
- 以
root
用户身份登录到 Integrated OpenStack Manager。
- 打开工具箱并设置
admin
帐户的密码。
toolbox
export OS_PASSWORD=admin-account-password
- 为特定项目创建提供商安全组。
neutron security-group-create group-name --provider=True --tenant-id=project-id
- 为提供商安全组创建规则。
注: 提供商安全组规则会阻止指定的流量,而标准安全规则允许指定的流量。
neutron security-group-rule-create group-name --tenant-id=project-id [--description rule-description] [--direction {ingress | egress}] [--ethertype {IPv4 | IPv6}] [--protocol protocol] [--port-range-min range-start --port-range-max range-end] [--remote-ip-prefix ip/prefix | --remote-group-id remote-security-group]
选项 |
说明 |
group-name |
输入提供商安全组。 |
--tenant-id |
输入包含提供商安全组的项目的 ID。 |
--description |
输入规则的自定义描述。 |
--direction |
指定 ingress 以阻止入站流量,或指定 egress 以阻止出站流量。 如果不包括此参数,则默认使用 ingress 。 |
--ethertype |
指定 IPv4 或 IPv6。 如果不包括此参数,则默认使用 IPv4 。 |
--protocol |
指定要阻止的协议。输入介于 0 到 255 之间的整数表示形式或以下值之一:
要阻止所有协议,请不要包括此参数。 |
--port-range-min |
输入要阻止的第一个端口。 要阻止所有端口,请不要包括此参数。要阻止单个端口,请为 --port-range-min 和 --port-range-max 参数输入相同的值。 |
--port-range-max |
输入要阻止的最后一个端口。 要阻止所有端口,请不要包括此参数。要阻止单个端口,请为 --port-range-min 和 --port-range-max 参数输入相同的值。 |
--remote-ip-prefix |
输入要阻止的流量的源网络(例如,10.10.0.0/24)。 此参数不能与 --remote-group-id 参数结合使用。 |
--remote-group-id |
输入要阻止的流量的源安全组的名称或 ID。 此参数不能与 --remote-ip-prefix 参数结合使用。 |
结果
提供商安全组规则会在指定项目中虚拟机上的所有新创建的端口上强制实施,并且不能由租户定义的安全组替代。
后续步骤
您可以通过运行以下命令在现有端口上强制实施一个或多个提供商安全组:
neutron port-update port-id --provider-security-groups list=true group-id1...