Neutron FWaaS 原理

理解概念

Firewall as a Service(FWaaS)是 Neutron 的一个高级服务。
用户可以用它来创建和管理防火墙,在 subnet 的边界上对 layer 3 和 layer 4 的流量进行过滤。

传统网络中的防火墙一般放在网关上,用来控制子网之间的访问。
FWaaS 的原理也一样,是在 Neutron 虚拟 router 上应用防火墙规则,控制进出租户网络的数据。

FWaaS 有三个重要概念:
Firewall、Policy 和 Rule。

Firewall
租户能够创建和管理的逻辑防火墙资源。
Firewall 必须关联某个 Policy,因此必须先创建 Policy。

Firewall Policy
Policy 是 Rule 的集合,Firewall 会按顺序应用 Policy 中的每一条 Rule。

Firewall Rule
Rule 是访问控制的规则,由源与目的子网 IP、源与目的端口、协议、allow 或 deny 动作组成。
例如,我们可以创建一条 Rule,允许外部网络通过 ssh 访问租户网络中的 instance,端口为 22。

与 FWaaS 容易混淆的概念是安全组(Security Group)。

安全组的应用对象是虚拟网卡,由 L2 Agent 实现,比如 neutron_openvswitch_agent 和 neutron_linuxbridge_agent。
安全组会在计算节点上通过 iptables 规则来控制进出 instance 虚拟网卡的流量。
也就是说:安全组保护的是 instance

FWaaS 的应用对象是 router,可以在安全组之前控制外部过来的流量,但是对于同一个 subnet 内的流量不作限制。
也就是说:FWaaS 保护的是 subnet

所以,可以同时部署 FWaaS 和安全组实现双重防护。

启用 FWaaS

因为 FWaaS 是在 router 中实现的,所以 FWaaS 没有单独的 agent。
已有的 L3 agent 负责提供所有 FWaaS 功能。

要启用 FWaaS,必须在 Neutron 的相关配置文件中做些设置。

配置 firewall driver

Neutron 在 /etc/neutron/fwaas_driver.ini 文件中设置 FWaaS 使用的 driver。 如下图所示:

这里 driver 为 iptables。如果以后支持更多的 driver,可以在这里替换。

配置 Neutron

在 Neutron 配置文件 /etc/neutron/neutron.conf  中启用 FWaaS plugin。

原文地址:https://www.cnblogs.com/wangjq19920210/p/9186899.html

时间: 2024-11-07 00:56:18

Neutron FWaaS 原理的相关文章

Neutron - Fwaas配置

Fwaas简介 FWaaS uses iptables to apply firewall policy to all Networking routers within a project.(这些iptables规则存在于router的namespace)FWaaS supports one firewall policy and logical firewall instance per project.(官方介绍,本人翻译水平有限) FWaaS is currently in techni

[转] Neutron FWaaS

OpenStack Neutron FWaaS 学习 ( by quqi99 ) 作者:张华  发表于:2013-06-24 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 另一篇和防火墙相关的文章,OpenStack中的防火墙 ( by quqi99 ) http://blog.csdn.net/quqi99/article/details/7447233 OpenStack的网络组件已经从

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

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

neutron的原理简介

Openstack早期 的网络方案 FLAT FLATDHCP VLAN MULTI-HOST FLAT 指定一个子网,规定虚拟机可使用的IP地址范围: 创建实例时,从有效的ip地址池中取出一个IP,为虚拟机实例分配,然后在虚拟机的启动时候注入虚拟机镜像(文件系统): 手动配置好网桥(br100),所有的系统实例都是和同一个网桥连接: 网桥与连接到网桥的实例组成一个虚拟网络: 网络控制器(nova-network节点)对虚拟机进行nat转换,实现与外网的通信: 目前配置注入只能对linux类型的

实践 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通信原理理解

[[email protected] ~]# ip add show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forev

Neutron二层网络服务实现原理

网络 ? 网络(network)是一个隔离的二层网段,类似于物理网络世界中的虚拟 LAN (VLAN).更具体来讲,它是为创建它的租户而保留的一个广播域,或者被显式配置为共享网段.端口和子网始终被分配给某个特定的网络.根据网络的类型,Neutron network 可以分为: VLAN network(虚拟局域网) :基于物理 VLAN 网络实现的虚拟网络.共享同一个物理网络的多个 VLAN 网络是相互隔离的,甚至可以使用重叠的 IP 地址空间.每个支持 VLAN network 的物理网络可以

理解 OpenStack 高可用(HA)(3):Neutron 分布式虚拟路由(Neutron Distributed Virtual Routing)

本系列会分析 OpenStack 的高可用性(HA)解决方案: (1)概述 (TBD,写完整个系列在回来写这块) (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)Neutron L3 Agent HA - DVR (分布式虚机路由器) (4)RabbitMQ 和 Mysql HA Neutron 作为 OpenStack 一个基础性关键服务,高可用性(HA)和扩展性是它的基本需求之一.对 neutron server 来说,因为它是无状态的,我们可以使用负

Neutron 理解 (8): Neutron 是如何实现虚机防火墙的 [How Neutron Implements Security Group]

学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro