理解概念

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。

最新文章

  1. RAF(RandomAccessFile)类
  2. 【自动化测试】Selenium 2.0 学习笔记
  3. [makefile] filter-out
  4. Fire Net--hdu1045
  5. setAttribute设置无效
  6. 选择排序—堆排序(Heap Sort) 没看明白,不解释
  7. Linux 安装python爬虫框架 scrapy
  8. QLineEdit拾遗:数据的过滤、验证和补全
  9. 【C++11】unoedered_map和map(部分转载)
  10. 泊爷带你学go -- redis连接池的操作
  11. 知识点总结——STL相关(持续补充)
  12. jquery之过滤filter,not
  13. java踩坑
  14. Unit Testing of Spring MVC Controllers: “Normal” Controllers
  15. STAF进行分布式脚本分发----实践篇
  16. MAVEN 引入外部JAR 包
  17. JavaScript 函数全局变量定义
  18. hdoj1233 还是畅通工程(Prime || Kruskal)
  19. WebCollector2.7爬虫框架——在Eclipse项目中配置
  20. 怎么才知道你在使用的是不是中国电信CN2的线路

热门文章

  1. java后端时间处理工具类,返回 "XXX 前" 的字符串
  2. python 字符串报错问题
  3. css常用属性总结:文本属性中的text-align
  4. linux之cut
  5. x64位windows 2003 server中“Server 对象 错误 'ASP 0177 : 800700c1' Server.CreateObject 失败”问题
  6. Unity3D 游戏在 iOS 上因为 trampolines 闪退的原因与解决办法
  7. 子串字谜substring anagrams
  8. [Selenium]点击下拉框之后,从下拉列表选择元素进行点击很容易失败
  9. Python打开文件open()的注意事项
  10. BASE64Encoder及BASE64Decoder编译器找不到问题