CN110602267A - 一种高效的dns服务器acl文件去重方法 - Google Patents

一种高效的dns服务器acl文件去重方法 Download PDF

Info

Publication number
CN110602267A
CN110602267A CN201910864637.8A CN201910864637A CN110602267A CN 110602267 A CN110602267 A CN 110602267A CN 201910864637 A CN201910864637 A CN 201910864637A CN 110602267 A CN110602267 A CN 110602267A
Authority
CN
China
Prior art keywords
section
initial
acl
file
sections
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.)
Granted
Application number
CN201910864637.8A
Other languages
English (en)
Other versions
CN110602267B (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201910864637.8A priority Critical patent/CN110602267B/zh
Publication of CN110602267A publication Critical patent/CN110602267A/zh
Application granted granted Critical
Publication of CN110602267B publication Critical patent/CN110602267B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

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

Abstract

本发明公开了一种高效的DNS服务器ACL文件去重方法,所述方法包括步骤1:监控BIND服务器的状态,每当BIND服务器进行配置热加载操作时,获取配置文件目录下的所有ACL文件内容并进行重复性检测;步骤2:若ACL文件内的IP端存在交叉或包含的情况,则对重复的IP段进行去重处理;步骤3:若ACL文件内的IP段交叉,则比较两个IP段的起始IP大小,删除起始IP较大的IP段;若ACL文件内的IP段为包含关系,则比较两个IP段的起始IP大小和结尾IP大小,将起始IP较小的IP段的结尾IP修改为另一个IP段的起始IP。

Description

一种高效的DNS服务器ACL文件去重方法
技术领域
本发明涉计算机网络领域,具体的说,是一种高效的DNS服务器ACL文件去重方法。
背景技术
在IP(Internet Protocol,互联网协议)网络中,DNS(Domain Name System,域名系统)是最关键的基础服务之一,其主要功能是将域名与IP地址作转换。通过DNS服务器的查询服务,可以找到所需站点或资源的入口,进而对站点或资源进行访问。Bind(BerkeleyInternet Name Domain,伯克莱网间名域)是目前最常用的DNS服务器软件,其配置文件包括:
named.conf文件:记录Bind安装路径、ACL文件的存放路径、view文件的存放路径、日志的存放路径;
view文件:包含多个view(区域),每个view记录了地区信息、运营商信息、域名信息的组合对应的zone文件的存放路径;
zone文件:记录view对应的解析记录信息;
ACL文件:记录view对应的IP地址信息。
在多节点部署的业务中,其业务的dns服务器常用view文件指定业务的各个节点,并在view对应的ACL文件中加入该节点地区的所有客户端IP;一个节点(view)可包含一个或多个ACL文件;
首先介绍DNS Bind服务器解析请求的流程:dns查询请求到来时,首先获取请求的来源IP,之后读取Bind主配置文件named.conf的内容,获取其中配置的所有view文件,并按顺序从上至下依次遍历所有的view文件,判断请求的来源IP地址是否在view文件包含的ACL文件中,若包含,则使用该view文件指定的zone文件对查询请求查询的域名进行解析,否则使用默认的view进行解析或递归至上层dns服务器进行递归查询;
目前,绝大部分DNS的Bind服务器的ACL文件都采用手动添加或代码直接添加的方式,而没有对ACL文件的内容进行检测;由于bind服务器对view和ACL的遍历都是顺序的,在上述流程中,若ACL文件存在重复,则最先匹配到客户端IP的节点会对该dns查询进行解析,这样会导致原本应该解析到A节点的站点被解析到B处,造成域名解析错误。因此可以看出,在获取view文件包含的所有ACL文件时,未对ACL文件进行重复性检测,这是导致DNS解析异常的原因。
发明内容
本发明的目的在于提供一种高效的DNS服务器ACL文件去重方法,用于解决现有技术中DNS的Bind服务器的ACL文件采用手动添加或代码直接添加的方式而没有对acd文件内容进行检测导致DNS解析异常的问题。
本发明通过下述技术方案解决上述问题:
一种高效的DNS服务器ACL文件去重方法,所述方法包括如下步骤:
步骤1:监控BIND服务器的状态,每当BIND服务器进行配置热加载操作时,获取配置文件目录下的所有ACL文件内容并进行重复性检测;
步骤2:若ACL文件内的IP端存在交叉或包含的情况,则对重复的IP段进行去重处理;
步骤3:若ACL文件内的IP段交叉,则比较两个IP段的起始IP大小,删除起始IP较大的IP段;若ACL文件内的IP段为包含关系,则比较两个IP段的起始IP大小和结尾IP大小,将起始IP较小的IP段的结尾IP修改为另一个IP段的起始IP。
优选地,所述步骤1中的重复性检测包括如下步骤:
步骤1.1:将ACL文件中的IP或IP段转换为十进制的数字IP,IP段为两个数字的IP区间即为数组;
步骤1.2:提取每个区间的起始数字IP,即第一个IP,若此时存在重复的IP地址,表明存在重复,则返回重复的IP;不存在重复则进入步骤1.3;
步骤1.3:将步骤1.2所提取的区间起始数按从小到大的顺序放入数合法组中;
步骤1.4:获取步骤1.1中每个区间的第二个数字IP,使用二分查找法在步骤1.3的有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP段进行比较,返回重复的IP段;以此类推按顺序获取第n个数字IP,使用二分查找法在有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP进行比较,返回重复的IP段。
优选地,所述步骤1中设置有定时任务,用于定期对ACL文件进行检测。
本发明与现有技术相比,具有以下优点及有益效果:
当存在n个IP段待检测时,若采用传统的IP段两两比较,每次只能两个IP段进行对比,且每次的比较次数为n,所用的时间复杂度为O(n2);本发明的方法每次的比较次数为log2 n,所用的时间复杂度为O(nlog2 n),比较效率较高。同时,本方法在保证了DNS解析流程的效率尽可能不受影响的情况下,使用最少的遍历次数实现了对ACL文件内容的高效去重检测,很好的解决了ACL重复导致的域名解析异常问题。
附图说明
图1为本发明的实施例中的重复检测流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种高效的DNS服务器ACL文件去重方法,所述方法包括如下步骤:
步骤1:监控BIND服务器的状态,每当BIND服务器进行配置热加载操作时,获取配置文件目录下的所有ACL文件内容并进行重复性检测,重复性检测包括如下步骤:
步骤1.1:将ACL文件中的IP或IP段转换为十进制的数字IP,IP段为两个数字的IP区间即为数组;
步骤1.2:提取每个区间的起始数字IP,即第一个IP,若此时存在重复的IP地址,表明存在重复,则返回重复的IP;不存在重复则进入步骤1.3;
步骤1.3:将步骤1.2所提取的区间起始数按从小到大的顺序放入数合法组中;
步骤1.4:获取步骤1.1中每个区间的第二个数字IP,使用二分查找法在步骤1.3的有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP段进行比较,返回重复的IP段;以此类推按顺序获取第n个数字IP,使用二分查找法在有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP进行比较,返回重复的IP段。;
步骤2:若ACL文件内的IP端存在交叉或包含的情况,则对重复的IP段进行去重处理;
步骤3:若ACL文件内的IP段交叉,则比较两个IP段的起始IP大小,删除起始IP较大的IP段;若ACL文件内的IP段为包含关系,则比较两个IP段的起始IP大小和结尾IP大小,将起始IP较小的IP段的结尾IP修改为另一个IP段的起始IP。
实施上述方法,当BIND服务器每次reload信号到来时,程序初始化一个空的有序数组A和一个映射表Dict,用于存放IP段数据;读取所有的ACL文件内容到内存,遍历所有的待检测的IP或IP段:对每个IP段,将其转化为十进制的首尾数字IP二元组:x.x.x.x/n转化为如[num_IP_min,num_IP_max]形式的数组,如IP段10.0.0.0/8可转化为[167772160,184549375];若是单个IP,则将其视为起始IP和末尾IP相同的IP段,如10.0.0.6转化为[167772166,167772166];在映射表中建立映射关系:以IP地址大端(即num_IP_max)为key值,IP段数组(即[num_IP_min,num_IP_max])为value作关联;
遍历转化后的IP段;对每个IP段IPseg_n,取其起始IP,即二元组的第一个元素,记为IPseg_min;使用二分查找法,在步骤1建立的有序数组中,查询第一个比自己大的元素的位置,将位置记为N;若查询成功,进入步骤4,若查询失败,则将该IP段的末尾IP,即二元组的第二个元素(记为IPseg_max)插入有序数组的末尾,重复步骤3;
在数组A中查询第N个元素的值,记为An,并在映射表Dict中查找An元素对应的IP段,记为An_min和An_max,若IPseg_min的值处于An_min和An_max中间,或IPseg_min的值处于An_min和An_max中间,表明IP段存在重复,返回两个重复的IP段并进入步骤5;否则进入步骤8;
对于两个存在重复的IP段IPseg_1和IPseg_2,对于其对应的数字IP段[seg1_min,seg1_max]和[seg2_min,seg2_max],判断seg2_min是否大于seg1_min且小于seg1_max,若是,表明为交叉关系,修改IPseg_1为[seg1_min,seg2_min]完成去重;进入步骤6;否则进入步骤8;
判断seg1_min是否大于seg2_min且小于seg2_max;若是,表明为交叉关系,修改IPseg_2为[seg2_min,seg1_min]完成去重;进入步骤8;否则进入步骤7;
若seg1_min小于seg2_min且seg1_max大于seg2_max;或是seg2_min小于seg1_min且seg2_max大于seg1_max;表明为包含关系;若seg1_min小于seg2_min则去除IPseg_2完成去重,否则去除IPseg_1完成去重;转入步骤8;
取IPseg_n的第二个元素,记为IPseg_max,若An_min的值处于IPseg_min和IPseg_max之间,或是An_min的值处于IPseg_min和IPseg_max之间,表明IP段存在重复,返回两个重复的IP段并进入步骤5;否则表明该IP段是合法IP段,转入步骤3继续遍历直到所有的IP段都被检测。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (3)

1.一种高效的DNS服务器ACL文件去重方法,其特征在于,所述方法包括如下步骤:
步骤1:监控BIND服务器的状态,每当BIND服务器进行配置热加载操作时,获取配置文件目录下的所有ACL文件内容并进行重复性检测;
步骤2:若ACL文件内的IP端存在交叉或包含的情况,则对重复的IP段进行去重处理;
步骤3:若ACL文件内的IP段交叉,则比较两个IP段的起始IP大小,删除起始IP较大的IP段;若ACL文件内的IP段为包含关系,则比较两个IP段的起始IP大小和结尾IP大小,将起始IP较小的IP段的结尾IP修改为另一个IP段的起始IP。
2.根据权利要求1所述的高效的DNS服务器ACL文件去重方法,其特征在于,所述步骤1中的重复性检测包括如下步骤:
步骤1.1:将ACL文件中的IP或IP段转换为十进制的数字IP,IP段为两个数字的IP区间即为数组;
步骤1.2:提取每个区间的起始数字IP,即第一个IP,若此时存在重复的IP地址,表明存在重复,则返回重复的IP;不存在重复则进入步骤1.3;
步骤1.3:将步骤1.2所提取的区间起始数按从小到大的顺序放入数合法组中;
步骤1.4:获取步骤1.1中每个区间的第二个数字IP,使用二分查找法在步骤1.3的有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP段进行比较,返回重复的IP段;以此类推按顺序获取第n个数字IP,使用二分查找法在有序数组中查询第一个比该数字IP大的值,将这两个数字IP对应的IP进行比较,返回重复的IP段。
3.根据权利要求1所述的高效的DNS服务器ACL文件去重方法,其特征在于,所述步骤1中设置有定时任务,用于定期对ACL文件进行检测。
CN201910864637.8A 2019-09-12 2019-09-12 一种高效的dns服务器acl文件去重方法 Active CN110602267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910864637.8A CN110602267B (zh) 2019-09-12 2019-09-12 一种高效的dns服务器acl文件去重方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910864637.8A CN110602267B (zh) 2019-09-12 2019-09-12 一种高效的dns服务器acl文件去重方法

Publications (2)

Publication Number Publication Date
CN110602267A true CN110602267A (zh) 2019-12-20
CN110602267B CN110602267B (zh) 2021-06-22

Family

ID=68859364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910864637.8A Active CN110602267B (zh) 2019-09-12 2019-09-12 一种高效的dns服务器acl文件去重方法

Country Status (1)

Country Link
CN (1) CN110602267B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114362991A (zh) * 2021-11-22 2022-04-15 北京威努特技术有限公司 一种acl访问控制列表规则过滤去重的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104303482A (zh) * 2012-05-08 2015-01-21 瑞典爱立信有限公司 用于分组分类的方法和设备
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN106302424A (zh) * 2016-08-08 2017-01-04 杭州华三通信技术有限公司 一种安全隧道的建立方法及装置
CN106657443A (zh) * 2017-02-13 2017-05-10 杭州迪普科技股份有限公司 Ip地址去重方法和装置
CN109981540A (zh) * 2017-12-28 2019-07-05 中国移动通信集团辽宁有限公司 防火墙数据优化方法、装置、计算机设备及可读存储介质
CN110213400A (zh) * 2019-06-11 2019-09-06 四川长虹电器股份有限公司 一种快速自动构建dns调度acl的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104303482A (zh) * 2012-05-08 2015-01-21 瑞典爱立信有限公司 用于分组分类的方法和设备
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN106302424A (zh) * 2016-08-08 2017-01-04 杭州华三通信技术有限公司 一种安全隧道的建立方法及装置
CN106657443A (zh) * 2017-02-13 2017-05-10 杭州迪普科技股份有限公司 Ip地址去重方法和装置
CN109981540A (zh) * 2017-12-28 2019-07-05 中国移动通信集团辽宁有限公司 防火墙数据优化方法、装置、计算机设备及可读存储介质
CN110213400A (zh) * 2019-06-11 2019-09-06 四川长虹电器股份有限公司 一种快速自动构建dns调度acl的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114362991A (zh) * 2021-11-22 2022-04-15 北京威努特技术有限公司 一种acl访问控制列表规则过滤去重的方法及装置
CN114362991B (zh) * 2021-11-22 2024-04-16 北京威努特技术有限公司 一种acl访问控制列表规则过滤去重的方法及装置

Also Published As

Publication number Publication date
CN110602267B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
US7401080B2 (en) Storage reports duplicate file detection
JP3655486B2 (ja) イベント・ログ方法
RU2601201C2 (ru) Способ и устройство для анализа пакетов данных
US8688659B2 (en) Method for indexed-field based difference detection and correction
CN112003857A (zh) 一种网络资产搜集方法、装置、设备及存储介质
CN110019067B (zh) 一种日志分析方法及系统
US20080098365A1 (en) Performance analyzer
CN109710439B (zh) 故障处理方法和装置
US11281623B2 (en) Method, device and computer program product for data migration
CN110602267B (zh) 一种高效的dns服务器acl文件去重方法
CN109561163B (zh) 统一资源定位符重写规则的生成方法及装置
CN111432041A (zh) 域名采集方法、系统、终端及计算机可读存储介质
CN107590233B (zh) 一种文件管理方法及装置
CN114385668A (zh) 冷数据清理方法、装置、设备及存储介质
JP4422742B2 (ja) 全文検索システム
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN112328379A (zh) 一种应用迁移方法、装置、设备及介质
US20040006562A1 (en) Method, system and program product for automatically retrieving documents
CN113296704B (zh) Sas hba卡固件日志的在线并行收集方法、装置及设备
CN115396159A (zh) 一种容器镜像的检测方法及客户端、服务端
CN111885220B (zh) 一种目标单位ip资产主动获取与验证方法
CN1832419A (zh) 一种表达式的解析方法
CN105634841A (zh) 一种减少网络审计系统冗余日志的方法与装置
CN111274350B (zh) 数据处理方法、装置、计算机设备和存储介质
CN113553587B (zh) 一种文件检测方法、装置、设备及可读存储介质

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