上周花了几天研究了一下Openstack的Security Group防火墙规则,总结下上周的成果。

 

一、介绍下我的环境。

    操作系统:RHEL6.4+Openstack官方内核

    Openstack版本:Havana

    网络模式:ML2+Linuxbridge

    租户网络:VLAN

二、Iptables 流向


 INPUT

 neutron-linuxbri-INPUT 

 neutron-linuxbri-o45d1d6e0-d

 neutron-linuxbri-s45d1d6e0-d

 neutron-linuxbri-sg-fallback


 OUTPUT

 neutron-filter-top

 neutron-linuxbri-local

 neutron-linuxbri-OUTPUT 


 FORWORD

 neutron-filter-top

 neutron-linuxbri-local

 neutron-linuxbri-FORWARD 

 neutron-linuxbri-sg-chain=>A 


 A=>neutron-linuxbri-i45d1d6e0-d=>B

 

 A=>neutron-linuxbri-o45d1d6e0-d

 neutron-linuxbri-s45d1d6e0-d=>B

 

 B=>neutron-linuxbri-sg-fallback


这个流向搞的太乱了,改天整理成个图片。


这里只分析二层数据包流向。


三、总结下


1、真正干活的其实就是:

neutron-linuxbri-i45d1d6e0-d

neutron-linuxbri-o45d1d6e0-d

neutron-linuxbri-s45d1d6e0-d

2、neutron-linuxbri-i45d1d6e0-d 这个做的是进入虚拟机的流控制,按Openstack默认的安全组的话同一个网络下的不同租户的网络是不通的。

3、neutron-linuxbri-s45d1d6e0-d 这个是做ip和mac绑定功能的。

4、neutron-linuxbri-o45d1d6e0-d 这个做的是出去虚拟机流控制,按照Openstack默认的安全组的话全部通过。

5、这几条子链名称命名规则是:用的L2Agent名称的前16为-数据流向[i/o/s]-端口UUID前11位。