一种基于DNSRPZ机制实现VPC私有域名解析的方法与流程
未命名
08-07
阅读:140
评论:0

一种基于dns rpz机制实现vpc私有域名解析的方法
技术领域
1.本发明属于云计算技术领域,尤其是涉及一种基于dns rpz机制实现vpc私有域名解析的方法。
背景技术:
2.dns(domain name resolution)域名解析是把域名转换为ip地址,让人们通过域名就可以方便地访问到网站的一种服务,是互联网重要的组成部分之一;rpz(dns response policy zones)dns响应策略域是处理特定客户端和特定域名的dns请求的控制机制,包括修改、丢弃、拦截dns响应等;另外,在公有云计算领域,云专有网络vpc(virtual private cloud)不断普及,不同的服务及中间件被部署在不同的vpc中,而人们依旧习惯记忆域名,因此dns能否支持区分vpc进行私有域名解析就变得越来越重要。
技术实现要素:
3.有鉴于此,本发明旨在提出一种基于dns rpz机制实现vpc私有域名解析的方法,以至少解决背景技术中的至少一个问题。
4.为达到上述目的,本发明的技术方案是这样实现的:
5.一种基于dns rpz机制实现vpc私有域名解析的方法,通过在不同vpc部署不同的本地dns代理服务和在region内部署授权dns集群,本地dns代理在向授权dns递归转发公有域名请求的同时,通过配置不同的rpz域名,向授权dns请求不同rpz域的配置信息,dns集群再向dns代理同步不同的rpz域记录,完成私有域名解析。
6.进一步的,vpc内的云主机向vpc内的dns代理的vip+53端口发起dns请求。
7.进一步的,dns代理根据vm的源ip和请求的qname,判断域名是否属于rpz记录,如是则查询对应的记录直接响应,请求就在dns代理终结,毫秒级响应且减少授权dns压力。
8.进一步的,如不属于rpz,通过udp向区域dns集群转发请求,同时通过将vpcid转为ip地址,放入edns的ecs字段,实现vpc信息的传递,为统一管理提供有效的支持。
9.进一步的,区域dns集群会对收到的dns请求进行判断,如果不是自己管理的域,就直接向公共dns转发,还可以配置将特定的域名转发到特定的授权dns。
10.进一步的,dns负载收到响应后缓存并响应给dns代理。
11.进一步的,dns代理同样缓存响应并响应给客户端。
12.进一步的,本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行一种基于dns rpz机制实现vpc私有域名解析的方法。
13.进一步的,本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种基于dns rpz机制实现vpc私有域名解析的方法。
14.进一步的,本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现一种基于dns rpz机制实现vpc私有域名解析的方法。
15.相对于现有技术,本发明所述的一种基于dns rpz机制实现vpc私有域名解析的方法具有以下有益效果:
16.本发明所述的一种基于dns rpz机制实现vpc私有域名解析的方法,用户不再需要通过记忆ip地址访问业务,支持tcp和ipv6;通过双机或集群方式部署,规避单点风险;dns代理不需要直接与互联网通信,减少被非法入侵的风险;可以无限制地添加或定制内网域名,包括别人已经注册的域名;通过在生产和非生产系统使用相同的域名,配置不同的解析,便于用户服务的发布和管理;私有域名配置不会在互联网上被查询到,保护内部业务信息和内部系统架构,不同vpc的域名解析通过不同的隧道进行通信,实现不同租户之间的完全隔离;同时支持vpc关联,减少重复配置;本发明支持公有云、私有域及混合云,与云原生网络解耦,不依赖于底层服务改造,便于业务的开展和维护。
附图说明
17.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
18.图1为本发明实施例所述的一种基于dns rpz机制实现vpc私有域名解析的方法示意图。
具体实施方式
19.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
20.下面将参考附图并结合实施例来详细说明本发明。
21.dns(domain name resolution)域名解析是把域名转换为ip地址,让人们通过域名就可以方便地访问到网站的一种服务,是互联网重要的组成部分之一;rpz(dns response policy zones)dns响应策略域是处理特定客户端和特定域名的dns请求的控制机制,包括修改、丢弃、拦截dns响应等;另外,在公有云计算领域,云专有网络vpc(virtual private cloud)不断普及,不同的服务及中间件被部署在不同的vpc中,而人们依旧习惯记忆域名,因此dns能否支持区分vpc进行私有域名解析就变得越来越重要。
22.目前的dns域名解析常用的有本地dns、授权dns、全局负载均衡gslb三种模式:
23.1.本地dns模式:是指最靠近客户端设备的dns服务,是自动分配的或用户手动配置的dns,包括各省各运营商的dns(江苏电信:218.2.135.1,天津联通:202.99.96.68)、公共dns(114.114.114.114,8.8.8.8)以及云平台或数据中心内的dns(阿里云:223.5.5.5),本地dns接收dns查询请求,通过递归方式将请求转发到相应的授权dns。
24.2.授权dns模式:是针对特定域名来说的,一般会说某某域名的权威dns是什么,每个域名在注册时都会指定相应的ns记录,即指定该域名的授权dns,分为两种情况,一种是域名商在管理,负责解析在他这里购买的域名的权威解析;还有一种是自建授权dns,由域名所有者自行管理和解析域名及各级子域名。
25.3.全局负载均衡gslb模式:是一种运行在互联网上的特殊的授权dns,是cdn(内容
分发网络)技术的关键,在解析特定a记录ip地址的基础之上,会根据dns请求的来源ip进行智能调度,包括区分客户地理位置实现就近访问和区分isp运营商线路实现网内访问,另外还可以通过附加健康检查的机制,保证被解析的服务的高可用;
26.本发明基于本地dns和授权dns模式的基础上,借鉴dns rpz处理域名的机制,通过在不同vpc部署不同的本地dns代理服务和在region内部署授权dns集群,本地dns代理在向授权dns递归转发公有域名请求的同时,通过配置不同的rpz域名,向授权dns请求不同rpz域的配置信息,dns集群再向dns代理同步不同的rpz域记录,即实现一个域名在不同vpc标识域中的解析结果不同,即私有域名解析。
27.为了实现dns支持vpc私有域名解析的方法,本发明通过软件方式,实现包含租户识别、rpz同步、转发缓存、负载均衡等功能。
28.dns以集群方式部署,分为dns代理、dns负载和权威dns。其中,本地dns代理以双机形式部署在各个vpc中,通过配置文件识别租户,与sdn解耦,通过vrrp保证高可用性;dns负载和权威dns以集群方式部署在数据中心region中,集群向dns代理同步dns域配置,不同的vpc中的dns代理向区域dns请求不同的rpz域名及记录。
29.将客户端(vm)的dns配置成本地dns代理的ip地址,客户端向dns代理发起dns请求,dns代理先判断域名是否属于rpz域,如是则查询对应的记录直接响应,如不是,再向区域dns集群转发请求,同时实现公有域名和私有域名的解析,其中dns代理和dns负载均具备缓存能力,以减少查询数据库和配置文件的次数,大大提高该发明的性能。
30.相比目前常见的dns模式,本方案具有以下优点:
31.1.符合习惯:用户不再需要通过记忆ip地址访问业务,支持tcp和ipv6;
32.2.高可用:通过双机或集群方式部署,规避单点风险;dns代理不需要直接与互联网通信,减少被非法入侵的风险。
33.3.灵活控制:可以无限制地添加或定制内网域名,包括别人已经注册的域名;通过在生产和非生产系统使用相同的域名,配置不同的解析,便于用户服务的发布和管理;
34.4.安全隔离:私有域名配置不会在互联网上被查询到,保护内部业务信息和内部系统架构,不同vpc的域名解析通过不同的隧道进行通信,实现不同租户之间的完全隔离;同时支持vpc关联,减少重复配置。
35.5.异构解耦:本发明支持公有云、私有域及混合云,与云原生网络解耦,不依赖于底层服务改造,便于业务的开展和维护。
36.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.参照图1,部署实施方式描述如下:
38.a)一个区域region可认为是一朵云,可包含多个数据中心,每个region包含多个vpc,每个vpc均有唯一标识,vpc之间逻辑上是相互隔离的;
39.b)本地dns代理部署在vpc中,通过双机和vrrp保证高可用性,通过配置文件识别租户,与sdn解耦,不依赖于网络底层服务;不同vpc中的dns代理可以使用相同的保留ip,便于设置vm的dns;
40.c)区域dns集群包括dns负载和权威dns,以集群方式部署在region中,提供管理配置web控制台和openapi,不同的区域dns集群之间可进行数据同步;
41.d)区域dns集群向dns代理同步dns域配置,使用vpc信息标记rpz,即不同的vpc中的dns代理向区域dns请求不同的rpz域名及记录,利用tcp传递配置,保证可靠性;同时,通过定时同步和增量触发更新,确保了配置的及时性;
42.e)支持配置多种rpz规则,包括响应无记录(nxdomain)、无响应(nodata)、透传(passthru)、以及使用配置的域名记录(record resource)进行响应,在实现解析功能的基础上,还可以实现黑名单域名安全控制功能;
43.参照图1,业务实现流程描述如下:
44.1.vpc内的云主机(vm)向vpc内的dns代理的vip+53端口发起dns请求(udp或tcp);
45.2.dns代理根据vm的源ip和请求的qname,判断域名是否属于rpz记录,如是则查询对应的记录直接响应,请求就在dns代理终结,毫秒级响应且减少授权dns压力;
46.3.如不属于rpz,通过udp向区域dns集群转发请求,同时通过将vpcid转为ip地址,放入edns的ecs字段,实现vpc信息的传递,为统一管理提供有效的支持;
47.4.区域dns集群会对收到的dns请求进行判断,如果不是自己管理的域,就直接向公共dns转发,还可以配置将特定的域名转发到特定的授权dns;
48.5.dns负载收到响应后缓存并响应给dns代理;
49.6.dns代理同样缓存响应并响应给客户端;
50.私有域rpz配置示例如下:
[0051][0052]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不
应认为超出本发明的范围。
[0053]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0054]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
[0055]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:通过在不同vpc部署不同的本地dns代理服务和在region内部署授权dns集群,本地dns代理在向授权dns递归转发公有域名请求的同时,通过配置不同的rpz域名,向授权dns请求不同rpz域的配置信息,dns集群再向dns代理同步不同的rpz域记录,完成私有域名解析。2.根据权利要求1所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:vpc内的云主机向vpc内的dns代理的vip+53端口发起dns请求。3.根据权利要求2所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:dns代理根据vm的源ip和请求的qname,判断域名是否属于rpz记录,如是则查询对应的记录直接响应,请求就在dns代理终结,毫秒级响应且减少授权dns压力。4.根据权利要求3所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:如不属于rpz,通过udp向区域dns集群转发请求,同时通过将vpcid转为ip地址,放入edns的ecs字段,实现vpc信息的传递,为统一管理提供有效的支持。5.根据权利要求4所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:区域dns集群会对收到的dns请求进行判断,如果不是自己管理的域,就直接向公共dns转发,还可以配置将特定的域名转发到特定的授权dns。6.根据权利要求5所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:dns负载收到响应后缓存并响应给dns代理。7.根据权利要求6所述的一种基于dns rpz机制实现vpc私有域名解析的方法,其特征在于:dns代理同样缓存响应并响应给客户端。8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种基于dns rpz机制实现vpc私有域名解析的方法。9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种基于dns rpz机制实现vpc私有域名解析的方法。10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的一种基于dns rpz机制实现vpc私有域名解析的方法。
技术总结
本发明提供了一种基于DNS RPZ机制实现VPC私有域名解析的方法,通过在不同VPC部署不同的本地DNS代理服务和在Region内部署授权DNS集群,本地DNS代理在向授权DNS递归转发公有域名请求的同时,通过配置不同的RPZ域名,向授权DNS请求不同RPZ域的配置信息,DNS集群再向DNS代理同步不同的RPZ域记录,完成私有域名解析。本发明有益效果:一种基于DNS RPZ机制实现VPC私有域名解析的方法,用户不再需要通过记忆IP地址访问业务,支持TCP和IPV6;通过双机或集群方式部署,规避单点风险;DNS代理不需要直接与互联网通信,减少被非法入侵的风险。减少被非法入侵的风险。减少被非法入侵的风险。
技术研发人员:汤新
受保护的技术使用者:紫光云技术有限公司
技术研发日:2023.05.18
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/