一种防止DNS强解结果被污染的方法及系统技术方案

技术编号:15624811 阅读:105 留言:0更新日期:2017-06-14 06:06
本发明专利技术公开了一种防止DNS强解结果被污染的方法及系统,属于DNS解析和管理技术领域,包括:DNS递归或缓存服务器在CNAME类型的资源记录缓存中标注引入该缓存的查询类型,后续处理查询请求时碰到CNAME缓存,首先检查该CNAME缓存标注中的查询类型是否包含当前的查询类型,如果包含,则使用该缓存进行下一步查询,否则忽略该CNAME缓存,根据配置的查询规则向外发出查询请求。本发明专利技术提供的技术方案,解决了广电、运营商或其他接入提供商因为网站镜像等需求,将某些域名的指定类型查询结果进行强解的时候,碰到缓存中存在相同域名的CNAME类型缓存记录干扰了强解结果的问题。

【技术实现步骤摘要】
一种防止DNS强解结果被污染的方法及系统
本专利技术涉及计算机DNS解析和管理
,具体地说,是涉及一种防止DNS强解结果被污染的方法及系统。
技术介绍
目前计算机域名服务器(DomainNameSystem,简称DNS)领域中,一些广电、运营商或其它接入商为了网站缓存等需求,需要对某些域名的指定类型查询进行强制解析,更改向外部查询返回的真正解析结果,其它类型的查询返回正常查询结果。因为内容分发网络(ContentDeliveryNetwork,简称CDN)等技术需要,大量的域名配置了多级的CNAME重定向,因此配置强制解析的域名通常为CNAME链上的某一级域名。强解机制存在以下缺陷:因为通常只强解域名的指定类型查询结果,当DNS服务器处理强解域名或强解域名CNAME链上游某级域名的非强解类型查询时,可能引入强解域名的CNAME类型缓存。如果强解域名的CNAME类型记录进入缓存早于强解类型查询触发,或者CNAME类型缓存时间长于强解类型缓存,会导致DNS服务器处理强解类型查询时使用该CNAME缓存,不向外发出强解域名的强解类型查询,引起强解机制失效。
技术实现思路
为解决上述技术问题,本专利技术提供了一种防止DNS强解结果被污染的方法,该方法包括:DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型;当处理查询请求时,检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型,若是,则使用所述CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。优选地,所述检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型包括:若所述CNAME缓存为多级缓存,则检查每级CNAME缓存标注的查询类型是否包含所述查询请求的查询类型。优选地,所述查询请求包括客户端发送的查询请求或者所述DNS递归或缓存服务器触发的查询请求。优选地,在所述根据预先配置的查询规则向外发出查询请求之后,所述方法还包括:接收所述查询请求的响应消息;将所述响应消息中的资源记录存入缓存。优选地,将所述响应消息中的资源记录存入缓存包括:判断是否存在有效的同名CNAME缓存,若是,则更新CNAME缓存并将当前查询类型合并至所述CNAME缓存标注的查询类型集合;若否,则将所述CNAME记录存入缓存,并将查询类型存入所述缓存标注的查询类型集合。本专利技术还提供了一种防止DNS强解结果被污染的系统,其特征在于,所述系统包括:缓存模块,用于DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型;查询模块,用于当处理查询请求时,检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型,若是,则使用所述CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。优选地,所述查询模块还用于:若所述CNAME缓存为多级缓存,则检查每级CNAME缓存标注的查询类型是否包含所述查询请求的查询类型。优选地,所述查询请求包括客户端发送的查询请求或者所述DNS递归或缓存服务器触发的查询请求。优选地,所述缓存模块还用于:接收所述查询请求的响应消息;将所述响应消息中的资源记录存入缓存。优选地,所述缓存模块还用于:判断是否存在有效的同名CNAME缓存,若是,则更新CNAME缓存并将当前查询类型合并至所述CNAME缓存标注的查询类型集合;若否,则将所述CNAME记录存入缓存,并将查询类型存入所述缓存标注的查询类型集合。与现有技术相比,本专利技术提供一种防止DNS强解结果被污染的方法及系统,解决了广电、运营商或其他接入提供商因为网站镜像等需求,将某些域名的指定类型查询结果进行强解的时候,碰到缓存中存在的CNAME类型缓存记录干扰了强解结果的问题。附图说明图1为本专利技术一优选实施例中防止DNS强解缓存污染的方法流程示意图;图2为本专利技术CNAME缓存流程示意图;图3为本专利技术CNAME查询流程示意图;图4为本专利技术另一优选实施例中防止DNS强解缓存污染的系统结构示意图。具体实施方式为使本领域技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施方式对本专利技术作进一步详细描述。网络服务提供商为了实现访问加速的效果,对某些网站做了本地镜像,通过在DNS服务器上配置强制解析策略,当接收到客户端对这些网站域名的解析请求,直接返回强解策略中指定的镜像服务器IP地址,不返回真正的解析结果。本专利技术中的强解结果指的是DNS服务器对指定域名不返回正常解析流程的查询结果,直接返回设定的解析结果。参照图1所示,本专利技术一优选实施例中提供了一种防止DNS强解结果被污染的方法,该方法包括:S110、DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型。标注引入CNAME缓存的查询类型可以方便根据该查询类型判断是否可以在本地进行缓存的查找。参照图2所示,为CNAME缓存流程,包括:DNS递归或缓存服务器接收到客户端请求或者自身机制触发向外查询后,接收反馈的DNS响应消息,在将得到的DNS响应消息中资源记录存入缓存时,对于CNAME类型的缓存进行特殊处理。如果该缓存不是CNAME缓存,则将其存入到缓存中,如果是CNAME缓存,则查询缓存中是否存在同名的CNAME缓存,且该缓存仍然有效,如果存在有效的CNAME缓存,更新CNAME缓存,然后将当前查询类型合并至CNAME缓存标注的查询类型集合;否则将CNAME记录存入缓存,同时将查询类型存入该缓存标注的查询类型集合。S120、当处理查询请求时,检查CNAME缓存标注中的查询类型是否包含查询请求的查询类型,若是,则使用CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。参照图3所示,为CNAME缓存查询的处理流程,其中,查询请求包括客户端发送的查询请求或者DNS递归或缓存服务器自身触发的查询请求。具体地,当DNS递归与缓存服务器接收到客户端查询请求或者自身机制触发查询时,会首先查询本服务器缓存,如果查询中碰到CNAME缓存,检查该CNAME缓存中标注的查询类型,如果标注中的查询类型包含当前的查询类型,则使用该缓存进行下一步查询,否则忽略该CNAME缓存,根据配置的规则向外发出查询请求。可选的,如果查询中碰到多级缓存,对于每一级CNAME缓存都先检查标注的查询类型,如果包含当前查询类型,则使用该缓存进行下一步查询,否则忽略该CNAME缓存,根据配置规则查询该级域名。本专利技术实施例提供了一种防止DNS强解结果被污染的方法,解决了广电、运营商或其他接入提供商因为网站镜像等需求,通过对CNAME缓存的查询类型标注和查询,可以避免在强制解析中引入不必要的CNAME类型缓存,造成对强制解析的干扰。参照图4所示,在本专利技术另一优选实施例中提供了一种防止DNS强解结果被污染的系统,该系统包括:缓存模块410,用于DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型;查询模块420,用于当处理查询请求时,检查CNAME缓存标注中的查询类型是否包含查询请求的查询类型,若是,则使用CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。其中,查询请求包括客户端发送的查询请求或者DNS递本文档来自技高网...
一种防止DNS强解结果被污染的方法及系统

【技术保护点】
一种防止DNS强解结果被污染的方法,其特征在于,所述方法包括:DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型;当处理查询请求时,检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型,若是,则使用所述CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。

【技术特征摘要】
1.一种防止DNS强解结果被污染的方法,其特征在于,所述方法包括:DNS递归或缓存服务器缓存CNAME类型的资源记录并标注引入CNAME缓存的查询类型;当处理查询请求时,检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型,若是,则使用所述CNAME缓存继续查询,若否,则根据预先配置的查询规则向外发出查询请求。2.根据权利要求1所述的方法,其特征在于,所述检查所述CNAME缓存标注中的查询类型是否包含所述查询请求的查询类型包括:若所述CNAME缓存为多级缓存,则检查每级CNAME缓存标注的查询类型是否包含所述查询请求的查询类型。3.根据权利要求1所述的方法,其特征在于,所述查询请求包括客户端发送的查询请求或者所述DNS递归或缓存服务器触发的查询请求。4.根据权利要求1所述的方法,其特征在于,在所述根据预先配置的查询规则向外发出查询请求之后,所述方法还包括:接收所述查询请求的响应消息;将所述响应消息中的资源记录存入缓存。5.根据权利要求4所述的方法,其特征在于,将所述响应消息中的资源记录存入缓存包括:判断是否存在有效的同名CNAME缓存,若是,则更新CNAME缓存并将当前查询类型合并至所述CNAME缓存标注的查询类型集合;若否,则将所述CNAME记录存入缓...

【专利技术属性】
技术研发人员:陈政璋
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司
类型:发明
国别省市:北京,11

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

1