一种基于DNS代理解析分流方法和系统与流程
未命名
08-05
阅读:112
评论:0
一种基于dns代理解析分流方法和系统
技术领域
1.本技术涉及互联网技术领域,特别是涉及一种域名解析分流方法和系统。
背景技术:
2.dns服务器作为一个公开服务,以53端口暴露于互联网上,任何需要需用该dns服务器设备都可以直接连接至此服务。当一个正常设备连入一个封闭系统并希望访问封闭系统内的自建/私有域名时,需要将host写入该设备,或着使用封闭系统内自建/私有的dns服务器实现。
3.但是当一个设备既有正常访问互联网需求,又有访问封闭系统的需求时,一般具有以下两种方式:
4.第一种方式:如图1所示,需要封闭系统内的dns服务器也支持对于互联网正常域名解析,但是这种支持会导致封闭系统的dns有可能被攻击和污染,并且会对封闭系统的流量造成很大的压力。
5.第二种方式:使用host设备,修改host文件。但这种方法,需要经常性的改动host文件,同样面临数据出错,泄露等问题。
技术实现要素:
6.基于此,针对上述技术问题,提供一种基于dns代理解析分流方法和系统,以解决当封闭系统私有dns既需要满足自身需求又要承载普通公共dns功能时,封闭系统私有dns的压力大以及数据泄漏的风险的问题。
7.第一方面,一种基于dns代理解析分流方法,应用于封闭系统内的dns服务器,所述方法包括:
8.在封闭系统内的dns服务器设置自定义dns规则配置,所述自定义dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;
9.当封闭系统内的dns服务器接收到客户端发送的dns请求时,判断所述dns请求是否与所述自定义的域名解析列表或所述自定义域名到指定dns服务器进行解析的域名列表匹配;
10.若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述自定义域名到指定dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
11.上述方案中,可选地,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
12.上述方案中,可选地,所述自定义规则配置还包括:所述自定义dns规则配置还包括:禁止访问的域名列表;当dns服务器接收到客户端发送的dns请求时,还应该判断所述
dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
13.上述方案,进一步可选地,所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
14.第二方面,一种dns服务系统,包括封闭系统内的dns服务器和本地默认使用的dns服务器;
15.所述封闭系统内的dns服务器,用于设置自定义dns规则配置,所述dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;
16.还用于接收客户端发送的dns请求,并判断所述dns请求是否与所述自定义的域名解析列表或所述自定义的域名到指定的dns服务器进行解析的域名列表匹配,若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述定义的域名到指定的dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
17.上述方案中,可选地,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
18.上述方案中,可选地,所述自定义dns规则配置还设置有禁止访问的域名列表,当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
19.上述方案,进一步可选地,若所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
20.第三方面,一种封闭系统内的dns服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述基于dns代理解析分流方法的步骤。
21.第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述基于dns代理解析分流方法的步骤。
22.相比现有技术,本技术至少具有以下有益效果:
23.本技术的方案通过在封闭系统的dns服务设置包含有自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表的规则配置,以此对dns请求进行分类,使dns请求可以找到对应的dns服务器,利用不同dns服务器对dns请求进行域名解析,缓解大量数据对封闭系统的dns服务器造成的流量压力,同时又避免了封闭系统内的dns服务器支持对于互联网正常域名解析,降低数据泄漏的风险。
附图说明
24.图1为封闭系统内的dns服务器也支持对于互联网正常域名解析的dns解析流程图。
25.图2为本技术一个实施例提供的基于dns代理解析分流方法的基本流程示意图;
26.图3为本技术的一个实施例提供的基于dns代理解析分流方法的详细工作流程示意图;
具体实施方式
27.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
28.自定义域名解析:自定义域名解析是指不使用公共dns服务器(比如114.114.114.114,8.8.8.8或运营商提供的服务器ip),直接指定某个域名到特定的ip地址。
29.dns污染(dns cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的ip地址。一般来说,在互联网上都有可信赖的网络服务器,但为降低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存下来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存收到污染,就会把网域内的计算机导引往错误的服务器或服务器的网址。某些运营商为了某些目的,对dns进行了某些操作,导致使用isp的正常上网设置无法通过域名取得正确的ip地址。
30.在一个实施例中,如图2所示,提供了一种基于dns代理解析分流方法,本实施例方法的执行主体为封闭系统内的dns服务器,客户端通过网络与该dns服务器进行交互。本实施例中,该方法包括以下步骤:
31.步骤s101:在封闭系统内的dns服务器设置自定义dns规则配置,所述自定义dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表。
32.需要说明的是,在每个封闭系统的dns服务器中均设置dns规则配置,每个dns规则配置均包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;其中,封闭系统的dns服务器是预先在客户端与被访问资源之间架设好的。
33.步骤102:当封闭系统内的dns服务器接收到客户端发送的dns请求时,判断所述dns请求是否与所述自定义的域名解析列表或所述自定义域名到指定dns服务器进行解析的域名列表匹配。
34.其中,客户端所发送的dns请求中包含目标域名,所述自定义的域名解析列表是域名和ip地址的映射列表,所述自定义域名到指定dns服务器进行解析的域名列表是域名和指定dns服务器的映射列表。
35.步骤s103:若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述自定义域名到指定dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
36.其中,根据修改后的目标地址找到对应指定dns目标服务器,指定目标服务器中仍然储存着自定义的域名解析列表,根据自定义的域名解析列表中域名和ip地址的映射关系返回ip地址。所述指定dns服务器可以是公司/组织另一个封闭系统内自建自用的私有dns服务器,也可以是公用dns服务器。
37.在本发明的实施例中,通过在dns服务设置包含有自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表的规则配置,通过对dns请求进行列表匹
配,以此对dns请求进行分类,使dns请求可以找到对应的dns服务器,利用不同dns服务器对dns请求进行域名解析,使得缓解大量数据对dns服务器造成的流量压力,同时又避免了在dns服务器中缓存的解析记录,使得dns解析无法遭受污染。
38.在一个实施例中,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
39.在一个实施例中,所述自定义规则配置还包括:禁止访问的域名列表,当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
40.本实施例中,通过在dns服务器中设置禁止访问的域名列表,因此,当所述dns请求属于禁止访问的域名列表时,向客户端返回输入错误,由此实现域名黑名单业务。
41.在一个实施例中,所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
42.具体地,当所述dns请求不属于自定义dns规则配置列表中时,也可以将dns请求转发至值得信赖的公共服务器,如114.114.114.114。所述自定义列表包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表以及禁止访问的域名列表。
43.dns标准服务是端口53的udp服务,但因dns污染等问题,某些厂商(如google)开始尝试使用https和tcp协议实现dns服务。本技术方案可增加本地https证书,以实现对此类dns服务的分析和转发等处理。具体处理为添加本地受信(自签名等)https证书,获取拦截修改https请求的能力,并将标准方案中拦截修改udp协议dns请求的部分改为拦截tcp协议dns请求即可。使用https自建证书修改/劫持https请求是成熟技术,很多第三方软件均有实现。
44.在一个实施例中,一种dns服务系统,包括封闭系统内的dns服务器和本地默认使用的dns服务器;所述封闭系统内的dns服务器,用于设置自定义dns规则配置,所述dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;还用于接收客户端发送的dns请求,并判断所述dns请求是否与所述自定义的域名解析列表或所述自定义的域名到指定的dns服务器进行解析的域名列表匹配,若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述定义的域名到指定的dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
45.在一个实施例中,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
46.在一个实施例中,所述自定义dns规则配置还设置有禁止访问的域名列表,当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
47.在一个实施例中,所述dns请求与所述自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
48.在一个实施例中,提供一种封闭系统内的dns服务器,包括存储器和处理器,所述存储器存储有计算机程序,包括存储器和处理器,所述存储器存储有计算机程序,该dns服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,该dns服务器的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该dns服务器的数据库用于存储自定义dns规则配置数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述一种于dns代理解析分流方法。
49.在一个实施例中,还提供了一种dns服务器可读存储介质,其上存储有计算机程序,涉及上述实施例方法中的全部或部分流程。
50.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
51.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
52.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
技术特征:
1.一种基于dns代理解析分流方法,其特征在于,应用于封闭系统内的dns服务器,所述方法包括:在封闭系统内的dns服务器设置自定义dns规则配置,所述自定义dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;当封闭系统内的dns服务器接收到客户端发送的dns请求时,判断所述dns请求是否与所述自定义的域名解析列表或所述自定义域名到指定dns服务器进行解析的域名列表匹配;若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述自定义域名到指定dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。2.根据权利要求1所述的基于dns代理解析分流方法,其特征在于,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。3.根据权利要求1所述的基于dns代理解析分流方法,其特征在于,所述自定义dns规则配置还包括:禁止访问的域名列表;当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。4.根据权利要求1-3所述的基于dns代理解析分流方法,其特征在于,若所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。5.一种dns服务系统,其特征在于,包括封闭系统内的dns服务器和本地默认使用的dns服务器;所述封闭系统内的dns服务器,用于设置自定义dns规则配置,所述dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;还用于接收客户端发送的dns请求,并判断所述dns请求是否与所述自定义的域名解析列表或所述自定义的域名到指定的dns服务器进行解析的域名列表匹配,若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述定义的域名到指定的dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。6.根据权利要求5所述的dns服务系统,其特征在于,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。7.根据权利要求5所述的dns服务系统,其特征在于,所述自定义dns规则配置还设置有禁止访问的域名列表,当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。8.根据权利要求5-7所述的dns服务系统,其特征在于,若所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。9.一种封闭系统内的dns服务器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法
的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
技术总结
本申请公开了一种基于DNS代理解析分流方法和系统,在封闭系统内的DNS服务器设置自定义DNS规则配置,所述自定义DNS规则配置包括自定义的域名解析列表、自定义的域名到指定的DNS服务器进行解析的域名列表;当所述DNS服务器接收到客户端发送的DNS请求时,若DNS请求与自定义的域名解析列表匹配,则返回对应的目标IP;若DNS请求与所述自定义域名到指定DNS服务器解析的域名列表匹配,则根据目标DNS的IP,修改DNS包的目标地址继续发送。因此能缓解大量数据对封闭系统的DNS服务器造成的流量压力,同时又降低并降低数据泄漏的风险。同时又降低并降低数据泄漏的风险。同时又降低并降低数据泄漏的风险。
技术研发人员:陈本峰 康健
受保护的技术使用者:苏州云至深技术有限公司
技术研发日:2023.04.12
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
