openstack中nova使用了iptables实现其网络相关功能,乍看openstack的iptables表比较复杂,整理了一下iptables的filter表和nat表的结构,以一个all in one的openstack的iptables表为例,展示了iptables的filter表和nat表在openstack中的使用。

Filter表

INPUT链结构:

实例:

INPUT链:

nova-network-INPUT链:

开放了67和53端口(DHCP 和 DNS端口)。

nova-compute-INPUT链:

开放了67和68端口(Bootps端口和Bootpc端口)

nova-api-INPUT链:

开放了nova-metadata的8775端口。

FORWARD链结构:

实例:

FORWARD链:

在系统默认的链中添加了4条自定义链。

nova-filter-top链:

nova-network-local链:

nova-compute-local链:

转到各个instance的nova-compute-inst-XXX链。

nova-compute-inst-XXX链:

每个instance的访问控制规则链,由secgroup定义。

nova-compute-provider链:

nova-compute-sg-fallback链:

上述规则都不满足则丢弃。

nova-api-local链:

nova-network-FORWARD链:

实现网关作用。

nova-compute-FORWARD链:

开放了67和68端口(Bootps端口和Bootpc端口)

nova-api-FORWARD链:

OUTPUT链结构:

实例:

OUTPUT链:

添加了4条自定义链。

nova-filter-top链同上。

nova-network-OUTPUT链:

nova-compute-OUTPUT链:

nova-api-OUTPUT链:

NAT表

PREROUTING链结构:

实例:

PREROUTING链:

nova-network-PREROUTING链:

metadate和floating ip的DNAT规则。

nova-compute-PREROUTING链:

nova-api-PREROUTING链:

POSTROUTING链结构:

实例:

POSTROUTING链:

nova-network-POSTROUTING链:

nova-compute-POSTROUTING链:

nova-api-POSTROUTING链:

nova-postrouting-bottom链:

nova-network-snat链:

从public_interface出去的包进行SNAT,10.224.148.69是public_interface的ip。

nova-network-float-snat链:

floating ip的SNAT规则。

nova-compute-snat链:

nova-compute-float-snat链:

nova-api-snat链:

nova-api-float-snat链:

OUTPUT链结构:

实例:

OUTPUT链:

nova-network-OUTPUT链:

floating ip的DNAT规则。

nova-compute-OUTPUT链:

nova-api-OUTPUT链:

Refer:

http://www.ibm.com/developerworks/cloud/library/cl-openstack-network/index.html

openstack中iptables的使用的更多相关文章

  1. 在OpenStack中绕过或停用security group (iptables)

    眼下.OpenStack中默认採用了security group的方式.用系统的iptables来过滤进入vm的流量.这个本意是为了安全,可是往往给调试和开发带来一些困扰. 因此,暂时性的禁用它能够排 ...

  2. openstack中安装包与组件

    keystone openstack-keystone:验证服务,openstack 中的所有组件的验证以及用户验证,权限,目录等服务. python-openstackclient:命令行,安装以后 ...

  3. DPDK在OpenStack中的实现

    随着云计算与大数据的快速发展,其对数据中心网络的性能和管理提出了更高的要求,但传统云计算架构存在多个I/O瓶颈,由于云平台基本上是采用传统的X86服务器加上虚拟化方式组建,随着40G.100G高速网卡 ...

  4. 在CentOS7下的OpenStack中配置使用Spice协议

    在CentOS7下的OpenStack中配置使用Spice协议 by 无若   1. 需要的包 在计算节点上 #yum install spice-html5   注意:使用yum安装spice-ht ...

  5. OpenStack中Keystone的基本概念理解

    原文http://www.kankanews.com/ICkengine/archives/10788.shtml Keystone简介 Keystone(OpenStack Identity Ser ...

  6. openstack中eventlet使用

    openstack中使用eventlet的协程来实现并发. 第一种,使用eventlet.GreenPool来管理绿色线程 如l3-agent在开启了8个绿色线程来处理router消息 def _pr ...

  7. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  8. 探索 OpenStack 之(14):OpenStack 中 RabbitMQ 的使用

    本文是 OpenStack 中的 RabbitMQ 使用研究 两部分中的第一部分,将介绍 RabbitMQ 的基本概念,即 RabbitMQ 是什么.第二部分将介绍其在 OpenStack 中的使用. ...

  9. openstack中彻底删除计算节点的操作记录

    在使用openstack的过程中,我们经常会添加好几台计算节点来部署虚拟机,在后续使用中由于某些原因,一些计算节点出现了问题,需要将这些出了问题的计算节点从openstack的控制节点中踢出去!但是很 ...

随机推荐

  1. xcode7 没有Empty Application

    如果你想创建xcode6.01之前版本提供的空工程,其实很简单.1:选择模板 Single View Application2:选中 Main.storyboard,将其删除3:选择项目的 plist ...

  2. leetcode 3Sum Closest python

    class Solution(object): def threeSumClosest(self, nums, target): """ :type nums: List ...

  3. 开发框架CIIP

    github开源:企业级应用快速开发框架CIIP WEB+WIN+移动端   简介 CIIP是基于XAF开发的开源信息系统框架.CIIP最常见的应用场景是基于数据库的企业级应用程序,例如供应链系统,E ...

  4. Pthon MySQLdb 的安装

    说明: 要用python 去连接MySQL我们需要一个驱动程序这个程序就是MySQL-python,所以我们首先就是要下一个对应版本的MySQL-python (注意这个驱动程序只有32位版本的,所以 ...

  5. ORACLE 两个表或两个结果集的数据对比常用的函数

    假设有两个表A,B,都只有一个字段PHONE 1,MINUS SELECT PHONE FROM A MINUS SELECT PHONE FROM B;     相当于用结果集A减去结果B得出的结果 ...

  6. PHP面向对象编程学习之对象基础

    php虽然是一门学习起来非常简单的语言,但是这门语言也包含了对面向对象编程的支持.尤其是随着php5的发布,php对面向对象的支持有了很大的进步.最近学习了一下php的面向对象编程,不禁感慨,面向对象 ...

  7. J2SE知识点摘记(二十二)

    Map 1.4.1        概述 数学中的映射关系在Java中就是通过Map来实现的.它表示,里面存储的元素是一个对(pair),我们通过一个对象,可以在这个映射关系中找到另外一个和这个对象相关 ...

  8. Oracle EBS-SQL (SYS-20):OPM接口处理.sql

    /* 未加工的材料交易(必须解决) UNcosted Transactions (must resolve) 无成本的交易(必须解决) Pending WIP costing transactions ...

  9. SQL数据库插入文本信息

    文本内容

  10. Bower前端包管理器

    bower 前端包管理器 为什么要用它 一个新的web项目开始,我们总是很自然地去下载需要用到的js类库文件,比如jQuery.随着项目的进展,我们可能又需要Bootstrap3,其中每个框架之间的依 ...