CN111405083A - 一种dns解析方法、装置、设备及可读存储介质 - Google Patents

一种dns解析方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111405083A
CN111405083A CN202010219022.2A CN202010219022A CN111405083A CN 111405083 A CN111405083 A CN 111405083A CN 202010219022 A CN202010219022 A CN 202010219022A CN 111405083 A CN111405083 A CN 111405083A
Authority
CN
China
Prior art keywords
data packet
domain name
dns
accessed
target data
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.)
Pending
Application number
CN202010219022.2A
Other languages
English (en)
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010219022.2A priority Critical patent/CN111405083A/zh
Publication of CN111405083A publication Critical patent/CN111405083A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种DNS解析方法、装置、设备及可读存储介质,该方法包括:虚拟机获取虚拟网络中的目标数据包;其中,目标数据包为终端通过虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;获取目标数据包对应的回复数据包;其中,回复数据包包括待访问域名对应的IP地址;将回复数据包发送给终端;本发明基于虚拟网络技术,利用虚拟网络中的虚拟机完成DNS解析,从而实现DNS的透明代理,由于虚拟网络是IAAS资源,与客户业务完全隔离,不会成为攻击的目标,保证了DNS解析的安全性;并且虚拟机组成的虚拟化平台部署简单,配置成功后即可全平台生效,不需额外配置硬件设备,节省了硬件成本。

Description

一种DNS解析方法、装置、设备及可读存储介质
技术领域
本发明涉及云计算技术领域,特别涉及一种DNS解析方法、装置、设备及可读存储介质。
背景技术
DNS(Domain Name System)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以及控制因特网的电子邮件的发送。智能DNS是域名服务在业界首创的智能解析服务,能自动判断访问者的IP地址并解析出对应的IP地址,使网通用户会访问到网通服务器,电信用户会访问到电信服务器。
智能DNS是域名服务在业界首创的智能解析服务,目前一般都在专用的负载均衡设备上,部署在网关,提供DNS服务。如图1所示,智能DNS策略解析最基本的功能是可以智能的判断访问域名的用户,然后根据不同的访问者把的域名分别解析成不同的IP地址;如访问者是网通用户,智能DNS策略解析会把域名对应的网通IP地址解析给这个访问者;如果用户是电信用户,智能DNS策略解析会把您域名对应的电信IP地址解析给这个访问者。
现有技术中,智能DNS策略解析都是通过硬件解决,需要配置专门的硬件设备,如深信服的AD设备;而硬件设备需要实际部署到企业网络的出口或者运营商网络中,并且部署的硬件设备容易成为单点故障瓶颈,有攻击的风险。
因此,如何有效解决DNS解析所带来的部署难、易攻击和安全性差的问题,是本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种DNS解析方法、装置、设备及可读存储介质,基于虚拟网络技术利用虚拟机在网络链路上完成DNS解析的透明代理,解决了部署难、易攻击和安全性差的问题。
为解决上述技术问题,本发明提供一种DNS解析方法,包括:
虚拟机获取虚拟网络中的目标数据包;其中,所述目标数据包为终端通过所述虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;
获取所述目标数据包对应的回复数据包;其中,所述回复数据包包括所述待访问域名对应的IP地址;
将所述回复数据包发送给所述终端。
可选地,所述虚拟机获取虚拟网络中的目标数据包,包括:
所述虚拟机对进入到所述虚拟网络中的数据包进行协议解析,将DNS协议的数据包作为所述目标数据包。
可选地,所述获取所述目标数据包对应的回复数据包,包括:
判断前预设时间内是否获得过所述目标数据包对应的历史数据包;其中,所述历史数据包对应的待访问域名与目标数据包对应的待访问域名相同;
若是,则根据预设历史数据库中存储的所述历史数据包对应的历史记录,获取所述回复数据包;
若否,则对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址,并根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包。
可选地,所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址之前,还包括:
判断预设病毒DNS库中是否包含所述待访问域名;
若不包含所述待访问域名,则执行所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址的步骤;
若包含所述待访问域名,则丢弃所述目标数据包,并向所述DNS服务器发送所述终端对应的RST包,向所述终端发送重组数据包,以断开所述终端与所述DNS服务器的连接。
可选地,所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址之后,还包括:
判断是否查找到所述待访问域名对应的IP地址;
若查找到所述待访问域名对应的IP地址,则执行所述根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包的步骤;
若未查找到所述待访问域名对应的IP地址,则将所述目标数据包发送到所述DNS服务器,并接收所述DNS服务器返回的所述回复数据包。
可选地,所述根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包,包括:
查找到的所述待访问域名对应的IP地址的数量为多个时,对查找到的多个所述IP地址对应的服务器进行网络性能检查,得到目标IP地址;其中,所述目标IP地址为多个所述IP地址中网络性能最优的IP地址;
根据所述目标IP地址,生成所述回复数据包。
本发明还提供了一种DNS解析装置,包括:虚拟机单元;其中,所述虚拟机单元,包括:
请求获取模块,用于获取虚拟网络中的目标数据包;其中,所述目标数据包为终端通过所述虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;
回复获取模块,用于获取所述目标数据包对应的回复数据包;其中,所述回复数据包包括所述待访问域名对应的IP地址;
发送模块,用于将所述回复数据包发送给所述终端。
可选地,所述回复获取模块,包括:
历史判断子模块,用于判断前预设时间内是否获得过所述目标数据包对应的历史数据包;其中,所述历史数据包对应的待访问域名与目标数据包对应的待访问域名相同;
获取子模块,用于若获得过所述目标数据包对应的历史数据包,则根据预设历史数据库中存储的所述历史数据包对应的历史记录,获取所述回复数据包;
解析子模块,用于若未获得过所述目标数据包对应的历史数据包,则对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址,并根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包。
本发明还提供了一种DNS解析设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的DNS解析方法的步骤。
本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的DNS解析方法的步骤。
本发明所提供的一种DNS解析方法,包括:虚拟机获取虚拟网络中的目标数据包;其中,目标数据包为终端通过虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;获取目标数据包对应的回复数据包;其中,回复数据包包括待访问域名对应的IP地址;将回复数据包发送给终端;
可见,本发明基于虚拟网络技术,利用虚拟网络中的虚拟机完成DNS解析,从而实现DNS的透明代理,由于虚拟网络是IAAS(基础架构即服务)资源,与客户业务完全隔离,不会成为攻击的目标,保证了DNS解析的安全性;并且虚拟机组成的虚拟化平台部署简单,配置成功后即可全平台生效,不需额外配置硬件设备,节省了硬件成本。此外,本发明还提供了一种DNS解析装置、设备及可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的DNS解析方法的流程示意图;
图2为本发明实施例所提供的一种DNS解析方法的流程图;
图3为本发明实施例所提供的另一种DNS解析方法的流程图;
图4为本发明实施例所提供的另一种DNS解析方法的流程示意图;
图5为本发明实施例所提供的一种DNS解析装置的结构框图;
图6为本发明实施例所提供的一种DNS解析设备的结构示意图;
图7为本发明实施例所提供的一种DNS解析设备的具体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的一种DNS解析方法的流程图。
该方法可以包括:
步骤101:虚拟机获取虚拟网络中的目标数据包;其中,目标数据包为终端通过虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包。
可以理解的是,本实施例中的虚拟机可以部署在虚拟网络中,用于完成DNS解析。本实施例中如物理服务器的终端在发起待访问域名的DNS请求时,将该DNS请求的数据包(目标数据包)发送到虚拟网络,使得虚拟网络中的虚拟机可以获取该DNS请求的数据包,从而完成该待访问域名的DNS解析。
具体的,对于本步骤中虚拟机获取虚拟网络中的目标数据包的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如虚拟机可以对进入到虚拟网络中的数据包进行协议解析,将DNS协议的数据包作为目标数据包;也就是说,虚拟机可以分别对经过虚拟网络的全部数据包进行协议解析,发现是DNS协议的数据包(目标数据包),即待访问域名的DNS请求的数据包,就触发虚拟机对DNS协议的数据包进行DNS解析处理。虚拟机也可以直接接收终端发送到该虚拟机的目标数据包,本实施例对此不做任何限制。
步骤102:获取目标数据包对应的回复数据包;其中,回复数据包包括待访问域名对应的IP地址。
可以理解的是,本步骤的目的可以为虚拟机对目标数据包的待访问域名进行DNS解析,得到包含待访问域名对应的IP地址的回复数据包。
具体的,对于本步骤中虚拟机获取目标数据包对应的回复数据包的具体方式,即待访问域名的具体DNS解析方式,可以由设计人员自行设置,如虚拟机可以直接对目标数据包进行DNS解析,查找待访问域名对应的IP地址;若查找到待访问域名对应的IP地址,则根据查找到的待访问域名对应的IP地址生成回复数据包;若未查找到待访问域名对应的IP地址,则将目标数据包转发到DNS服务器,获取DNS服务器返回的回复数据包。由于安全攻击通常是用域名方式攻击,为了保证DNS解析的安全性,虚拟机在对目标数据包进行DNS解析之前,还可以利用预设病毒DNS库,对待访问域名进行安全检查;在安全检查通过,即预设病毒DNS库中的病毒域名不包含待访问域名时,虚拟机可以对目标数据包进行DNS解析,查找待访问域名对应的IP地址;在安全检查不通过时,虚拟机可以以丢弃目标数据包的方式切断传输,并通知服务端(即DNS服务器)和DNS请求端(即终端)断开连接,如虚拟机可以发送RST(Reset the connection,重置连接)包通知DNS服务器,并重新伪造dns回复的数据包发送给终端,断开DNS服务器与终端之间的协议层连接。为了减少目标数据包对应的回复数据包的获取时间,虚拟机在对目标数据包进行DNS解析之前,还可以利用预设历史数据库,对待访问域名进行历史记录的快速匹配,如前预设时间内有历史数据包请求该待访问域名,那么再次获取该待访问域名对应的目标数据包时,可以直接利用预设历史数据库中存储的该历史数据包对应的历史记录,获得该目标数据包对应的回复数据包,例如1s前有历史数据包请求待访问域名,那么再次获取该待访问域名的目标数据包可以直接获取1s前的该历史数据包对应的回复数据包;在前预设时间内没有历史数据包请求目标数据包的待访问域名时,虚拟机可以继续对目标数据包进行DNS解析,查找待访问域名对应的IP地址。
步骤103:将回复数据包发送给终端。
可以理解的是,本步骤的目的可以为虚拟机向终端返回目标数据包对应的回复数据包,完成待访问域名的DNS解析。
具体的,本实施例并不限定虚拟机的具体数量,虚拟机的数量可以为一个,即虚拟网络中的一个虚拟机可以完成目标数据包接收、DNS解析和回复数据包发送过程。虚拟机的数量也可以为多个,如虚拟机包括第一虚拟机和第二虚拟机这两个虚拟机时,可以由第一虚拟机完成目标数据包接收和DNS解析过程,由第二虚拟机完成回复数据包发送过程;例如第一虚拟机在自身未查找待访问域名对应的IP地址,将目标数据包发送到DNS服务器后,第二虚拟机可以接收DNS服务器返回的目标数据包对应的回复数据包,并转发给终端。
需要说明的是,本实施例中可以配置包含上述虚拟机的虚拟化平台,利用上述虚拟机作为虚拟网络的过滤器,使所有经过虚拟网络的DNS协议流(即目标数据包)都对经过虚拟机进行DNS解析处理。本实施例中的DNS服务器可以为物理DNS服务器,即服务器硬件设备;也可以为虚拟DNS服务器,如上述虚拟化平台中的虚拟DNS服务器。
具体的,本实施例并不限定虚拟机的具体配置位置,即上述虚拟化平台的具体配置位置,如虚拟化平台可以配置在DNS请求端,即客户的终端,如物理服务器;虚拟化平台也可以服务端,即物理DNS服务器。
本发明例实施例基于虚拟网络技术,利用虚拟网络中的虚拟机完成DNS解析,从而实现DNS的透明代理,由于虚拟网络是IAAS(基础架构即服务)资源,与客户业务完全隔离,不会成为攻击的目标,保证了DNS解析的安全性;并且虚拟机组成的虚拟化平台部署简单,配置成功后即可全平台生效,不需额外配置硬件设备,节省了硬件成本。
请参考图3,图3为本发明实施例所提供的另一种DNS解析方法的流程图。该方法可以包括:
步骤201:虚拟机对进入到虚拟网络中的数据包进行协议解析,获取目标数据包;其中,目标数据包为DNS协议的数据包。
可以理解的是,本步骤中虚拟机可以从进入到虚拟网络中的全部数据包选择获取DNS协议的数据包,即目标数据包;使得所有经过虚拟网络的DNS协议流都会经过虚拟机进行处理。
步骤202:判断前预设时间内是否获得过目标数据包对应的历史数据包;若是,则进入步骤203;若否,则进入步骤204;
其中,本步骤中的历史数据包可以虚拟机之前曾经获取过的目标数据包;本步骤中目标数据包对应的历史数据包所对应的待访问域名与目标数据包所对应的待访问域名相同,即前预设时间内虚拟机获取过的目标数据包对应的历史数据包与目标数据包请求的待访问域名相同;并且目标数据包对应的历史数据包的用户类型可以相同,即终端的IP地址的类型相同,如均为电信用户;以保证能够使用预设历史数据库中存储的该历史数据包对应的历史记录,生成目标数据包对应的回复数据包。
具体的,对于本步骤中的预设时间的具体时间设置,可以由设计人员根据使用场景和用户需求自行设置,如可以根据预设历史数据库的存储空间大小对应进行设置,例如预设历史数据库存储前24小时内全部的历史数据包对应的历史记录时,本步骤中的预设时间可以为24小时。
对应的,对于本步骤中判断前预设时间内是否获得过目标数据包对应的历史数据包的具体方式,可以由设计人员自行设置,如虚拟机可以利用待访问域名快速匹配预设历史数据库中存储的hash(历史记录);若匹配通过,则确定前预设时间内获得过目标数据包对应的历史数据包;若为匹配通过,则确定前预设时间内并未获得过目标数据包对应的历史数据包
步骤203:根据预设历史数据库中存储的历史数据包对应的历史记录,获取目标数据包对应的回复数据包;并进入步骤209。
可以理解的是,本步骤的目的可以为在确定前预设时间内获得过目标数据包对应的历史数据包时,利用该预设历史数据库中存储的历史数据包对应的历史记录,获取目标数据包对应的回复数据包。
具体的,本实施例并不限定虚拟机根据预设历史数据库中存储的历史数据包对应的历史记录,获取目标数据包对应的回复数据包的具体方式,如预设历史数据库中存储的该历史数据包对应的历史记录为该历史数据包对应的回复数据包时,可以直接将该历史数据包对应的回复数据包作为目标数据包对应的回复数据包;如预设历史数据库中存储的该历史数据包对应的历史记录为该历史数据包请求的待访问域名对应的IP地址时,可以根据该IP地址,生成目标数据包对应的回复数据包。
步骤204:判断预设病毒DNS库中是否包含待访问域名;若是,则进入步骤205;若否,则进入步骤206。
其中,本步骤的目的可以为在确定前预设时间内未获得过目标数据包对应的历史数据包时,通过判断预设病毒DNS库中是否包含目标数据包请求的待访问域名,确定待访问域名是否为预设病毒DNS库中存储的病毒域名,即有病毒的网址。
具体的,本步骤中的预设病毒DNS库可以为预先设置的存储存在安全风险的病毒域名的数据库。对于预设病毒DNS库的具体存储内容,即病毒域名的具体设置数量和具体域名,可以由设计人员或用户自行设置,本实施例对此不做任何限制。
步骤205:丢弃目标数据包,并向DNS服务器发送终端对应的RST包,向终端发送重组数据包,以断开终端与DNS服务器的连接。
其中,本实施例中的DNS服务器可以为与虚拟机处于同一虚拟化平台的虚拟DNS服务器。
可以理解的是,本步骤的目的可以为虚拟机在确定终端发送的目标数据包所请求的待访问域名为病毒域名时,以丢弃的方式切断传输,而且通过向DNS服务器发送该终端对应的RST包,并重新伪造dns回复的数据包(重组数据包)转发给该终端,以断开该终端与DNS服务器的协议层连接。
步骤206:对目标数据包进行DNS解析,查找待访问域名对应的IP地址。
其中,本步骤的目的可以为虚拟机在确定终端发送的目标数据包所请求的待访问域名不为病毒域名时,虚拟机自身对目标数据包进行DNS解析,查找目标数据包所请求的待访问域名对应的IP地址。
步骤207:若查找到待访问域名对应的IP地址,则根据查找到的待访问域名对应的IP地址,生成回复数据包;并进入步骤209。
可以理解的是,本步骤的目的可以为虚拟机在自身通过DNS解析查找到目标数据包请求的待访问域名对应的IP地址时,根据查找到的IP地址,生成回复数据包。
对应的,为了保证生成的回复数据包中的IP地址的服务器网络性能最优,本实施例中的虚拟机还可以具备网络性能探针功能,即虚拟机查找到的待访问域名对应的IP地址的数量为多个时,可以对查找到的多个IP地址对应的服务器进行网络性能检查,得到目标IP地址,并利用目标IP地址生成目标数据包对应的回复数据包;其中,目标IP地址为多个IP地址中网络性能最优的IP地址。
步骤208:若未查找到待访问域名对应的IP地址,则将目标数据包发送到DNS服务器,并接收DNS服务器返回的回复数据包。
可以理解的是,本步骤的目的可以为虚拟机在自身通过DNS解析未查找到目标数据包请求的待访问域名对应的IP地址时,将目标数据包转发到DNS服务器,以利用DNS服务器对目标数据包进行更为全面的DNS解析。
具体的,如图4所示,本实施例中的虚拟机可以包括第一虚拟机(过滤器2)和第二虚拟机(过滤器1),本步骤中第一虚拟机在自身通过DNS解析未查找到目标数据包请求的待访问域名(www.sangfor.com)对应的IP地址时,将目标数据包转发到DNS服务器后,第二虚拟机可以接收DNS服务器返回的目标数据包对应的包含服务2的IP地址的回复数据包,从而将该回复数据包转发给终端(物理服务器)。
步骤209:将获取的回复数据包发送到终端。
可以理解的是,本步骤与步骤103相似,在此不再赘述。
本发明例实施例中通过预设历史数据库的历史记录存储,提高DNS解析回复的速度;通过预设病毒DNS库的设置,能够将有病毒的网址过滤拦截,提高了DNS解析的安全性。
相应于上面的方法实施例,本发明实施例还提供了一种DNS解析装置,下文描述的DNS解析装置与上文描述的DNS解析方法可相互对应参照。
请参考图5,图5为本发明实施例所提供的一种DNS解析装置的结构框图。该装置可以包括虚拟机单元10;其中,虚拟机单元10,包括:
请求获取模块11,用于获取虚拟网络中的目标数据包;其中,目标数据包为终端通过虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;
回复获取模块12,用于获取目标数据包对应的回复数据包;其中,回复数据包包括待访问域名对应的IP地址;
发送模块13,用于将回复数据包发送给终端。
可选地,请求获取模块11可以具体用于对进入到虚拟网络中的数据包进行协议解析,将DNS协议的数据包作为目标数据包。
可选地,回复获取模块12,可以包括:
历史判断子模块,用于判断前预设时间内是否获得过目标数据包对应的历史数据包;其中,历史数据包对应的待访问域名与目标数据包对应的待访问域名相同;
获取子模块,用于若获得过目标数据包对应的历史数据包,则根据预设历史数据库中存储的历史数据包对应的历史记录,获取回复数据包;
解析子模块,用于若未获得过目标数据包对应的历史数据包,则对目标数据包进行DNS解析,查找待访问域名对应的IP地址,并根据查找到的待访问域名对应的IP地址,生成回复数据包。
可选地,解析子模块,可以包括:
病毒判断单元,用于判断预设病毒DNS库中是否包含待访问域名;
解析单元,用于若不包含待访问域名,则对目标数据包进行DNS解析,查找待访问域名对应的IP地址;
断连单元,用于若包含待访问域名,则丢弃目标数据包,并向DNS服务器发送终端对应的RST包,向终端发送重组数据包,以断开终端与DNS服务器的连接。
可选地,解析子模块还可以包括:
解析判断单元,用于在对目标数据包进行DNS解析,查找待访问域名对应的IP地址之后,判断是否查找到待访问域名对应的IP地址;
生成单元,用于若查找到待访问域名对应的IP地址,则根据查找到的待访问域名对应的IP地址,生成回复数据包;
收发单元,用于若未查找到待访问域名对应的IP地址,则将目标数据包发送到DNS服务器,并接收DNS服务器返回的回复数据包。
可选地,生成单元,可以具体用于在查找到的待访问域名对应的IP地址的数量为多个时,对查找到的多个IP地址对应的服务器进行网络性能检查,得到目标IP地址;根据目标IP地址,生成回复数据包;其中,目标IP地址为多个IP地址中网络性能最优的IP地址。
相应于上面的方法实施例,本发明实施例还提供了一种DNS解析设备,下文描述的一种DNS解析设备与上文描述的一种DNS解析方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种DNS解析设备的结构示意图。该DNS解析设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的DNS解析方法的步骤。
具体的,请参考图7,为本实施例提供的一种DNS解析设备的具体结构示意图,该DNS解析设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在DNS解析设备301上执行存储介质330中的一系列指令操作。
DNS解析设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的DNS解析方法中的步骤可以由DNS解析设备的结构实现。
此外,相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种DNS解析方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的DNS解析方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种DNS解析方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种DNS解析方法,其特征在于,包括:
虚拟机获取虚拟网络中的目标数据包;其中,所述目标数据包为终端通过所述虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;
获取所述目标数据包对应的回复数据包;其中,所述回复数据包包括所述待访问域名对应的IP地址;
将所述回复数据包发送给所述终端。
2.根据权利要求1所述的DNS解析方法,其特征在于,所述虚拟机获取虚拟网络中的目标数据包,包括:
所述虚拟机对进入到所述虚拟网络中的数据包进行协议解析,将DNS协议的数据包作为所述目标数据包。
3.根据权利要求1所述的DNS解析方法,其特征在于,所述获取所述目标数据包对应的回复数据包,包括:
判断前预设时间内是否获得过所述目标数据包对应的历史数据包;其中,所述历史数据包对应的待访问域名与目标数据包对应的待访问域名相同;
若是,则根据预设历史数据库中存储的所述历史数据包对应的历史记录,获取所述回复数据包;
若否,则对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址,并根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包。
4.根据权利要求3所述的DNS解析方法,其特征在于,所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址之前,还包括:
判断预设病毒DNS库中是否包含所述待访问域名;
若不包含所述待访问域名,则执行所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址的步骤;
若包含所述待访问域名,则丢弃所述目标数据包,并向所述DNS服务器发送所述终端对应的RST包,向所述终端发送重组数据包,以断开所述终端与所述DNS服务器的连接。
5.根据权利要求3所述的DNS解析方法,其特征在于,所述对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址之后,还包括:
判断是否查找到所述待访问域名对应的IP地址;
若查找到所述待访问域名对应的IP地址,则执行所述根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包的步骤;
若未查找到所述待访问域名对应的IP地址,则将所述目标数据包发送到所述DNS服务器,并接收所述DNS服务器返回的所述回复数据包。
6.根据权利要求3所述的DNS解析方法,其特征在于,所述根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包,包括:
查找到的所述待访问域名对应的IP地址的数量为多个时,对查找到的多个所述IP地址对应的服务器进行网络性能检查,得到目标IP地址;其中,所述目标IP地址为多个所述IP地址中网络性能最优的IP地址;
根据所述目标IP地址,生成所述回复数据包。
7.一种DNS解析装置,其特征在于,包括:虚拟机单元;其中,所述虚拟机单元,包括:
请求获取模块,用于获取虚拟网络中的目标数据包;其中,所述目标数据包为终端通过所述虚拟网络向DNS服务器发送的待访问域名的DNS请求的数据包;
回复获取模块,用于获取所述目标数据包对应的回复数据包;其中,所述回复数据包包括所述待访问域名对应的IP地址;
发送模块,用于将所述回复数据包发送给所述终端。
8.根据权利要求7所述的DNS解析装置,其特征在于,所述回复获取模块,包括:
历史判断子模块,用于判断前预设时间内是否获得过所述目标数据包对应的历史数据包;其中,所述历史数据包对应的待访问域名与目标数据包对应的待访问域名相同;
获取子模块,用于若获得过所述目标数据包对应的历史数据包,则根据预设历史数据库中存储的所述历史数据包对应的历史记录,获取所述回复数据包;
解析子模块,用于若未获得过所述目标数据包对应的历史数据包,则对所述目标数据包进行DNS解析,查找所述待访问域名对应的IP地址,并根据查找到的所述待访问域名对应的IP地址,生成所述回复数据包。
9.一种DNS解析设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的DNS解析方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的DNS解析方法的步骤。
CN202010219022.2A 2020-03-25 2020-03-25 一种dns解析方法、装置、设备及可读存储介质 Pending CN111405083A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010219022.2A CN111405083A (zh) 2020-03-25 2020-03-25 一种dns解析方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010219022.2A CN111405083A (zh) 2020-03-25 2020-03-25 一种dns解析方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111405083A true CN111405083A (zh) 2020-07-10

Family

ID=71433094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010219022.2A Pending CN111405083A (zh) 2020-03-25 2020-03-25 一种dns解析方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111405083A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065761A (zh) * 2011-09-29 2014-09-24 北京奇虎科技有限公司 应用服务器选取方法和网络连接方法
CN104079683A (zh) * 2014-07-14 2014-10-01 北京快易博科技有限公司 一种授权域名服务器直接响应的域名解析方法及系统
CN104980408A (zh) * 2014-04-11 2015-10-14 中国移动通信集团陕西有限公司 恶意网站的封堵方法、装置以及系统
CN106612508A (zh) * 2015-10-27 2017-05-03 珠海市君天电子科技有限公司 一种WiFi接入点的安全性确定方法及装置
US20170310709A1 (en) * 2013-07-23 2017-10-26 Zscaler, Inc. Cloud based security using dns
US20190158459A1 (en) * 2017-11-21 2019-05-23 Vmware, Inc. Virtual distributed domain name server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065761A (zh) * 2011-09-29 2014-09-24 北京奇虎科技有限公司 应用服务器选取方法和网络连接方法
US20170310709A1 (en) * 2013-07-23 2017-10-26 Zscaler, Inc. Cloud based security using dns
CN104980408A (zh) * 2014-04-11 2015-10-14 中国移动通信集团陕西有限公司 恶意网站的封堵方法、装置以及系统
CN104079683A (zh) * 2014-07-14 2014-10-01 北京快易博科技有限公司 一种授权域名服务器直接响应的域名解析方法及系统
CN106612508A (zh) * 2015-10-27 2017-05-03 珠海市君天电子科技有限公司 一种WiFi接入点的安全性确定方法及装置
US20190158459A1 (en) * 2017-11-21 2019-05-23 Vmware, Inc. Virtual distributed domain name server

Similar Documents

Publication Publication Date Title
EP3389219B1 (en) Access request conversion method and device
CN108965203B (zh) 一种资源访问方法及服务器
CN110049022B (zh) 一种域名访问控制方法、装置和计算机可读存储介质
CN111737696A (zh) 一种恶意文件检测的方法、系统、设备及可读存储介质
WO2016209756A1 (en) Dns snooping to create ip address-based trust database used to select deep packet inspection and storage of ip packets
CN111324843A (zh) 一种前端请求处理方法、装置、设备及可读存储介质
CN111866124B (zh) 访问网页页面的方法、装置、服务器和机器可读存储介质
US9843514B2 (en) Packet processing method and background server
CN110417932B (zh) 基于IPv6外链资源升级装置、电子设备及计算机可读介质
CN112261172A (zh) 服务寻址访问方法、装置、系统、设备及介质
WO2017177437A1 (zh) 一种域名解析方法、装置及系统
CN113676563B (zh) 内容分发网络服务的调度方法、装置、设备及存储介质
CN112804223B (zh) 一种报文处理方法和装置
CN111917900A (zh) 一种域名代理的请求处理方法及装置
CN107623693B (zh) 域名解析防护方法及装置、系统、计算设备、存储介质
CN113992738A (zh) 基于微服务网关的反向代理方法、装置、设备及存储介质
CN109617966A (zh) 一种基于Openstack的云管平台部署系统及方法
CN114338597A (zh) 一种网络访问方法及装置
EP3043534B1 (en) Managing traffic overload on a dns server
CN103957252A (zh) 云储存系统的日志获取方法及其系统
CN115190107B (zh) 基于泛域名多子系统管理方法、管理终端及可读存储介质
CN111405083A (zh) 一种dns解析方法、装置、设备及可读存储介质
CN112231566B (zh) 信息推送方法、装置、系统和可读存储介质
US20140047014A1 (en) Network access system
EP3151520B1 (en) Quarantining an internet protocol address

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200710