7.2. 更新安全组规则
您可以更新在 OpenShift (RHOSO)环境中的 Red Hat OpenStack Services 中有权访问的任何安全组的规则。
先决条件
-
管理员已为您创建一个项目,并为您提供了一个
clouds.yaml
文件来访问云。 python-openstackclient
软件包驻留在您的工作站上。dnf list installed python-openstackclient
$ dnf list installed python-openstackclient
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
确认为您的云设置了系统
OS_CLOUD
变量:echo $OS_CLOUD
$ echo $OS_CLOUD my_cloud
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果需要,重置变量:
export OS_CLOUD=my_other_cloud
$ export OS_CLOUD=my_other_cloud
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为替代方案,您可以在每次运行
openstack
命令时添加--os-cloud <cloud_name
> 选项指定云名称。检索您要为其更新规则的安全组的名称或 ID:
openstack security group list
$ openstack security group list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确定您需要应用到安全组的规则。
在您的安全组中添加规则:
openstack security group rule create --protocol <protocol> \ [--dst-port <port-range>] \ [--remote-ip <ip-address> | --remote-group <group>] \ [--ingress | --egress] <group_name>
$ openstack security group rule create --protocol <protocol> \ [--dst-port <port-range>] \ [--remote-ip <ip-address> | --remote-group <group>] \ [--ingress | --egress] <group_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<
;protocol> 替换为您要允许与您的实例通信的协议名称。 -
可选:将
<port-range
> 替换为为协议打开的目标端口或端口范围。IP 协议 TCP、UDP 和 SCTP 是必需的。设置为-1
以允许指定协议的所有端口。使用冒号来解析端口范围值。 -
可选: 您可以使用
--remote-ip
指定远程 IP 地址块( or--remote-group
) 来只允许从指定的 IP 地址访问,以指定该规则只适用于来自远程组的成员的接口的数据包。如果使用--remote-ip
,请将 <ip-address
> 替换为远程 IP 地址块。您可以使用 CIDR 表示法。如果使用--remote-group
,请将 替换为现有安全组的名称或 ID。如果未指定选项,则允许访问所有地址,因为远程 IP 访问范围默认为 (IPv4 默认:
0.0.0.0/0
;IPv6 默认:::/0
)。 -
指定协议规则应用到的网络流量的方向,可以是传入(
入口
)或传出(egress
)。如果没有指定,则默认为ingress
。 -
使用您要将规则应用到的安全组的名称或 ID 替换
。
-
将
重复上一步,直到您已为您要允许访问实例的所有协议创建了规则。
以下示例创建了允许 SSH 连接到安全组
mySecGroup
中的实例的规则:openstack security group rule create --protocol tcp \ --dst-port 22 mySecGroup
$ openstack security group rule create --protocol tcp \ --dst-port 22 mySecGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow