FWaaS 实践: 允许 ssh - 每天5分钟玩转 OpenStack(119)

上一节应用了无规则的虚拟防火墙,不允许任何流量通过。

今天我们会在防火墙中添加一条规则,允许 ssh。
最后我们会对安全组和 FWaaS 作个比较。

下面我们添加一条 firewall rule:允许 ssh。

在 Firewall Rules 标签页面点击 “Add Rule” 按钮。

将新 rule 命名为 “allow ssh”,
Protocal 选择 “TCP”,
Action 为 “ALLOW”,
Destination Port/Port Range 为 “22”,

点击 “Add” ,rule 创建成功。

接下来将 rule 添加到 policy 中。

点击 Firewall Policies 标签页面,然后点击 “test_policy” 后面的 “Insert Rule” 按钮。

在下拉框中选择 Rule “allow ssh”,点击 “Save Changes”。

可以看到,“allow ssh” 已经成功添加到 “test_policy” 中。

通过 vimdiff 查看 router namespace 的 iptables-save 发生了什么变化。

iptables 添加了两条规则:

-A neutron-vpn-agen-iv4e85f4601 -p tcp -m tcp --dport 22 -j ACCEPT
-A neutron-vpn-agen-ov4e85f4601 -p tcp -m tcp --dport 22 -j ACCEPT

其含义是进出 router 的 tcp 数据包,如果目的端口为 22(ssh)ssh,则一律 ACCEPT。

测试一下,cirros-vm1 已经可以 ssh cirros-vm2,但 ping 还是不通,这与预期一致。

“allow ssh” 已经起作用。
同时我们也发现,firewall rule 对进出流量同时生效,不区分方向。

小节

FWaaS 用于加强 Neutron 网络的安全性,与安全组可以配合使用。
下面将 FWaaS 和安全组做个比较。

相同点:
1. 底层都是通过 iptables 实现。

不同点:
1. FWaaS 的 iptables 规则应用在 router 上,保护整个租户网络;
安全组则应用在虚拟网卡上,保护单个 instance。

2. FWaaS 可以定义 allow 或者 deny 规则;安全组只能定义 allow 规则。

3. 目前 FWaaS 规则不能区分进出流量,对双向流量都起作用;
安全组规则可以区分 ingress 和 egress。

FWaaS 学习完毕,下节我们继续学习 Neutron 的另一个服务 Load Balancing as a Service.

时间: 2024-10-06 13:17:53

FWaaS 实践: 允许 ssh - 每天5分钟玩转 OpenStack(119)的相关文章

实践 config drive - 每天5分钟玩转 OpenStack(170)

如果 instance 无法通过 metadata service 获取 metadata(无 DHCP 或者 nova-api-metadata 服务),instance 还可以通过 config drive 获得 metadata.   config drive 是一个特殊的文件系统,OpenStack 会将 metadata 写到 config drive,并在 instance 启动时挂载给 instance.如过 instance 安装了 cloud-init,config drive

动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)

本节我们来看如何在实验环境中实施和配置如下 VLAN 网络 配置 VLAN 编辑 /etc/network/interfaces,配置 eth0.10.brvlan10.eth0.20 和 brvlan20. 下面用 vmdiff 展示了对 /etc/network/interfaces 的修改 重启宿主机,ifconfig 各个网络接口 用 brctl show 查看当前 Linux Bridge 的配置. eth0.10 和 eth0.20 分别挂在 brvlan10 和 brvlan20上

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件.  设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

实践 Neutron FWaaS - 每天5分钟玩转 OpenStack(118)

前面我们学习了 FWaaS 的理论知识,今天将通过实验来学习 FWaaS. 在我们的实验环境中,有两个 instance: cirros-vm1(172.16.100.3) 和 cirros-vm2(172.16.101.3). cirros-vm1 和 cirros-vm2 分别位于网络 vlan100 和 vlan101. vlan100 和 vlan101 之间由虚拟路由器 test_router 连接. 网络拓扑如下: 在 test_router 没有应用任何 FWaaS 的情况下,ci

理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)

前面我们学习了安全组,今天学习另一个与安全相关的服务 -- FWaaS. 理解概念 Firewall as a Service(FWaaS)是 Neutron 的一个高级服务.用户可以用它来创建和管理防火墙,在 subnet 的边界上对 layer 3 和 layer 4 的流量进行过滤. 传统网络中的防火墙一般放在网关上,用来控制子网之间的访问. FWaaS 的原理也一样,是在 Neutron 虚拟 router 上应用防火墙规则,控制进出租户网络的数据. FWaaS 有三个重要概念: Fir

实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 我们首先考察实验环境最初始的网络状态.随着学习的深入,我们会对网络不断进行新的配置,大家也将看到网络一步一步发生的变化. 在我们的实验环境中,当前节点上只存在物理网卡设备 ethX,还没有 bridge 和 tap,状态如下: 控制节点 计算节点 了解 linux bridge 环境中的各种网络设备

Neutron 默认安全组规则 - 每天5分钟玩转 OpenStack(115)

Neutron 为 instance 提供了两种管理网络安全的方法: 安全组(Security Group)和虚拟防火墙. 安全组的原理是通过 iptables 对 instance 所在计算节点的网络流量进行过滤. 虚拟防火墙则由 Neutron Firewall as a Service(FWaaS)高级服务提供. 其底层也是使用 iptables,在 Neutron Router 上对网络包进行过滤. 这两种安全方案我们都会讨论,本章先重点学习安全组. 默认安全组 每个 Project(租