一种对Docker容器平台上多租户网络进行隔离的方法技术

技术编号:18915865 阅读:86 留言:0更新日期:2018-09-12 03:44
本发明专利技术涉及一种对Docker容器平台上多租户网络进行隔离的方法。本发明专利技术所述对Docker容器平台上多租户网络进行隔离的方法中,Docker容器网络采用虚拟交换机Open Vswitch实现,利用Open Vswitch虚拟交换机可以配置VLAN的特性,为每一个租户分配一个VLAN ID,将同一个租户容器划分到同一个VLAN中,不同租户网络通过VLAN进行隔离。

A method for isolation of multi tenant network on Docker container platform

The invention relates to a method for isolating a multi tenant network on a Docker container platform. In the method of isolating the multi-tenant network on the Docker container platform, the Docker container network is implemented by the virtual switch Open Vswitch, and the characteristics of the VLAN can be configured by using the Open Vswitch virtual switch to assign a VLAN ID to each tenant and divide the same tenant container into the same VLAN. Different tenant networks are isolated through VLAN.

【技术实现步骤摘要】
一种对Docker容器平台上多租户网络进行隔离的方法
本专利技术涉及一种对Docker容器平台上多租户网络进行隔离的方法,属于云计算安全的

技术介绍
Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,这也就是基于docker的PaaS平台产品的原型。在Docker容器平台实际部署环境中,有大量的服务器节点,每台服务器上都运行了数百个甚至上千个Docker容器,这对实现容器网络隔离,保护容器安全带来了挑战。在Docker默认配置下,同一个服务器上,所有容器连接在一个网桥上,共享同样的网络资源,多租户容器网络没有隔离,存在一定的安全隐患。随着互联网技术的飞速发展,基于网络的应用已经广泛出现企业内部和外部的业务系统中,网络应用发挥着越来越重要的作用。与此同时,越来越多的网络应用也因为存在安全隐患而频繁遭受到各种攻击,导致敏感数据、页面被篡改、数据非法访问、甚至成为传播木马的傀儡,最终会给更多访问者造成伤害,带来严重损失。针对越来越多的网络层攻击,防火墙、入侵防御等网络安全设备已被广泛部署在网络边界,网络访问控制策略设置也颇为严格,一般只开放HTTP等必要的服务端口,因此黑客已很难通过传统网络层攻击方式进行攻击。但是在云计算环境下,特别是在Docker虚拟化环境下,多租户容器共享网络资源,让网络边界变得越来越模糊,如果黑客利用平台中的容器为跳板,通过网络攻击其他租户的容器,就会让部署在网络边界的防护设备失去作用。现有技术中,Docker提供三种种网络驱动,它们各有千秋,也各自存在着一定的局限性。使用host驱动可以让Docker容器与宿主服务器共用同一个网络栈,能使网络模型最简单,但是无法实现网络隔离,缺乏安全性;网桥是Docker默认使用的网络驱动,容器没有对外IP,只能通过NAT实现对外通信,无法实现跨服务器容器间直接通信;overlay驱动支持跨主机容器间直接通信,它采用VxLAN的方式,让容器在集群上共用一个大二层网络,可实现跨主机的通信,但多个租户共享一个二层网络,无法满足隔离需求。
技术实现思路
针对现有技术的不足,本专利技术提供一种对Docker容器平台上多租户网络进行隔离的方法。本专利技术的技术方案为:一种对Docker容器平台上多租户网络进行隔离的方法,基于虚拟交换机实现;包括步骤如下:1)将Docker容器平台中每个服务器节点配成属于一个IP地址空间的子网;2)在每个服务器节点上,将Docker容器默认使用的docker0网桥用OpenVswitch网桥替换,并使每个docker容器都连到OpenVswitch普通网桥上,获得同一个网段的IP地址;3)在OpenVswitch网桥将不同的租户划分为不同的VLAN,实现租户隔离;4)在每个服务器节点上建立一个OpenVswitch隧道网桥,并建立一个端口,以连接OpenVswitch网桥;通过在OpenVswitch隧道网桥上建立GRE或VxLAN隧道,实现同一租户容器之间跨主机的二层通信。在Docker容器平台实际部署环境中,有大量的服务器节点,每台服务器上都运行了数百个甚至上千个Docker容器,这些容器属于不同的租户,在设计多租户网络隔离时,首先保证同一个服务器上,多个租户之间的网络是隔离的,其次,保证同一个租户跨服务器分布的多个容器间网络是联通的。本专利技术的有益效果为:1.本专利技术所述对Docker容器平台上多租户网络进行隔离的方法中,Docker容器网络采用虚拟交换机OpenVswitch实现,利用OpenVswitch虚拟交换机可以配置VLAN的特性,为每一个租户分配一个VLANID,将同一个租户容器划分到同一个VLAN中,不同租户网络通过VLAN进行隔离;2.本专利技术所述对Docker容器平台上多租户网络进行隔离的方法,将分布在不同服务器上的虚拟交换机通过VxLAN或GRE隧道协议进行连接,形成一个二层网络,保证同一个租户多个容器可以跨服务器互相访问。附图说明图1为本专利技术所述对Docker容器平台上多租户网络进行隔离的方法实现机制图。具体实施方式下面结合实施例和说明书附图对本专利技术做进一步说明,但不限于此。实施例1如图1所示。一种对Docker容器平台上多租户网络进行隔离的方法,基于虚拟交换机实现;包括步骤如下:1)将Docker容器平台中每个服务器节点配成属于一个IP地址空间的子网;所述子网为10.0.X.X/16;2)在每个服务器节点上,将Docker容器默认使用的docker0网桥用OpenVswitch网桥替换,并使每个docker容器都连到OpenVswitch普通网桥上,获得同一个网段的IP地址192.168.X.X/16网段;3)在OpenVswitch网桥将不同的租户划分为不同的VLAN,实现租户隔离;4)在每个服务器节点上建立一个OpenVswitch隧道网桥,并建立一个端口,以连接OpenVswitch网桥;通过在OpenVswitch隧道网桥上建立VxLAN隧道,实现同一租户容器之间跨主机的二层通信。本文档来自技高网
...

【技术保护点】
1.一种对Docker容器平台上多租户网络进行隔离的方法,基于虚拟交换机实现;其特征在于,包括步骤如下:1)将Docker容器平台中每个服务器节点配成属于一个IP地址空间的子网;2)在每个服务器节点上,将Docker容器默认使用的docker0网桥用Open Vswitch网桥替换,并使每个docker容器都连到Open Vswitch普通网桥上,获得同一个网段的IP地址;3)在Open Vswitch网桥将不同的租户划分为不同的VLAN,实现租户隔离;4)在每个服务器节点上建立一个Open Vswitch隧道网桥,并建立一个端口,以连接Open Vswitch网桥;通过在Open Vswitch隧道网桥上建立GRE或VxLAN隧道,实现同一租户容器之间跨主机的二层通信。

【技术特征摘要】
1.一种对Docker容器平台上多租户网络进行隔离的方法,基于虚拟交换机实现;其特征在于,包括步骤如下:1)将Docker容器平台中每个服务器节点配成属于一个IP地址空间的子网;2)在每个服务器节点上,将Docker容器默认使用的docker0网桥用OpenVswitch网桥替换,并使每个docker容器都连到OpenVswitch...

【专利技术属性】
技术研发人员:李若寒元河清陈小龙孟宪鑫
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1