带着问题了解Openstack Neutron安全组

本文作者作为360 HULK云平台的运维开发工程师,分享了在解决Openstack Neutron安全组问题的过程中,如何排查网络问题并理解Neutron的安全组策略。通过分析网络架构,抓包定位,以及研究iptables规则,最终找到了IPIP协议未放开导致的数据包丢失问题,并通过添加规则成功解决了通讯问题。
摘要由CSDN通过智能技术生成

女主宣言

本文出自于ADDOPS团队,该文章作者李文新是360 HULK云平台容器化及虚拟化平台运维开发工程师,负责网络模块的设计与开发。本文是由他最近解决的一个Openstack Neutron安全组问题所触发而写,让我们跟随作者的思路一起来了解Neutron Security Group和一般网络问题的解决思路吧。

PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦!

前言

本文主要用来记录最近解决的一个Openstack Neutron安全组的问题。在为业务部门创建lvs服务时,Linux Director与Real Server间无法进行正常的通讯,Real Server是由Hulk云平台创建的Openstack虚拟机。 


网络问题排查,按照『确定网络结构 - 抓包定位 - 分析定位问题 - 纠正网络部署 - 单元测试 - 完整测试 -(推入生产)- 回归测试 - 总结回顾』的思路来就基本搞定了。


1

确定网络结构

遇到网络问题,首先考虑数据包在全流程中drop的位置,所以,首先我们要熟知Openstack Neutron网络的整个架构。 为了重点讲述Openstack Neutron网络及安全组,我们假设Linux Director和Real Server虚机所在的物理主机之间的网络可达。如下图是Openstack Neutron网络数据面的基本架构。


看下这个架构图,首先遇到一个特殊之处,我们暂且花点时间看一下: br-ethx与br-int是OVS创建的OVS Bridge,qbr-XXX是Linux Bridge,为什么不把虚机的Tap设备直接挂到OVS Bridge的br-int上,而在br-int和Tap设备间加个Linux Bridge qbr-XXX?


  1. Openstack Neutron需要在宿主机上执行一定的安全策略;

  2. Hulk平台使用的ovs版本是2.3.1,该版本尚未完全支持安全策略的内核模块实施部分:netfilter模块;

  3. 增加一个中间层Linux bridge可以解决网络策略配置。


Openstack Neutron网络各设备及配置请参考这里

(http://www.sdnlab.com/13000.html)


接下来我们进入探索之旅。


2

抓包定位

在物理机和虚机上抓包:在客户端发送请求数据包后,分别在ABCDEFG七个点中抓包:

tcpdump -i xxx -nv | grep ipip

其中,在CDEFG 5个点都能抓到数据包,在AB两点没有抓到。


3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值