上周花了几天研究了一下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位。