DNS服务的健康校验方法及装置与流程

未命名 07-14 阅读:243 评论:0

dns服务的健康校验方法及装置
技术领域
1.本发明涉及计算机技术领域,尤其涉及一种dns服务的健康校验方法及其装置。


背景技术:

2.dns(domain name system,域名系统)服务是因特网的一项核心服务,它作为可以将域名和ip地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,在互联网世界中担任着非常重要的角色。基于此,不管是在单机环境还是集群环境中,对于dns服务的健康校验是非常重要的。
3.传统的对于dns的健康校验主要分为两类:一类是基于端口的校验(传统的对于53端口的扫描检验),另一类是dns服务向外部提供一个http接口进行健康检验(如kubernetes集群环境中的健康检验)。这两类健康检验的方法具有非常大的局限性:第一个局限性是只能对于dns服务是否存活做静态检验,并不能确定dns服务是否正常工作;第二个局限性是它们并没有利用到dns的特性,在一些极端情况下(如健康检验的端口无法暴露)是无法工作的。
4.综上所述,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。


技术实现要素:

5.针对上述的缺陷,本发明的目的在于提供一种dns服务的健康校验方法及其装置,基于dns的查询及响应,区别于现有技术的静态校验,能够从本质上对dns服务进行健康校验,并且不需要做额外的开发。
6.为了实现上述目的,本发明提供了一种dns服务的健康校验方法,应用于客户端,包括:
7.所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
8.所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;
9.所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
10.根据所述的方法,所述客户端通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,所述方法还包括:
11.所述客户端将所述注册信息发送至所述dns服务器以使得所述dns服务器根据所述注册信息判断所述客户端是否注册成功。
12.根据所述的方法,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。
13.根据所述的方法,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
14.为了实现上述目的,本发明还提供了一种dns服务的健康校验方法,应用于dns服务器,包括:
15.所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
16.所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括所述dns服务器的健康状态;
17.所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
18.根据所述的方法,所述方法还包括:
19.所述dns服务器接收所述客户端注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且所述dns服务器根据所述公网出口ip判断所述客户端是否注册成功。
20.为了实现上述目的,本发明还提供了一种dns服务的健康校验装置,应用于客户端,包括:
21.第一发送模块,用于所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
22.第一接收模块,用于所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;
23.校验模块,用于所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
24.为了实现上述目的,本发明还提供了一种dns服务的健康校验装置,应用于dns服务器,包括:
25.第二接收模块,用于所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
26.写入模块,用于所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括所述dns服务器的健康状态;
27.第三发送模块,用于所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
28.为了实现上述目的,本发明还提供了一种存储介质,用于存储一种用于执行上述任意一种dns服务的健康校验方法的计算机程序。
29.为了实现上述目的,本发明还提供了一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的dns服务的健康校验方法。
30.本发明通过所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所
述dns服务器的健康状态;所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。本发明的实施例基于dns的查询及响应,并且利用了dns的txt请求类型的优势dns服务器的健康状态。由此,本发明能够从本质上对dns服务进行健康校验,并且不需要做额外的开发。
附图说明
31.图1是本发明一实施例的dns服务的健康校验方法的流程图之一;
32.图2是本发明一实施例的dns服务的健康校验方法的流程图之二;
33.图3是本发明一实施例的客户端与dns服务器进行交互的示意图;
34.图4是本发明一实施例的浏览器的dns服务的健康校验装置的模块示意图之一;
35.图5是本发明一实施例的浏览器的dns服务的健康校验装置的模块示意图之二;
36.图6是本发明提供的计算机设备的结构示意图。
具体实施方式
37.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
38.需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构或特性结合到其它实施例中是在本领域技术人员的知识范围内的。
39.此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求书中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此系包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。
40.参见图1,图1示出了本发明第一实施例的一种dns服务的健康校验方法的流程图,应用于客户端600,该方法包括:
41.步骤s101,客户端600发送dns请求至dns服务器700,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
42.步骤s102,客户端600接收dns服务器700根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括dns服务器700的健康状态;
43.步骤s103,客户端600根据dns服务器信息进行健康校验,判断dns服务器700的dns服务正常或者异常。
44.在该实施例中,不限制使用的互联网协议(internet protocol,ip),只要是能进
行互联网正常请求的互联网协议均可,例如,可以是ipv4或者ipv6等。不限制使用的dns传输协议,可以是udp,tcp,https或是tls等协议类型。具体的,基于dns请求的查询及响应,并且利用了dns的txt请求类型的优势,客户端600发送dns请求至dns服务器700,dns请求的请求类型为txt类型,在dns协议中定义了基于txt类型的查询,规定结果为文本,由此当dns服务器700接收到包括健康校验(health check)域名的dns请求时,可以将需要返回至客户端600的内容(例如dns服务器700的健康状态)写入txt类型的资源记录(resourcerecord,rr)中,该资源记录的内容的格式以及字段可以根据需求预先设定,但具体的格式以及字段不作限制。该健康校验域名是预先设定的,例如该健康校验域名可以是hc.n.360.cn。dns服务器700判断客户端600发送的dns请求中的健康校验域名与预设的健康校验域名一致时,将自身的健康状态以json格式放到dnsresponse的rr记录里面。客户端600接收到response的结果后,根据该dns服务器700的健康状态进行健康校验,从而判断出dns服务器700的dns服务正常或者异常。由此,基于dns协议中的txt请求类型,客户端600在进行dns服务的健康校验时,无需做额外开发,只需要向dns服务器700发送包括健康校验域名的dns请求,并且将dns请求的请求类型设置为txt类型即可,能够从本质上对dns服务进行健康校验。
45.作为一个可选的实施例,所述客户端600通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,所述方法还包括:
46.所述客户端600将所述注册信息发送至dns服务器700以使得dns服务器700根据所述注册信息判断所述客户端600是否注册成功。
47.在该实施例中,基于dns的txt请求类型,在返回的资源记录里面除了可以返回dns服务器700自身的健康状态,还可以添加客户端600的状态信息,并且返回的内容的格式及字段可灵活定义。具体的,可以通过资源记录返回客户端600注册的dns防火墙服务是否注册成功,只要在接入dns服务时,dns服务器700能够识别到客户端600的注册信息即可,无论是公网出口ip注册还是doh注册方式均可。
48.作为一个可选的实施例,所述txt类型的资源记录还包括用于表征所述客户端600是否注册成功的客户端信息。
49.在该实施例中,在txt类型的资源记录中添加用于表征所述客户端600是否注册成功的客户端信息以使得客户端600在未注册成功时,重新注册。
50.作为一个可选的实施例,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。json(javascript object notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c、c++、c#、java、javascript、perl、python等)。这些特性使json成为理想的数据交换语言。
51.举例说明,在dns防火墙场景下,用户的使用情景可如下:
52.1、用户在dns防火墙网页端注册账号,并且添加自身的公网出口ip,然后向dns服务器700请求健康校验(health check)域名(如hc.n.360.cn)的txt类型的资源记录;
53.2、dns服务器700收到健康校验的请求后,根据客户端600的客户端公网出口ip等信息,可以获取到客户端600是否注册,客户端600所在的企业信息等。依照约定好的返回格式(如表1-1所示),将包括dns服务器700的健康状态的dns服务器信息和客户端信息等组包成json格式写入txt类型的rr记录里;
[0054][0055][0056]
表1-1
[0057]
3、dns服务器700向客户端600返回该txt类型的rr记录;
[0058]
4、客户端600在收到该txt的rr记录时,先从中解出json包,然后依据里面的信息做进一步处理,例如,当client_status为unregistered则表征客户端600未注册成功,需要注册等。
[0059]
参见图2,图2示出了本发明第二实施例的一种dns服务的健康校验方法的流程图,应用于dns服务器700,该方法包括:
[0060]
步骤s201,dns服务器700接收客户端600发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0061]
步骤s202,dns服务器700根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括dns服务器700的健康状态;
[0062]
步骤s203,dns服务器700将所述txt类型的资源记录发送至所述客户端600以使得所述客户端600根据所述dns服务器信息进行健康校验,判断dns服务器700的dns服务正常或者异常。
[0063]
在该实施例中,不限制使用的互联网协议(internet protocol,ip),只要是能进行互联网正常请求的互联网协议均可,例如,可以是ipv4或者ipv6等。不限制使用的dns传输协议,可以是udp,tcp,https或是tls等协议类型。具体的,基于dns请求的查询及响应,并且利用了dns的txt请求类型的优势,dns服务器700接收客户端600发送的dns请求,dns请求
的请求类型为txt类型,在dns协议中定义了基于txt类型的查询,规定结果为文本,由此当dns服务器700接收到包括健康校验(health check)域名的dns请求时,可以将需要返回至客户端600的内容(例如dns服务器700的健康状态)写入txt类型的资源记录(resourcerecord,rr)中,该资源记录的内容的格式以及字段可以根据需求预先设定,但具体的格式以及字段不作限制。该健康校验域名是预先设定的,例如该健康校验域名可以是hc.n.360.cn。dns服务器700判断客户端600发送的dns请求中的健康校验域名与预设的健康校验域名一致时,将自身的健康状态以json格式放到dnsresponse的rr记录里面。客户端600接收到response的结果后,根据该dns服务器700的健康状态进行健康校验,从而判断出dns服务器700的dns服务正常或者异常。由此,基于dns协议中的txt请求类型,客户端600在进行dns服务的健康校验时,无需做额外开发,只需要向dns服务器700发送包括预设的健康校验域名的dns请求,并且将dns请求的请求类型设置为txt类型即可,能够从本质上对dns服务进行健康校验。
[0064]
作为一个可选的实施例,该方法还包括:
[0065]
dns服务器700接收所述客户端600注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且dns服务器700根据所述公网出口ip判断所述客户端600是否注册成功。
[0066]
在该实施例中,基于dns的txt请求类型,在返回的资源记录里面除了可以返回dns服务器700自身的健康状态,还可以添加客户端600的状态信息,并且返回的内容的格式及字段可灵活定义。具体的,可以通过资源记录返回客户端600注册的dns防火墙服务是否注册成功,只要在接入dns服务时,dns服务器700能够识别到客户端600的注册信息即可,无论是公网出口ip注册还是doh注册方式均可。
[0067]
作为一个可选的实施例,所述txt类型的资源记录还包括用于表征所述客户端600是否注册成功的客户端信息。
[0068]
在该实施例中,在txt类型的资源记录中添加用于表征所述客户端600是否注册成功的客户端信息以使得客户端600在未注册成功时,重新注册。
[0069]
作为一个可选的实施例,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。json(javascript object notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于javascript programming language,standard ecma-2623rd edition-december 1999的一个子集。json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c、c++、c#、java、javascript、perl、python等)。这些特性使json成为理想的数据交换语言。
[0070]
作为一个可选的实施例,所述方法还包括:若dns服务器700的dns服务异常,则dns服务器700采取失效转移(failover)机制。failover机制为系统备援能力的一种,当系统中其中一项设备失效而无法运作时,另一项设备即可自动接手原失效系统所执行的工作。
[0071]
参见图3,图3示出了客户端600与dns服务器700进行交互的示意图,具体包括:
[0072]
1、客户端600向dns服务器700发送health check域名的dns请求,请求类型为txt类型;
[0073]
2、dns服务器700根据接收的dns请求,校验客户端600的公网出口ip获得客户端信息,并且将自身的健康状态以及客户端信息写入txt类型的rr记录中;
[0074]
3、dns服务器700将该rr记录返回至客户端600;
[0075]
4、客户端600接收该rr记录并根据该rr记录进行后续处理。
[0076]
参见图4,图4示出了本发明第三实施例提供的一种dns服务的健康校验装置100的模块示意图,应用于客户端600,该装置100包括:
[0077]
第一发送模块110,用于所述客户端600发送dns请求至dns服务器700,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0078]
第一接收模块120,用于所述客户端600接收dns服务器700根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括dns服务器700的健康状态;
[0079]
校验模块130,用于所述客户端600根据所述dns服务器信息进行健康校验,判断dns服务器700的dns服务正常或者异常。
[0080]
作为一个可选的实施例,所述客户端600通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,该装置100还包括:
[0081]
第二发送模块140,用于所述客户端600将所述注册信息发送至dns服务器700以使得dns服务器700根据所述注册信息判断所述客户端600是否注册成功。
[0082]
作为一个可选的实施例,所述txt类型的资源记录还包括用于表征所述客户端600是否注册成功的客户端信息。
[0083]
作为一个可选的实施例,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
[0084]
需要说明的是,本发明实施例所提供的dns服务的健康校验装置100,其具体实现及产生的技术效果和前述第一实施例提供的dns服务的健康校验方法相同,为简要描述,装置100实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0085]
参见图5,图5示出了本发明第四实施例提供的一种dns服务的健康校验装置200的模块示意图,应用于dns服务器700,该装置200包括:
[0086]
第二接收模块210,用于dns服务器700接收客户端600发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0087]
写入模块220,用于dns服务器700根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括dns服务器700的健康状态;
[0088]
第三发送模块230,用于dns服务器700将所述txt类型的资源记录发送至所述客户端600以使得所述客户端600根据所述dns服务器信息进行健康校验,判断dns服务器700的dns服务正常或者异常。
[0089]
作为一个可选的实施例,该装置200还包括:
[0090]
判断模块240,用于dns服务器700接收所述客户端600注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且dns服务器700根据所述公网出口ip判断所述客户端600是否注册成功。
[0091]
作为一个可选的实施例,所述txt类型的资源记录还包括用于表征所述客户端600是否注册成功的客户端信息。
[0092]
作为一个可选的实施例,所述txt类型的资源记录中的所述dns服务器信息和/或
所述客户端信息以json格式写入。
[0093]
作为一个可选的实施例,该装置200还包括:
[0094]
备援模块250,用于若dns服务器700的dns服务异常,则dns服务器700采取失效转移机制。
[0095]
需要说明的是,本发明实施例所提供的dns服务的健康校验装置200,其具体实现及产生的技术效果和前述第二实施例提供的dns服务的健康校验方法相同,为简要描述,装置200实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0096]
本发明还提供一种存储介质,用于存储一种用于执行上述任意一种浏览器的恶意扩展的拦截方法的计算机程序。例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输和/或被存储在根据程序指令运行的计算机设备的存储介质中。在此,根据本技术的一个实施例中,包括一个如图6所示的计算机设备500,计算机设备500优选包括用于存储计算机程序的存储介质300和用于执行计算机程序的处理器400,其中,当该计算机程序被该处理器400执行时,触发该计算机设备500执行基于前述多个实施例中的方法和/或技术方案。
[0097]
需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0098]
根据本发明的方法可以作为计算机实现方法在计算机上实现、或者在专用硬件中实现、或以两者的组合的方式实现。用于根据本发明的方法的可执行代码或其部分可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上以便当所述程序产品在计算机上执行时执行根据本发明的方法的非临时程序代码部件。
[0099]
在优选实施例中,计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。
[0100]
综上所述,本发明通过所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。本发明的实施例基于dns的查询及响应,并且利用了dns的txt请求类型的优势dns服务器的健康状态。由此,本发明能够从本质上对dns服务进行健康校验,并且不需要做额外的开发。
[0101]
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变
形都应属于本发明所附的权利要求的保护范围。
[0102]
本发明还公开了:a1、一种dns服务的健康校验方法,其特征在于,应用于客户端,包括:
[0103]
所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0104]
所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;
[0105]
所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
[0106]
a2、根据a1所述的方法,其特征在于,所述客户端通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,所述方法还包括:
[0107]
所述客户端将所述注册信息发送至所述dns服务器以使得所述dns服务器根据所述注册信息判断所述客户端是否注册成功。
[0108]
a3、根据a2所述的方法,其特征在于,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。
[0109]
a4、根据a3所述的方法,其特征在于,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
[0110]
b5、一种dns服务的健康校验方法,其特征在于,应用于dns服务器,包括:
[0111]
所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0112]
所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括所述dns服务器的健康状态;
[0113]
所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
[0114]
b6、根据b5所述的方法,其特征在于,所述方法还包括:
[0115]
所述dns服务器接收所述客户端注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且所述dns服务器根据所述公网出口ip判断所述客户端是否注册成功。
[0116]
b7、根据b6所述的方法,其特征在于,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。
[0117]
b8、根据b7所述的方法,其特征在于,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
[0118]
b9、根据b5所述的方法,其特征在于,所述方法还包括:若所述dns服务器的dns服务异常,则所述dns服务器采取失效转移机制。
[0119]
c10、一种dns服务的健康校验装置,其特征在于,应用于客户端,包括:
[0120]
第一发送模块,用于所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0121]
第一接收模块,用于所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务
器的健康状态;
[0122]
校验模块,用于所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
[0123]
c11、根据c10所述的装置,其特征在于,所述客户端通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,所述装置还包括:
[0124]
第二发送模块,用于所述客户端将所述注册信息发送至所述dns服务器以使得所述dns服务器根据所述注册信息判断所述客户端是否注册成功。
[0125]
c12、根据c11所述的装置,其特征在于,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。
[0126]
c13、根据c12所述的装置,其特征在于,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
[0127]
d14、一种dns服务的健康校验装置,其特征在于,应用于dns服务器,包括:
[0128]
第二接收模块,用于所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;
[0129]
写入模块,用于所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括所述dns服务器的健康状态;
[0130]
第三发送模块,用于所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。
[0131]
d15、根据d14所述的装置,其特征在于,所述装置还包括:
[0132]
判断模块,用于所述dns服务器接收所述客户端注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且所述dns服务器根据所述公网出口ip判断所述客户端是否注册成功。
[0133]
d16、根据d15所述的装置,其特征在于,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。
[0134]
d17、根据d16所述的装置,其特征在于,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。
[0135]
d18、根据d10所述的装置,其特征在于,所述装置还包括:
[0136]
备援模块,用于若所述dns服务器的dns服务异常,则所述dns服务器采取失效转移机制。
[0137]
e19、一种存储介质,其特征在于,用于存储一种用于执行a1~a4中任意一种dns服务的健康校验方法的计算机程序。
[0138]
f20、一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现a1~a4任一项所述的dns服务的健康校验方法。

技术特征:
1.一种dns服务的健康校验方法,其特征在于,应用于客户端,包括:所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。2.根据权利要求1所述的方法,其特征在于,所述客户端通过注册信息注册dns防火墙服务,所述注册信息包括公网出口ip,所述方法还包括:所述客户端将所述注册信息发送至所述dns服务器以使得所述dns服务器根据所述注册信息判断所述客户端是否注册成功。3.根据权利要求2所述的方法,其特征在于,所述txt类型的资源记录还包括用于表征所述客户端是否注册成功的客户端信息。4.根据权利要求3所述的方法,其特征在于,所述txt类型的资源记录中的所述dns服务器信息和/或所述客户端信息以json格式写入。5.一种dns服务的健康校验方法,其特征在于,应用于dns服务器,包括:所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息包括所述dns服务器的健康状态;所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:所述dns服务器接收所述客户端注册dns防火墙服务的注册信息,所述注册信息包括公网出口ip,并且所述dns服务器根据所述公网出口ip判断所述客户端是否注册成功。7.一种dns服务的健康校验装置,其特征在于,应用于客户端,包括:第一发送模块,用于所述客户端发送dns请求至dns服务器,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;第一接收模块,用于所述客户端接收所述dns服务器根据所述dns请求返回的txt类型的资源记录,所述资源记录包括dns服务器信息,所述dns服务器信息包括所述dns服务器的健康状态;校验模块,用于所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。8.一种dns服务的健康校验装置,其特征在于,应用于dns服务器,包括:第二接收模块,用于所述dns服务器接收客户端发送的dns请求,所述dns请求包括健康校验域名,所述dns请求的请求类型为txt类型;写入模块,用于所述dns服务器根据所述dns请求判断所述健康校验域名是否为预设的健康校验域名,若是,则将dns服务器信息写入txt类型的资源记录中,所述dns服务器信息
包括所述dns服务器的健康状态;第三发送模块,用于所述dns服务器将所述txt类型的资源记录发送至所述客户端以使得所述客户端根据所述dns服务器信息进行健康校验,判断所述dns服务器的dns服务正常或者异常。9.一种存储介质,其特征在于,用于存储一种用于执行权利要求1~4中任意一种dns服务的健康校验方法的计算机程序。10.一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~4任一项所述的dns服务的健康校验方法。

技术总结
本发明适用于计算机技术领域,提供了一种DNS服务的健康校验方法及其装置,该方法包括:所述客户端发送DNS请求至DNS服务器,所述DNS请求包括健康校验域名,所述DNS请求的请求类型为TXT类型;所述客户端接收所述DNS服务器根据所述DNS请求返回的TXT类型的资源记录,所述资源记录包括DNS服务器信息,所述DNS服务器信息包括所述DNS服务器的健康状态;所述客户端根据所述DNS服务器信息进行健康校验,判断所述DNS服务器的DNS服务正常或者异常。由此,本发明能够从本质上对DNS服务进行健康校验,并且不需要做额外的开发。且不需要做额外的开发。且不需要做额外的开发。


技术研发人员:张岳震 侯鑫睿 邹勇
受保护的技术使用者:三六零数字安全科技集团有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐