neutron中目前安全组的实现是使用iptables来实现的

创建安全组

创建安全组的时候默认有两条“出”规则(ipv4和ipv6)

“default”安全组不仅有“出”规则,还有“入”规则。默认有四条规则,分为为“进出”的ipv4和ipv6规则

代码位置:neutron\db\securitygroups_db.py

方法:create_security_group

ps:安全组的优先级是用来对安全组进行排序的key

查看安全组规则

#iptables -L -v

查看包装链:neutron-centec-o-sg-chain

找到对应tap设备:如tap8f196371-77

每个tap设备会分别对应两条包装链,分为是:neutron-centec-o-i8f196371-7(对进数据的过滤)和neutron-centec-o-o8f196371-7(对出数据的过滤)

查看neutron-centec-o-i8f196371-7和neutron-centec-o-o8f196371-7

此时可以和dashboard中你看到的安全组规则一一对应起来看,同时可以看到每条规则过滤的数据流量

代码分析

http://squarey.me/cloud-virtualization/iptables_usage_in_l3_agent.html

05-08 15:19