一种自动化配置Docker容器访问控制的方法与流程

文档序号:11156530阅读:来源:国知局

技术特征:

1.一种自动化配置Docker容器访问控制的方法,其特征在于,所述方法在Docker环境初始化网络过程中设定Iptables内核参数和过滤表的基本链,在创建Docker容器时,通过主机上对应该容器的端口绑定下发的安全组,从而指定安全组;所述安全组中的规则能事先配置和后期修改,并支持TCP、UDP、ICMP协议和端口以及远程网络CIDR和安全组的设置,最终转化为Iptables规则;删除Docker容器时会自动清除自身的Iptables规则,从而不影响其他的容器访问和服务使用。

2.根据权利要求1所述的一种自动化配置Docker容器访问控制的方法,其特征在于,所述方法实现步骤如下:

A:主机首先搭建好Docker环境,然后客户端调用脚本初始化网桥br0连接到主机网卡eth1上,同时设定Iptables内核参数和过滤表的基本链;

B:创建Docker容器时下发安全组名和预设规则,过滤表的基本链通过容器对应到主机的veth网卡,从而跳转到容器自身的链中进行绑定,通过预先设定的规则在自身的链中进行相应设置;同时创建同安全组名的Ipset集合并把容器的IP加入到该集合的成员列表中;

C:Docker容器运行时,如果想增加、删除和修改Iptables规则,需要在Docker容器使用的安全组中进行相应设置;重启Docker容器再次运行申请IP和创建Iptables规则的过程,此时新设置的Iptables规则会及时的生效;

D:删除Docker容器时,自动清除自身的Iptables规则和链,并与过滤表的基本链解除关联;同时把容器的Ip从Ipset集合的成员列表中删除。

3.根据权利要求2所述的一种自动化配置Docker容器访问控制的方法,其特征在于,所述方法环境基于CentOS release 7操作系统搭建1.11.2版本的Docker swarm集群环境,服务端编程基于Go语言的Beego框架实现,客户端基于Python语言接收RESTful URL形式的参数,脚本基于Shell语言实现。

4.根据权利要求3所述的一种自动化配置Docker容器访问控制的方法,其特征在于,所述方法基于的Linux Iptables版本为1.4.21-13.el7,初始化网络过程中设定Iptables内核参数和filter表的基本链,创建Docker容器时指定安全组名,对其设定指定的Iptables规则并添加到原生的filter表的基本链中,可有效限制外部对内和内部访问限制;删除Docker容器时会删除对应的Iptables规则。

5.根据权利要求4所述的一种自动化配置Docker容器访问控制的方法,其特征在于,所述方法基于的Linux Ipset版本为6.19-4.el7,创建Docker容器时指定安全组名,创建同名的Ipset集合并把容器IP加入到该集合中;后续创建的其他使用该安全组的Docker容器都加入到该集合中,Iptables规则直接在Ipset集合上设定。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1