Neutron 默认的安全组规则会禁止掉所有从外面访问 instance 的流量。

本节我们会修改安全组的配置,允许 ping 和 ssh instance。
有两种方法可以达到这个目的:

1. 修改 “default” 安全组。 2. 为 cirros-vm1 添加新的安全组。

这里我们采用第二种方法。

在安全组列表页面点击按钮。

为安全组命名并点击 “Create Security Group”。 新的安全组 “allow ping & ssh” 创建成功。

点击按钮,查看 “allow ping & ssh” 的规则。

系统默认定义了两条规则,运行所有的外出流量。 为清晰起见,可以点击按钮删除这两条规则。

点击按钮,添加允许 ping 的规则。

“Rule” 选择 “All ICMP”,“Direction” 选择 “Ingress”,然后点击 “Add” 按钮。

同样的方式添加 ssh 规则。

在列表中查看添加成功的规则。

接下来设置 cirros-vm1,使用新的安全组。 进入 instance 列表页面,点击 cirros-vm1 下拉操作列表中的 “Edit Security Groups”

可以看到 cirros-vm1 当前使用的安全组为 “default”,可选安全组为 “allow ping & ssh”。

点击安全组 “allow ping & ssh” 后面的 “+” 按钮。

点击 “Save” 保存。

iptables 会立即更新,下面通过 vimdiff 查看 iptables 前后的变化。

“allow ping & ssh” 安全组引入了下面两条 iptables 规则。 作用是运行 ingress 的 ssh 和 ping 流量。

-A neutron-linuxbri-i8bca5b86-2 -p tcp -m tcp --dport 22 -j RETURN -A neutron-linuxbri-i8bca5b86-2 -p icmp -j RETURN

测试一下,现在能够 ping 和 ssh cirros-vm1 了。

小结

安全组有以下特性: 1. 通过宿主机上 iptables 规则控制进出 instance 的流量。 2. 安全组作用在 instance 的 port 上。 3. 安全组的规则都是 allow,不能定义 deny 的规则。 4. instance 可应用多个安全组叠加使用这些安全组中的规则。

安全组学习完了,下节我们讨论 Neutron 的另一个安全机制 -- 虚拟防火墙。

blob.png

posted on 2016-11-23 06:38  CloudMan  阅读(5756)  评论(2编辑  收藏  举报