本申请涉及互联网,特别是涉及一种域名解析分流方法和系统。
背景技术:
1、dns服务器作为一个公开服务,以53端口暴露于互联网上,任何需要需用该dns服务器设备都可以直接连接至此服务。当一个正常设备连入一个封闭系统并希望访问封闭系统内的自建/私有域名时,需要将host写入该设备,或着使用封闭系统内自建/私有的dns服务器实现。
2、但是当一个设备既有正常访问互联网需求,又有访问封闭系统的需求时,一般具有以下两种方式:
3、第一种方式:如图1所示,需要封闭系统内的dns服务器也支持对于互联网正常域名解析,但是这种支持会导致封闭系统的dns有可能被攻击和污染,并且会对封闭系统的流量造成很大的压力。
4、第二种方式:使用host设备,修改host文件。但这种方法,需要经常性的改动host文件,同样面临数据出错,泄露等问题。
技术实现思路
1、基于此,针对上述技术问题,提供一种基于dns代理解析分流方法和系统,以解决当封闭系统私有dns既需要满足自身需求又要承载普通公共dns功能时,封闭系统私有dns的压力大以及数据泄漏的风险的问题。
2、第一方面,一种基于dns代理解析分流方法,应用于封闭系统内的dns服务器,所述方法包括:
3、在封闭系统内的dns服务器设置自定义dns规则配置,所述自定义dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;
4、当封闭系统内的dns服务器接收到客户端发送的dns请求时,判断所述dns请求是否与所述自定义的域名解析列表或所述自定义域名到指定dns服务器进行解析的域名列表匹配;
5、若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述自定义域名到指定dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
6、上述方案中,可选地,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
7、上述方案中,可选地,所述自定义规则配置还包括:所述自定义dns规则配置还包括:禁止访问的域名列表;当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
8、上述方案,进一步可选地,所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
9、第二方面,一种dns服务系统,包括封闭系统内的dns服务器和本地默认使用的dns服务器;
10、所述封闭系统内的dns服务器,用于设置自定义dns规则配置,所述dns规则配置包括自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表;
11、还用于接收客户端发送的dns请求,并判断所述dns请求是否与所述自定义的域名解析列表或所述自定义的域名到指定的dns服务器进行解析的域名列表匹配,若所述dns请求与所述自定义的域名解析列表匹配,则根据所述自定义域名解析列表返回对应的目标ip;若所述dns请求与所述定义的域名到指定的dns服务器进行解析的域名列表匹配,则根据指定dns的ip修改所述dns请求的目标地址,按照修改后的目标地址向指定dns服务器继续发送所述dns请求。
12、上述方案中,可选地,将所述按照修改后的目标地址向指定dns服务器继续发送所述dns请求,替换为:将所述dns请求重新建立一个新的udp包按照修改后的目标地址向指定dns服务器发送。
13、上述方案中,可选地,所述自定义dns规则配置还设置有禁止访问的域名列表,当dns服务器接收到客户端发送的dns请求时,还应该判断所述dns请求是否与所述禁止访问的域名列表匹配,若是,则向客户端返回错误。
14、上述方案,进一步可选地,若所述dns请求与自定义dns规则配置的列表均不匹配时,将所述dns请求转发至本地默认使用的dns服务器。
15、第三方面,一种封闭系统内的dns服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述基于dns代理解析分流方法的步骤。
16、第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述基于dns代理解析分流方法的步骤。
17、相比现有技术,本申请至少具有以下有益效果:
18、本申请的方案通过在封闭系统的dns服务设置包含有自定义的域名解析列表、自定义的域名到指定的dns服务器进行解析的域名列表的规则配置,以此对dns请求进行分类,使dns请求可以找到对应的dns服务器,利用不同dns服务器对dns请求进行域名解析,缓解大量数据对封闭系统的dns服务器造成的流量压力,同时又避免了封闭系统内的dns服务器支持对于互联网正常域名解析,降低数据泄漏的风险。
1.一种基于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服务器;
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中任一项所述方法的步骤。