一种本地DNS服务的系统和方法技术方案

技术编号:14444246 阅读:174 留言:0更新日期:2017-01-15 08:36
本发明专利技术提供一种本地DNS服务的系统和方法。根据本发明专利技术的系统,包括:终端,用于向互联网发送数据包,所述数据包中包含DNS请求;OpenFlow交换机,用于接收来自所述终端的DNS请求并转发所述DNS请求;本地DNS服务装置,用于接收来自所述OpenFlow交换机的所述DNS请求,以及根据所述DNS请求生成DNS响应并传送到所述OpenFlow交换机;其中,所述OpenFlow交换机还用于将自本地DNS服务装置接收到的DNS响应转发给所述终端。通过本发明专利技术,能够提供透明的本地DNS服务,可以避免由串接设备而造成的安全问题,并且由于DNS请求不会被发往互联网,从而避免来自互连网的DNS响应与由DNS服务装置所产生的DNS响应之间的竞争。

【技术实现步骤摘要】

本专利技术涉及网络通信,尤其涉及DNS服务。
技术介绍
DNS(DomainNameSystem,域名系统)是因特网上域名和IP地址相互映射的系统,其能够方便用户通过域名访问互联网,而不用记住期望访问的IP地址。DNS是互联网中绝大多数应用所实际采用的寻址方式。在企业内网或运营商内部部署的DNS服务被称作为本地DNS,本地DNS主要提供以下三种功能:(1)提供DNS缓存,加速域名解析,提升用户网络体验;(2)流量牵引,配合CDN(ContentDeliveryNetwork,内容分发网络)技术实现网络传输的优化和本地差异化服务;(3)DNS过滤,基于黑名单实现恶意网站防护,并对钓鱼网站进行拦截。然而,尽管本地DNS能够提供许多有效的功能,但是在部署本地DNS时存在很大的障碍。这是由于,现有的本地DNS服务往往采用“非透明”的方式来实现,也就是需要所有终端都配置DNS服务器地址才能生效。这样的配置过程非常繁琐,并且在一些终端不可控的场景下,无法采用非透明的方式来实现本地DNS服务。还有一部分现有的本地DNS服务采用“透明”方式而实现,采用“透明”的方式指的是不针对终端进行配置,也就是在不让终端知道本地DNS服务存在的情况下,使得DNS服务生效。然而,透明DNS服务通常需要在终端的流量必经之路上串接一个DNS服务器,通过捕获DNS请求报文并拼装相应的DNS响应报文实现,并且拼装的DNS响应报文还需要采用原IP欺骗技术让终端认为该响应来自其配置的DNS服务器。对于现有的透明DNS的方式而言,由于其配置简单不需要对客户端进行修改,因而具有广泛的应用场景,然而其串接部署方式却给网络的可靠性带来了隐患。这是由于在实施网络运营时,原则上应尽可能地减少串接的网络功能设备,以降低网络故障率。考虑到串接DNS服务器而带来的隐患,一些现有技术将本地的DNS服务装置布置在通信的旁路。然而,在这些现有技术中,为了实现DNS服务装置的旁路部署,通常会在终端的流量必经之路上部署分光器或者其他支持端口镜像的设备,以将终端访问互联网的流量镜像给本地DNS服务装置。即使这样将DNS服务装置布置在旁路,然而仍然避免不了需要在流量的路径上串接其他用于镜像流量的设备,因而仍然难以保证网络的可靠性。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种本地DNS服务的系统,包括:终端,用于向互联网发送数据包,所述数据包中包含DNS请求;OpenFlow交换机,用于接收来自所述终端的DNS请求并转发所述DNS请求;本地DNS服务装置,用于接收来自所述OpenFlow交换机的所述DNS请求,以及根据所述DNS请求生成DNS响应并传送到所述OpenFlow交换机;其中,所述OpenFlow交换机还用于将自本地DNS服务装置接收到的DNS响应转发给所述终端。优选地,根据所述的系统,其中还包括:OpenFlow控制器,用于向OpenFlow交换机下发流表项。优选地,根据所述的系统,其中所述OpenFlow控制器,还用于根据所述DNS请求生成用于修改所述DNS响应的源IP的流表项。优选地,根据所述的系统,其中所述本地DNS服务装置集成在所述OpenFlow控制器中。优选地,根据所述的系统,其中所述OpenFlow控制器,还用于根据所述DNS请求生成用于修改所述DNS请求的目的IP的流表项。优选地,根据所述的系统,其中所述OpenFlow控制器,还用于向所述OpenFlow交换机下发用于将目的端口为53的数据包转发至所述OpenFlow控制器的流表项。优选地,根据所述的系统,其中所述OpenFlow控制器,还用于向所述OpenFlow交换机下发用于将源端口为53的数据包转发至所述终端的流表项。并且,本专利技术还提供了一种基于所述系统的本地DNS服务的方法,包括:1)所述OpenFlow交换机根据流表项,将来自终端的全部数据包中的DNS请求发送至所述本地DNS服务装置;2)所述本地DNS服务装置将生成的DNS响应发送至所述OpenFlow交换机;3)所述OpenFlow交换机根据流表项,将所述DNS响应转发至所述终端。优选地,根据所述的方法,其中步骤3)之前还包括:2.5)所述OpenFlow交换机根据流表项,将所述DNS响应的源IP修改为所述DNS请求的目的IP。优选地,根据所述的方法,其中步骤1)之前还包括:所述OpenFlow交换机根据流表项,将所述DNS请求的目的IP修改为所述本地DNS服务装置的IP地址。优选地,根据所述的方法,其中步骤1)包括:所述OpenFlow交换机根据流表项,将目的端口为53的数据包作为所述DNS请求转发至所述OpenFlow控制器。优选地,根据所述的方法,其中步骤3)包括:所述OpenFlow交换机根据流表项,将源端口为53的数据包转发至所述终端。与现有技术相比,本专利技术的优点在于:相较于非透明的本地DNS服务,本专利技术无需对终端进行配置,其不必限制于为已经经过配置的终端提供DNS服务。相较于传统的透明的本地DNS服务,本专利技术基于软件定义技术,仅将DNS请求转发给DNS服务装置,而无需在终端的流量必经之路上串接一个设备以将来自终端的全部流量均镜像给DNS服务装置,由此避免了由串接设备而造成的安全问题;并且,在本专利技术中,DNS请求不会被发往互联网,因而阻断了来自互连网的DNS响应,从而避免其与由DNS服务装置所产生的DNS响应产生竞争。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1是现有技术中将DNS服务装置部署在旁路的透明DNS方案的场景示意图;图2是OpenFlow技术所支持的匹配项的示意图;图3是根据本专利技术的一个实施例的集成DNS服务方案的系统示意图;图4是根据本专利技术的一个实施例的独立DNS服务方案的系统示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作详细说明。图1示出了现有技术中,将DNS服务装置部署在旁路的透明DNS方案的场景图。如图1所示,在此类现有技术中需要部署诸如分光器或者其他支持端口镜像的设备,以将终端访问互联网的流量镜像给被部署在旁路的DNS服务装置。参考图1,当终端向互联网发送包含域名信息的DNS请求时,用于镜像流量的分光器将DNS请求的流量复制一份给DNS服务装置,使得DNS服务装置可以采用透明方式向终端回复DNS响应,从而使得终端能够根据该DNS相应获知与域名相对应的IP地址。同时,原本发送给互联网的DNS请求也会通过互联网向终端返回一个响应(即图1中的原DNS响应)。然而,由于没有阻断原DNS响应,其会与由在本地的DNS服务装置所产生的DNS响应产生竞争,并让终端发觉。在上述现有技术中,并没有考虑截断来自终端的DNS请求。专利技术人认为这是由于本领域技术人员认为终端可能会向互联网发送各种类型的数据包,而基于现有的大多数协议,只有在确定了数据包中的目的端口后才能够确定该数据包是不是DNS请求。并且,出于各种需求,终端常常需要发出大流量的各种数据包。因而,现有技术不会专门针对DNS服务而设置具有提取数据包端口功能的装置(这样的装置通常复杂度高,也容易发生故障),而仅是采用诸如分光器的装置来镜像流量,并将镜像得到的流量发送给DNS服务装置。可以看出,传统的将DNS服务装置设本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201610685617.html" title="一种本地DNS服务的系统和方法原文来自X技术">本地DNS服务的系统和方法</a>

【技术保护点】
一种本地DNS服务的系统,包括:终端,用于向互联网发送数据包,所述数据包中包含DNS请求;OpenFlow交换机,用于接收来自所述终端的DNS请求并转发所述DNS请求;本地DNS服务装置,用于接收来自所述OpenFlow交换机的所述DNS请求,以及根据所述DNS请求生成DNS响应并传送到所述OpenFlow交换机;其中,所述OpenFlow交换机还用于将自本地DNS服务装置接收到的DNS响应转发给所述终端。

【技术特征摘要】
1.一种本地DNS服务的系统,包括:终端,用于向互联网发送数据包,所述数据包中包含DNS请求;OpenFlow交换机,用于接收来自所述终端的DNS请求并转发所述DNS请求;本地DNS服务装置,用于接收来自所述OpenFlow交换机的所述DNS请求,以及根据所述DNS请求生成DNS响应并传送到所述OpenFlow交换机;其中,所述OpenFlow交换机还用于将自本地DNS服务装置接收到的DNS响应转发给所述终端。2.根据权利要求1所述的系统,其中还包括:OpenFlow控制器,用于向OpenFlow交换机下发流表项。3.根据权利要求2所述的系统,其中所述OpenFlow控制器,还用于根据所述DNS请求生成用于修改所述DNS响应的源IP的流表项。4.根据权利要求2所述的系统,其中所述本地DNS服务装置集成在所述OpenFlow控制器中。5.根据权利要求2或3所述的系统,其中所述OpenFlow控制器,还用于根据所述DNS请求生成用于修改所述DNS请求的目的IP的流表项。6.根据权利要求2或3所述的系统,其中所述OpenFlow控制器,还用于向所述OpenFlow交换机下发用于将目的端口为53的数据包转发至所述OpenFlow控制器的流表项。7.根据权利要求2或...

【专利技术属性】
技术研发人员:张骏张广兴谢高岗张聪平
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1