权限和安全配置
权限和安全配置
在创建服务器实例之前,你需要在该实例上添加安全组规则,这样服务器实例的用户才能 ping 这个主机或者通过 SSH 连接这个实例。安全组是 IP 过滤的规则组,它决定了网络的连通性,适用于一个 Project 内的所有实例。配置安全组有两种方式:要么是在默认的安全组中添加规则,要么新建一个安全组,然后把规则写在新的安全组里。
密钥对是 SSH 的证书,在实例启动时被注入进系统里。如欲使用密钥对注入,镜像中的系统上必须安装了 cloud-init 包。每个 Project 必须有至少一个密钥对,欲知详情,请参看添加密钥对。
如果你使用了其他工具生产了密钥对,你可以将这个密钥对导入进 OpenStack。密钥对可以用在一个 Project 下的多个实例里。欲知详情,请参看导入密钥对。
注意:一对密钥只属于一个独立的用户,而不属于 Project。如果想让多个用户都用同一个密钥对的话,需要让每个用户都导入一次才可以。
在 OpenStack 中创建实例时,OpenStack 会在可用的 IP 段中分配一个固定 IP 给这个实例。在这个实例的整个生命周期里,这个 IP 都和它相关联,只有删掉这个实例后这个 IP 才被释放。不过除了固定 IP 外,Floating IP 也可以和实例相关联。和固定 IP 不同的是,floating IP 可以无视实例的状态,随时被关联到一个不同的实例上。
在默认的安全组上添加规则
以下操作过程介绍了如何在一个实例上启用 SSH 和 ICMP(ping)权限。该操作对 Project 内的所有实例生效,也建议用户在所有的 Project 下执行这些操作,除非你们有什么特殊理由要禁用实例的 SSH 和 ICMP。
如果你的云需要,也可以调整以下的步骤,从而添加别的安全组规则。
注意:添加规则的时候,必须指定源端口或目的端口使用的协议。
- 登录控制台。
- 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
- 在 Project 选项卡中,打开 Compute 选项卡,点击
Access & Security
分类。在这里,安全组选项列出了当前 Project 适用的安全组信息。 - 选择默认的安全组,点击“规则管理”。
- 点击“添加规则”。
- 在添加规则对话框,输入如下规则:
Rules: SSH Remote: CIDR
注意:如果要只允许某一个 IP 段内的主机访问,在 CIDR 框中填写相应的 IP 段即可。
- 点击“添加”。
此时该 Project 下的所有实例的 SSH 端口(22)便都打开了。 - 再次点击“添加规则”。
- 在添加规则对话框,输入如下规则:
Rules: All ICMP Remote: Ingress
- 点击“添加”。
此时该 Project 下的实例应该可以接收 ICMP 包了。
添加密钥对
至少要给每一个 Project 都至少创建一个密钥对:
- 登录控制台。
- 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
- 在 Project 选项卡中,打开 Compute 选项卡,点击
Access & Security
分类。 - 点击密钥对选项卡,该选项卡内会显示该 Project 内所有可用的密钥对。
- 点击创建密钥对。
- 在创建密钥对窗口,输入密钥对的名字,然后点击创建密钥对。
- 下载生成的密钥对。
导入密钥对
- 登录控制台。
- 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
- 在 Project 选项卡中,打开 Compute 选项卡,点击
Access & Security
分类。 - 点击密钥对选项卡,该选项卡内会显示该 Project 内所有可用的密钥对。
- 点击导入密钥对。
- 在导入密钥对对话框,输入你要导入的密钥对的名字,将公钥粘贴进公钥框,然后点击导入密钥对。
- 在本地保存
*.pem
文件。 - 如果要将私钥修改成只有你能访问,使用如下命令:
$ chmod 0600 yourPrivateKey.pem
注意:如果你在用 Windows 访问 OpenStack 控制台,用 PuTTYgen 导入
*.gem
文件,然后转换成*.ppk
。欲知详情,请参阅 WinSCP web page for PuTTYgen。 - 通过运行
ssh-add
来导入密钥。$ ssh-add yourPrivateKey.pem
此时你电脑上的电脑便注册了该密钥对的公钥。
在 OpenStack 控制台中,所有密钥对都会在 Access & Security 选项卡中列出。
为服务器实例分配 Floating IP
在 OpenStack 中创建实例时,OpenStack 会在可用的 IP 段中分配一个固定 IP 给这个实例。在这个实例的整个生命周期里,这个 IP 都和它相关联,只有删掉这个实例后这个 IP 才被释放。
不过,除了固定 IP 外,Floating IP 也可以和实例相关联。和固定 IP 不同的是,floating IP 可以在无视实例状态的情况下随时被关联到一个不同的实例上。
以下步骤详述了将一个 IP 从 IP 资源池中预留出来变成 Floating IP,和把这个 IP 分配给某个实例的过程。
- 登录控制台。
- 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
- 在 Project 选项卡中,打开 Compute 选项卡,点击
Access & Security
分类。 - 点击 Floating IP 选项卡,该选项卡中会显示所有分配给实例的 Floating IP。
- 点击“Allocate IP To Project”。
- 选择 IP 地址的来源 IP 池。
- 点击“Allocate IP”。
- 在“Floating IPs”列表中,点击“Associate”。
- 在“Manage Floating IP Associations”对话框中,选择如下选项。
- “IP Address”一栏是自动填好的,但是你也可以用“+”按钮添加一个新的 IP 地址。
- 在“Port to be associated”一栏,在列表中选择一个端口。
这个列表列出了所有实例和这些实例绑定的固定 IP 地址。
- 点击“Associate”。
注意:如果要解绑 IP,请点击“Disassociate”按钮。
如果要将 Floating IP 重新放回 IP 资源池,点击“More”,然后点击“Release Floating IP”。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论