CN111343103B - 一种安全组规则不能立即生效问题的解决方法 - Google Patents

一种安全组规则不能立即生效问题的解决方法 Download PDF

Info

Publication number
CN111343103B
CN111343103B CN202010123959.XA CN202010123959A CN111343103B CN 111343103 B CN111343103 B CN 111343103B CN 202010123959 A CN202010123959 A CN 202010123959A CN 111343103 B CN111343103 B CN 111343103B
Authority
CN
China
Prior art keywords
entry
security group
connrack
rule
icmp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010123959.XA
Other languages
English (en)
Other versions
CN111343103A (zh
Inventor
王丽君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Technology Co Ltd
Original Assignee
Unicloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unicloud Technology Co Ltd filed Critical Unicloud Technology Co Ltd
Priority to CN202010123959.XA priority Critical patent/CN111343103B/zh
Publication of CN111343103A publication Critical patent/CN111343103A/zh
Application granted granted Critical
Publication of CN111343103B publication Critical patent/CN111343103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种安全组规则不能立即生效问题的解决方法,用户的安全组规则发生变化后,获取当前计算节点的所有ct_mark等于1的conntrack entry,提取出该实体中的协议元组信息,并与当前计算节点的安全组规则进行匹配,若能够匹配成功,则通过OVS的命令删除该conntrack entry。本发明所述的一种安全组规则不能立即生效问题的解决方法,在连接没有断开情况下,修改安全组数据,能够保证安全组功能立即生效,而不需要用户断开连接,并且等到连接超时才生效。

Description

一种安全组规则不能立即生效问题的解决方法
技术领域
本发明属于云计算技术领域,尤其是涉及一种安全组规则不能立即生效问题的解决方法。
背景技术
云计算网络中,基于OVS实现的安全组是根据连接状态来进行报文处理的,是基于ip_conntrack实现的。而iptables设置的NAT规则仅仅对一个流的第一个数据包有效。启用了ip_conntrack,任何数据包都要绑定到一个唯一的conntrack,由于ip_conntrack的保存是基于超时时间(UDP,ICMP而言)或者协议(TCP而言)的,因此就会导致在上述规则增加前的一个流的头包过去以后,新增加的依赖ip_conntrack的上述iptables规则不能生效,必须等到该conntrack过期或者协议关闭之后,下一次重新建立conntrack才能生效。
当前的情况在用户连接不断开的情况下,删除安全组白名单规则,删除之后网络依然能够通信,用户必须首先断开连接,然后等待该断开的连接超时之后才能生效。若用户连接一直不断开,则删除的安全组规则一直不能生效。
发明内容
有鉴于此,本发明旨在克服上述现有技术中存在的缺陷,提出一种安全组规则不能立即生效问题的解决方法。
为达到上述目的,本发明的技术方案是这样实现的:
一种安全组规则不能立即生效问题的解决方法,包括如下步骤:
S1.增加和删除OVS的安全组规则下发后,获取当前计算节点上所有ct_mark等于1的conntrack entry;
S2.针对每条conntrack entry,根据不同的协议类型取出相应流的具体特征;
S3.根据从conntrack entry解析出的具体流的关键信息字段,与当前计算节点上所有已经下发的安全组规则依次进行匹配处理。
进一步的,所述步骤S2中,如果conntrack entry是UDP和TCP协议,则通过该entry取出该流对应的:源IP、目的IP、源端口、目的端口;
如果conntrack entry是ICMP的,则通过该entry取出该ICMP流对应的:源IP、目的IP、Type、Code和ID;所述ID为ICMP包的ID。
进一步的,所述步骤S3的具体处理过程如下:
如果该ct_mark等于1的conntrack entry能匹配上该计算节点的某条安全组规则,则根据协议类型调用OVS命令ovs-dpctl flush-conntrack将该conntrack entry删除;
如果该ct_mark等于1的conntrack entry不能在计算节点中找到完全匹配的规则,则该entry与当前修改的安全组没有关系,不做处理。
相对于现有技术,本发明具有以下优势:
用户的安全组规则发生变化后,获取当前计算节点的所有ct_mark等于1的conntrack entry,提取出该实体中的协议元组信息,并与当前计算节点的安全组规则进行匹配,若能够匹配成功,则通过OVS的命令删除该conntrack entry。如此,保证了新增和删除的安全组规则不受已经存在的连接状态的影响,基于此规则的报文能够作为第一个数据流匹配高优先级的报文,保证最新下发的安全组能够立即生效。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的解决方法示意图。
图2为本发明实施例所述的验证过程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
云计算网络中,基于OVS实现的安全组是根据连接状态来进行报文处理的,是基于ip_conntrack实现的。而iptables设置的NAT规则仅仅对一个流的第一个数据包有效。启用了ip_conntrack,任何数据包都要绑定到一个唯一的连接跟踪conntrack,由于ip_conntrack的保存是基于超时时间(UDP,ICMP而言)或者协议(TCP而言)的,因此就会导致在上述规则增加前的一个流的头包过去以后,新增加的依赖ip_conntrack的上述iptables规则不能生效,必须等到该conntrack过期或者协议关闭之后,下一次重新建立conntrack才能生效。
实际验证过程如附图2所示:
步骤1:
在VPC内创建一个VM,同时选定该VM使用的安全组规则为默认安全组规则,此时的流表规则为全部都不允许通过,然后绑定EIP。默认流表规则为:IPV4双向报文丢弃和IPV6双向报文丢弃。
此时从外网ping用户VM,当ping数据流到达OVS后,因为没有经历过openvswitch的OVS commit的处理动作,OVS CT状态一直是new。因此,此时ping数据流会匹配流表1,报文被直接丢弃,导致不能ping通。
流表1:
cookie=0x30,duration=35.821s,table=138,n_packets=8,n_bytes=572,idle_age=0,priority=30004,ct_state=+new-est,ip,reg1=0x37/0xffff actions=drop
步骤2:
配置ICMP双向白名单规则之后,查看流表信息,新增加了流表2和流表3两条流表信息,此时ping数据流进入OVS后会首先匹配流表2(第一个报文状态为new,动作为commit,匹配完成之后,ct_stat修改为est状态),后续的数据包会匹配流表3(此时,该数据流的conntrack entry连接已经是established状态)。
流表2:
cookie=0x30,duration=120.830s,table=138,n_packets=1,n_bytes=74,idle_age=18,priority=30010,ct_state=+new-est,icmp,reg1=0x37/0xffff,nw_src=61.181.149.218actions=ct(commit),output:NXM_NX_REG1[0..15]
流表3:
cookie=0x30,duration=120.830s,table=138,n_packets=18,n_bytes=1332,idle_age=0,priority=30010,ct_state=+est-rel-rpl,ct_mark=0,icmp,reg1=0x37/0x ffff,nw_src=61.181.149.218actions=output:NXM_NX_REG1[0..15]
步骤3:
一直ping不断开,此时删除ICMP的双向白名单规则,删除规则之后第一个ICMP的request报文匹配的流表信息如下:
流表4:
cookie=0x30,table=138,
priority=30,ct_state=+est+trk,ip,reg0=0/0x10000,reg1=0x37/0xffff
actions=ct(commit,exec(load:0x1->NXM_NX_CT_MARK[]))
这里ct_state=+est+trk表示这个连接是合法的,已经被跟踪,并且被netfilter标记为允许通过的连接。这条表项将conntrack表项的mark设置为1。这里reg1表示报文的出接口,报文会从0x37即vnet1出去到达VM,VM的回应报文reply报文到达OVS之后匹配如下流表,直接丢弃,最终不能ping通。
流表5:
cookie=0x30,table=10,
priority=60,ct_state=+trk,ct_mark=0x1,ip,in_port=55actions=drop
此时通过conntrack-L查看conntrack信息,可以看到对应的conntrack中的mark被置位为1。
root@HB1-TJ1-ComCVK-064:~#conntrack-L
icmp 1 26 src=61.181.149.218 dst=192.168.0.2 type=8 code=0 id=39829 src=192.168.0.2 dst=61.181.149.218 type=0 code=0 id=39829 mark=1use=1
后续收到的request报文信息按照流表匹配,table=138的报文匹配到如下流表6时,检查ct_state的值为+trk和conntrack的mark值等于1,则命中该条流表,执行动作为drop,后续只要conntrack中mark=1的这条表项不超时删除,即使下发了ICMP通过的流表,报文也会被丢弃。
流表6:
cookie=0x30,table=138,
priority=60,ct_state=+trk,ct_mark=0x1,ip,reg1=0x37/0xffff actions=drop
上述流表是匹配所有conntrack entry中ct_mark等于1的IP数据流,因此承载在IP之上的ICMP、UDP、TCP都存在同样的问题。
当前的情况在用户连接不断开的情况下,删除安全组白名单规则,删除之后网络依然能够通信,用户必须首先断开连接,然后等待该断开的连接超时之后才能生效。若用户连接一直不断开,则删除的安全组规则一直不能生效。
如前文分析,如果删除掉ct_state的值为+trk和ct_mark=1的状态的conntrackentry,此时没有连接跟踪状态,该数据流的下一个报文,会作为该数据包的第一个报文,匹配到白名单规则新生成的高优先级的new流表,即上述提到的流表2;后续该数据流所有的报文,都会匹配到流表3。
一种安全组规则不能立即生效问题的解决方法,如附图1所示,包括如下步骤:
S1.增加和删除OVS的安全组规则下发后,获取当前计算节点上所有ct_mark等于1的连接记录项conntrack entry;
S2.针对每条conntrack entry,根据不同的协议类型取出相应流的具体特征;
S3.根据从conntrack entry解析出的具体流的关键信息字段,与当前计算节点上所有已经下发的安全组规则依次进行匹配;
如果该ct_mark等于1的conntrack entry能匹配上该计算节点的某条安全组规则,则根据协议类型调用OVS命令ovs-dpctl flush-conntrack将该conntrack entry删除;
如果该ct_mark等于1的conntrack entry不能在计算节点中找到完全匹配的规则,则该entry与当前修改的安全组没有关系,不做处理。
所述步骤S2中,如果conntrack entry是UDP和TCP协议,则通过该entry取出该流对应的:源IP、目的IP、源端口、目的端口;
如果conntrack entry是ICMP的,则通过该entry取出该ICMP流对应的:源IP、目的IP、Type、Code和ID;所述ID为ICMP包的ID。每个ICMP包被发送时都被分配一个ID,接收方把同样的ID分配给应答包,这样发送方能确认是哪个请求的应答。
所述步骤S3中协议类型和删除命令的对应关系如下:
协议类型:TCP删除命令:
ovs-dpctl flush-conntrack'
ct_nw_src=192.168.1.6,ct_nw_dst=192.168.1.7,ct_nw_proto=6,ct_tp_src=30000,ct_tp_dst=8080'
协议类型:UDP删除命令:
ovs-dpctl flush-conntrack'
ct_nw_src=192.168.1.6,ct_nw_dst=192.168.1.7,ct_nw_proto=17,ct_tp_src=137,ct_tp_dst=2111'
协议类型:ICMP删除命令:
ovs-dpctl flush-conntrack'
ct_nw_src=192.168.0.6,ct_nw_dst=192.168.0.7,ct_nw_proto=1,icmp_type=8,icmp_code=0,icmp_id=16366
用户的安全组规则发生变化后,获取当前计算节点的所有ct_mark等于1的conntrack entry,提取出该实体中的协议元组信息,并与当前计算节点的安全组规则进行匹配,若能够匹配成功,则通过OVS的命令删除该conntrack entry。如此,保证了新增和删除的安全组规则不受已经存在的连接状态的影响,基于此规则的报文能够作为第一个数据流匹配高优先级的报文,保证最新下发的安全组能够立即生效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种安全组规则不能立即生效问题的解决方法,其特征在于:包括如下步骤:
S1.增加和删除OVS的安全组规则下发后,获取当前计算节点上所有ct_mark等于1的conntrack entry;
S2.针对每条conntrack entry,根据不同的协议类型取出相应流的具体特征;
S3.根据从conntrack entry解析出的具体流的关键信息字段,与当前计算节点上所有已经下发的安全组规则依次进行匹配处理;
所述步骤S2中,如果conntrack entry是UDP或TCP协议,则通过该entry取出该流对应的:源IP、目的IP、源端口、目的端口;
如果conntrack entry是ICMP的,则通过该entry取出该ICMP流对应的:源IP、目的IP、Type、Code和ID;所述ID为ICMP包的ID;
所述步骤S3的具体处理过程如下:
如果该ct_mark等于1的conntrack entry能匹配上该计算节点的某条安全组规则,则根据协议类型调用OVS命令ovs-dpctl flush-conntrack将该conntrack entry删除;
如果该ct_mark等于1的conntrack entry不能在计算节点中找到完全匹配的规则,则该entry与当前修改的安全组没有关系,不做处理。
CN202010123959.XA 2020-02-27 2020-02-27 一种安全组规则不能立即生效问题的解决方法 Active CN111343103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010123959.XA CN111343103B (zh) 2020-02-27 2020-02-27 一种安全组规则不能立即生效问题的解决方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010123959.XA CN111343103B (zh) 2020-02-27 2020-02-27 一种安全组规则不能立即生效问题的解决方法

Publications (2)

Publication Number Publication Date
CN111343103A CN111343103A (zh) 2020-06-26
CN111343103B true CN111343103B (zh) 2023-11-03

Family

ID=71183821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010123959.XA Active CN111343103B (zh) 2020-02-27 2020-02-27 一种安全组规则不能立即生效问题的解决方法

Country Status (1)

Country Link
CN (1) CN111343103B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547510A (zh) * 2017-07-04 2018-01-05 新华三技术有限公司 一种邻居发现协议安全表项处理方法和装置
CN108322467A (zh) * 2018-02-02 2018-07-24 云宏信息科技股份有限公司 基于ovs的虚拟防火墙配置方法、电子设备及存储介质
CN109729059A (zh) * 2017-10-31 2019-05-07 杭州华为数字技术有限公司 数据处理方法、装置及计算机
CN110502546A (zh) * 2019-08-22 2019-11-26 郑州阿帕斯科技有限公司 一种数据处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547553B2 (en) * 2017-09-17 2020-01-28 Mellanox Technologies, Ltd. Stateful connection tracking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547510A (zh) * 2017-07-04 2018-01-05 新华三技术有限公司 一种邻居发现协议安全表项处理方法和装置
CN109729059A (zh) * 2017-10-31 2019-05-07 杭州华为数字技术有限公司 数据处理方法、装置及计算机
CN108322467A (zh) * 2018-02-02 2018-07-24 云宏信息科技股份有限公司 基于ovs的虚拟防火墙配置方法、电子设备及存储介质
CN110502546A (zh) * 2019-08-22 2019-11-26 郑州阿帕斯科技有限公司 一种数据处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于FPGA的硬件防火墙设计;唐泽坤;王修刚;宋伟;于珊珊;刘超;;新校园(上旬)(第10期);全文 *
网络安全框架Netfilter在Linux中的实现;王一平;韦卫;;计算机工程与设计(第03期);全文 *

Also Published As

Publication number Publication date
CN111343103A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
Gouda et al. A model of stateful firewalls and its properties
US6714985B1 (en) Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
Rosen Linux kernel networking: Implementation and theory
US10742777B2 (en) UDP protocol acceleration method and system
US20090238209A1 (en) Method for transmitting fragmented packets, communication system, and tunnel equipment
CN102932461B (zh) 网络加速传输方法及装置
EP2940970A1 (en) Nat implementation system, method, and openflow switch
US20070094411A1 (en) Network communications system and method
EP2940949A1 (en) Method and device for packet handling
CN108737584A (zh) 容器服务的访问方法、网络地址的解析方法、装置和系统
CN110278152B (zh) 一种建立快速转发表的方法及装置
US8085752B2 (en) Handling connections moving between firewalls
CN108989480A (zh) 一种在服务器获取客户端地址的方法
Bao et al. IP/ICMP translation algorithm
WO2011082584A1 (zh) 数据报文分类处理的实现方法、网络及终端
US7263087B2 (en) Method and system for adding IP routes to a routing mobile terminal with 3G messages
CN111343103B (zh) 一种安全组规则不能立即生效问题的解决方法
Cisco clear mis through copy
Cisco clear mis through copy
Cisco debug apple - debug ip
Cisco DECnet Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco clear mis through copy
Cisco DECnet Commands

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant