VPN客户端代理DNS解析方法及系统技术方案

技术编号:33153575 阅读:15 留言:0更新日期:2022-04-22 14:09
本公开涉及一种VPN客户端代理DNS解析方法和系统。所述方法包括:接收DNS查询请求;向用户侧DNS服务器和VPN侧DNS服务器转发所述DNS查询请求;解析来自所述用户侧DNS服务器和所述VPN侧DNS服务器的DNS查询响应报文;以及采用最先接收到的且无差错的查询响应报文进行应答。能避免操作系统的DNS服务器择优机制导致的VPN内网资源访问错误问题,并且不影响访问公网域名。此外,在同时发起DNS请求的情况下,一般对于公网域名、用户侧网络私有域名而言,用户侧DNS服务器解析快,解决了跨运营商以及CDN就近性问题,VPN代理会把DNS解析结果优先返回给应用程序,用户可以快速访问网络,提升了用户上网体验。升了用户上网体验。升了用户上网体验。

【技术实现步骤摘要】
VPN客户端代理DNS解析方法及系统


[0001]本公开涉及VPN
,具体而言,涉及一种VPN客户端代理DNS解析方法及系统。

技术介绍

[0002]一般用户办公网络中会搭建一个DNS服务器,主机通过配置内网DNS地址和一个公网DNS进行DNS域名解析,这样当内网DNS服务器出现问题时,会采用公网DNS服务器进行解析,内网DNS服务器可以解析客户网络私有域名以及公网域名。
[0003]用户在使用VPN时,由于部分VPN资源以域名形式发布,用户原有网络用户侧DNS服务器无法解析VPN域名资源,VPN资源域名要求使用VPN服务器侧DNS服务器进行解析。公网域名可以通过VPN服务器侧DNS服务器进行解析,也可以通过客户原有网络用户侧DNS服务器进行解析,但是客户内部私有域名需要通过原有网络用户侧DNS服务器进行解析。
[0004]使用VPN时,内网域名要求使用VPN DNS解析,公网域名要求使用公网DNS解析。在部分操作系统中,可以通过修改注册表、网卡跃点数等常规方法修改网卡的优先级,从而实现优先使用内网DNS服务器对DNS请求进行解析。但是部分操作系统使用常规方法无法修改网卡优先级,VPN在正常连接后公网DNS优先级高于VPN DNS优先级,导致内网域名被解析成公网地址或者不能被解析,从而导致用户无法正确访问内网域名。
[0005]现有VPN使用常规方法无法修改网卡优先级,VPN在正常连接后原有网络DNS服务器优先级高于VPN服务器侧DNS服务器优先级,导致VPN资源域名被解析成公网地址或者不能被解析,从而导致用户无法正确访问VPN资源。如果VPN侧DNS服务器不支持解析公网域名,当VPN侧DNS服务器解析失败后,用原有网络DNS服务器进行解析,域名经过两次解析,解析速度慢,严重影响用户体验。如果VPN侧DNS服务器支持解析公网域名,由于用户和VPN测DNS服务器地理位置、运营商等不一样,会导致解析出的IP存在跨运营商以及CDN就近性等问题。
[0006]因此,需要一种无需修改网卡优先级的VPN客户端代理DNS解析方法、系统。

技术实现思路

[0007]有鉴于此,本公开提供一种VPN客户端代理DNS解析方法及系统。根据本公开的一方面,提出一种VPN客户端代理DNS解析方法,该方法包括:接收DNS查询请求;向用户侧DNS服务器和VPN侧DNS服务器转发所述DNS查询请求;解析来自所述用户侧DNS服务器和所述VPN侧DNS服务器的DNS查询响应报文;以及采用最先接收到的且无差错的查询响应报文进行应答。
[0008]根据本公开的VPN客户端代理DNS解析方法,若首次接收到的查询响应报文非无差错,则缓存所述查询响应报文;在首次接收到非无差错的查询响应报文并缓存所述查询响应报文之后预定时间后,未收到其他查询响应报文时,确定响应超时;以及采用所缓存的查询响应报文进行应答。
[0009]根据本公开的VPN客户端代理DNS解析方法,若接收到的响应报文均非无差错,则采用最后接收到的查询响应报文进行应答。
[0010]根据本公开的VPN客户端代理DNS解析方法,若在预设时间段内均未接收到查询响应报文,则不进行任何应答。
[0011]根据本公开的VPN客户端代理DNS解析方法,在采用所缓存的查询响应报文进行应答之后释放缓存空间。
[0012]根据本公开的另一方面,还提出一种VPN客户端系统,该系统包括:接收请求组件,用于接收DNS查询请求;转发组件,用于向用户侧DNS服务器和VPN侧DNS服务器转发所述DNS查询请求;解析组件,用于解析来自所述用户侧DNS服务器和所述VPN侧DNS服务器的查询响应报文;应答组件,用于采用最先接收到的且无差错的查询响应报文进行应答。
[0013]根据本公开的VPN客户端代理DNS解析系统,其还包括:缓存组件,用于若首次接收到的响应报文非无差错,则缓存所述查询响应报文;超时检测组件,用于在首次接收到非无差错的查询响应报文并缓存所述查询响应报文之后预定时间后,未收到其他查询响应报文时,确定响应超时;以及所述应答组件,还用于采用所缓存的查询响应报文进行应答。
[0014]根据本公开的VPN客户端代理DNS解析系统,其中所述应答组件在接收到的响应报文均非无差错时采用最后接收到的查询响应报文进行应答。
[0015]根据本公开的VPN客户端代理DNS解析系统,其中所述应答组件在预设时间段内均未接收到查询响应报文时不进行任何应答。
[0016]根据本公开的VPN客户端代理DNS解析系统,其还包括:回收资源组件,用于在采用所缓存的查询响应报文进行应答之后释放缓存空间。
[0017]综上所述,采用本公开的VPN客户端代理DNS解析方法和系统,无需要设置网卡优先级,通过VPN客户端监听本地端口,代理本机所有的DNS查询请求,完成DNS请求解析。具体而言,就是当用户端发起DNS查询请求时,VPN客户端收到DNS请求报文,解析请求报文,并代理DNS客户端将DNS查询请求同时转发发给VPN服务器侧DNS服务器和用户侧DNS服务器,并通过解析响应报文将最先到达的正确响应报文反馈给DNS客户端,从而避免部分操作系统的DNS服务器择优机制导致访问VPN内网资源错误,并且不影响访问公网域名。此外,在同时发起DNS请求的情况下,一般对于公网域名、用户侧网络私有域名而言,用户侧DNS服务器解析快,解决了跨运营商以及CDN就近性问题,VPN代理会把DNS解析结果优先返回给应用程序,用户可以快速访问网络,提升了用户上网体验。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
[0019]通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1所示的是根据本公开实施例的VPN客户端代理DNS解析方法和系统的应用实例示意图。
[0021]图2所示的是根据本公开实施例的VPN客户端代理DNS解析方法的流程图。
[0022]图3所示的是本公开实施例所采用的DNS报文的结构示意图。
[0023]图4所示的是本公开实施例所采用的DNS报文中的标志字段示意图。
[0024]图5所示的是根据本公开实施例的VPN客户端代理DNS解析方法的应答过程示意图。
[0025]图6所示的是根据本公开实施例的VPN客户端的原理示意图。
具体实施方式
[0026]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0027]此外,所描述的特本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种VPN客户端代理DNS解析方法,包括:接收DNS查询请求;向用户侧DNS服务器和VPN侧DNS服务器转发所述DNS查询请求;解析来自所述用户侧DNS服务器和所述VPN侧DNS服务器的DNS查询响应报文;以及采用最先接收到的且无差错的查询响应报文进行应答。2.根据权利要求1所述的方法,还包括:若首次接收到的查询响应报文非无差错,则缓存所述查询响应报文;在首次接收到非无差错的查询响应报文并缓存所述查询响应报文之后预定时间后,未收到其他查询响应报文时,确定响应超时;以及采用所缓存的查询响应报文进行应答。3.根据权利要求1所述的方法,还包括:若接收到的响应报文均非无差错,则采用最后接收到的查询响应报文进行应答。4.根据权利要求1所述的方法,还包括:若在预设时间段内均未接收到查询响应报文,则不进行任何应答。5.根据权利要求2所述的方法,还包括:在采用所缓存的查询响应报文进行应答之后释放缓存空间。6.一种VPN客户端系统,包括:接收请求组件,用于接收DNS查询请求;...

【专利技术属性】
技术研发人员:汪庆权
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1