CN111343103B - 一种安全组规则不能立即生效问题的解决方法 - Google Patents
一种安全组规则不能立即生效问题的解决方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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与当前修改的安全组没有关系,不做处理。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10547553B2 (en) * | 2017-09-17 | 2020-01-28 | Mellanox Technologies, Ltd. | Stateful connection tracking |
-
2020
- 2020-02-27 CN CN202010123959.XA patent/CN111343103B/zh active Active
Patent Citations (4)
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)
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 | |
US10742777B2 (en) | UDP protocol acceleration method and system | |
Rosen | Linux kernel networking: Implementation and theory | |
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 | |
CN108737584A (zh) | 容器服务的访问方法、网络地址的解析方法、装置和*** | |
CN110278152B (zh) | 一种建立快速转发表的方法及装置 | |
US8085752B2 (en) | Handling connections moving between firewalls | |
CN108989480A (zh) | 一种在服务器获取客户端地址的方法 | |
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 | |
US20040093424A1 (en) | Packet routing device | |
CN111614633B (zh) | 一种针对l2tp协议的解析方法及*** | |
Cisco | debug apple - debug ip | |
Cisco | DECnet Commands | |
Cisco | DECnet Commands | |
Cisco | DECnet Commands | |
Cisco | clear mis through copy | |
Cisco | Debug Commands | |
JP4870882B2 (ja) | Ipネットワーク間の通信方法 |
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 |