用于处理dns请求的方法和系统的制作方法_4

文档序号:9693626阅读:来源:国知局
第一或第二 VPN连接向DNS服务器601发送DNS请求以及从DNS服务器601接收DNS回复。出于说明的目的,WAN接口 103通过第一VPN连接连接到路由器600且路由器600可以通过互连网络105访问DNS服务器601。因此,网关101能够通过路由器600使用第一 VPN连接或直接不使用路由器600来访问DNS服务器601。
[0089]所属领域的技术人员将了解,在不同地理位置中的DNS服务器可以不同方式解析DNS请求。这可能由于许多原因导致。例如,在一些区域中,由于管理或法律原因,DNS服务器不能解析故意或无意地包括特定域名的DNS请求或不准确地解析所述DNS请求。例如,位于国家A中的DNS服务器可能不能提供在国家A中受限的网站的准确IP地址。因此,可能有益的是,通过VPN向受信任的DNS服务器(例如位于国家A外部的DNS服务器)发送DNS请求,使得从DNS服务器接收的DNS响应是准确且未被篡改的。
[0090]此方法的不利面可能是它可能不利用内容分布式网络。网关101可以尝试通过VPN连接访问位于国家A外部的DNS服务器,而非访问由极其接近网关101的内容分布式网络提供的DNS服务器。因此,对应地向位于国家A外部的DNS服务器发送DNS请求以及从所述DNS月艮务器接收DNS响应需要更长的时间。
[0091]图7是图示根据本发明的实施例中的一者的过程的流程图。为了更好地理解实施例,结合图6来观察图7。当网关1I通过LAN接口 102从主机接收DNS请求以解析域名时,所述网关在步骤701中通过第一 VPN连接向DNS服务器(例如DNS服务器602)发送新DNS请求。新DNS请求具有与所述DNS请求中所含有的内容相同的内容。在步骤702中,网关101通过第一VPN连接从DNS服务器602接收有效DNS响应。在步骤703中,网关101随后确定与在DNS响应中指定的IP地址相对应的近似的地理位置。基于在步骤703中确定的地理位置,网关101在步骤704中确定它是否应该使用第一 VPN连接向和/或从IP地址发送和/或接收数据。网关101在步骤705中通过第一 VPN连接向以及从所述IP地址发送和/或接收数据,如果网关在步骤704中确定这样做的话。网关101在步骤706中在不使用第一 VPN连接的情况下向以及从所述IP地址发送和/或接收数据,如果网关在步骤704中确定这样做的话。
[0092]例如,在一个变型例中,网关101将在步骤705中作出的与IP地址相对应的决定存储在计算机可读存储媒体506中。因此,对于每一数据包,网关101可以确定其目的IP地址且决定是否应该通过第一VPN连接发送数据包。出于说明目的,网关101可以通过从查找表查找决定来决定是否应该通过第一 VPN连接发送数据包。
[0093]在一个变型例中,当在步骤705处确定使用第一VPN连接时,网关101可以存储在DNS请求中指定的域名。当存在来自所述主机或通过网关1I连接到LAN接口 1 2的其它主机的指向域名的其它数据时,网关1I通过第一 VPN连接传送数据,因为在步骤704中作出的决定也适用于在其它主机之间传送的数据。在一个变型例中,可以通过处理单元505形成出口策略以指示VPN网关101通过第一VPN连接将主机和/或其它主机的数据传送域名。或者,可以存储在DNS响应中指定的IP地址和/或将其用于形成出口策略,而非使用域名。因此,在具有所述IP地址的主机与所述主机和/或其它主机之间传送的数据可以通过第一 VPN连接。这可以减少在将来频繁针对相同域名执行DNS请求的需要以及减少建立出口策略的需要。在一个变型例中,存在对域名和/或出口策略的存储的时间限制,因为DNS响应可能变成过时的。时间限制可以根据DNS响应的生存时间(TTL)值来设定。
[0094]所属领域的技术人员将了解,DNS请求以及DNS响应可以被拦截且对于此类拦截存在许多原因,以便通过使DNS请求负载均衡以及通过使用DNS代理来改进响应性。所属领域的技术人员将了解,DNS请求以及DNS响应遭遇黑客行为、窃听以及不诚信的中间人的拦截。因此,通过经由VPN连接发送DNS请求以及接收DNS响应允许对DNS请求以及DNS响应的更加安全的发送以及接收。
[0095]在一个变型例中,网关101在不使用第一VPN连接的情况下向DNS服务器(例如DNS服务器601)发送新DNS请求。因此,新DNS请求直接发送到DNS服务器601而不需发送到路由器600。在此情况下,从DNS服务器601接收的DNS响应也将不通过第一 VPN连接接收。因此,存在DNS响应被篡改可能性,因为所述DNS响应未通过VPN连接安全地发送。
[0096]在一个变型例中,网关101基于从IP地理位置数据库检索出的信息确定IP地址的地理位置。IP地理位置数据库可以从向用户询问其地理位置的网站汇集。通常,利用此类IP地理位置数据库可以在确定IP地址的国家时具有非常高的准确性。出于说明的目的,将Maxmindjls GeoLite数据库用作IP地理位置数据库。所述数据库可以导入且存储在网关1I的存储媒体中,例如计算机可读存储媒体506。网关1I随后必须相应地维护所存储的数据库。
[0097]或者,IP地址的地理位置可以通过向第三方发送查询以用于解析IP地址的地理位置来确定。第三方,例如Google的BigQuery,可以具有较高处理能力,且因此使用第三方来解析IP地址的地理位置可以是更快的。这是因为维护整个IP地理位置数据库以及使用仅网关101的处理能力来解析IP地址的地理位置可能是非常耗时的。然而,使用第三方来解析IP地址的地理位置可能存在不利面,例如缺乏保密性。允许第三方保持例如在查询中发送哪些IP地址来解析其地理位置等敏感信息可能是不安全的。此外,接收含有IP地址的地理位置信息的响应的速度与在网关101解析IP地址的地理位置时相比可能较低。这是因为通过第三方维护的数据库是远程的且因此通信速度可能较低。
[0098]在另一变型例中,路由器600使用IP地理位置数据库确定在DNS响应中指定的IP地址的地理位置,且通过第一 VPN连接向网关101发送IP地址的地理位置信息。IP地址的地理位置信息以单独的消息发送给网关101,所述消息不是路由器600转发到网关101的DNS响应的一部分。DNS响应以及具有地理位置信息的消息可以基本上同时发送或按任何次序一个接一个发送。
[0099]基于地理位置确定是否使用第一VPN连接来向和/或从IP地址发送和/或接收数据可以根据一或多个策略来执行。例如,网关101位于国家A中,IP地址位于纽约,且路由器600也位于纽约或除国家A之外的任何地理位置。网关1I可以经配置以使用VPN连接来向和/或从不位于与网关101相同的区域(即国家A)中的IP地址发送和/或接收数据。因为IP地址不位于国家A中,所以网关101在步骤704中确定使用第一VPN连接,且在步骤705中通过第一VPN连接向和/或从IP地址发送和/或接收数据。在另一实例中,网关101位于国家A中,IP地址位于国家A中,且路由器600位于纽约。在此情况下,网关1I在步骤706中不使用第一VPN连接来向和/或从IP地址发送和/或接收数据。更方便的是直接与IP地址通信而非通过位于纽约的路由器600连接到IP地址,因为网关101在与IP地址相同的区域中且可以更快地发送以及接收数据。
[0100]当IP地址位于国家A外部时,可能有益的是使用VPN连接来向和/或从IP地址发送和/或接收数据,因为通信更加安全且不受通过防火墙实施的管理或法律障碍的影响。通信是更加安全的,因为通信路线中的中间人很可能不能查看包中的数据,因为所述包经加密以通过VPN连接来发送且仅VPN连接的端点可以具有解密以及加密密钥等资源以查看数据。或者,当IP地址位于国家A内部时,访问IP地址不大可能具有管理或法律障碍,且因此不需要使用与路由器600之间的VPN连接。另外,响应应该是更快的,因为所述响应不需要首先通过VPN且随后回到国家A。
[0101]在另一实例中,第一主机通过LAN接口 102连接到网关101。网关101经配置使得当网关101从第一主机接收指向第一IP地址或域名的数据时,网关101在步骤705中通过第一VPN连接发送数据,如果第一 IP地址位于特定地理位置中的话。因此,网关101通过第一 VPN连接从第一 IP地址或域名接收指向第一主机的数据。如果用户或管理员需要主机与任何IP地址之间的通信,那么这可能是有益的,因为特定地理位置是安全且私密的。如果第一 IP地址不在特定地理位置中,那么网关101在步骤706中不使用第一VPN连接来向和/或从IP地址发送和/或接收数据。
[0102]图8是图示根据本发明的实施例中的一者的过程的流程图。为了更好地理解实施例,结合图6以及图7来观察图8。
[0103]出于说明目的,网关1I建立多个隧道,本文中被称作VPN连接。参考图6B,对应地使用WAN接口 103以及104来建立与路由器600之间的第一以及第二 VPN连接。使用WAN接口103来建立与路由器604之间的第三VPN连接且使用WAN接口 104来建立与路由器605之间的第四VPN连接。第一以及第二 VPN连接可以经结合以形成聚合VPN连接。
[0104]当在步骤701中网关101通过第一 VPN连接向DNS服务器602发送新DNS请求时,它在步骤703中确定与在步骤702中所接收的DNS响应中指定的IP地址相对应的地理位置。基于所述地理位置,网关101在步骤801中确定是否应该将VPN连接用于与IP地址进行通信。因为网关1I已经建立多个VPN连接,所以网关1I在步骤803中选择VPN连接中的一者,如果网关在步骤801中确定使用VPN连接的话。网关101随后在步骤804中使用选定VPN连接来与IP地址进行通信。
[0105]如果网关101确定不使用VPN连接来与IP地址进行通信,那么网关101在步骤806中选择接入网络或WAN接口用于与IP地址进行通信。网关101随后使用选定接入网络用于与IP地址进行通信。
[0106]在步骤803中可以根据一或多个策略选定多个VPN连接中的一者。在一个变型例中,将优先级分配给多个VPN连接。例如,第一以及第二 VPN连接分配有最高优先级,第三VPN连接分配有次高优先级,且第四VPN连接分配有最低优先级。因此,网关101使用第一以及第二VPN连接中的一或两者用于向和/或从IP地址发送和/或接收数据。如果结合第一以及第二VPN连接,那么聚合VPN连接可以用于向和/或从IP地址发送和/或接收数据。
[0107]在另一变型例中,网关101选择具有最低使用价格的VPN连接。VPN连接的使用价格可以根据用于建立VPN连接的接入网络(例如接入网络121以及122)的使用价格来改变。使用价格可以由管理员输入或从数据库检索。
[0108]在另一变型例中,网关101基于带宽可用性选择VPN连接。例如,如果第三VPN连接具有最高可用带宽,那么网关101选择第三VPN连接用于向和/或从IP地址发送和/或接收数据。益处中的一者是减少业务拥塞。
[0109]在另一变型例中,网关101基于VPN连接的端点的地理位置选择VPN连接。第一以及第二 VPN连接的端点是路由器600,且第三以及第四VPN连接的端点对应地是路由器604以及605 ο例如,路由器600、604以及605对应地位于纽约、香港以及伦敦。IP地址的地理位置在步骤703中确定为在香港。网关101随后选择第三VPN连接用于向IP地址发送和/或从IP地址接收数据。
[0110]当网关101在步骤801中确定不使用VPN连接时,网关101在步骤806中选择接入网络用于向以及从IP地址发送和/或接收数据。在步骤806中,接入网络可以随机地或根据一或多个策略选定。在一个变型例中,策略是基于由网关管理员输入的配置选择接入网络。在一个实例中,策略是基于带宽可用性选择接入网络。在一个实例中,策略是基于统计分析或在使用接入网络时所实现的历史数据网络性能来选择接入网络。在一个实例中,策略是基于接入网络的使用价格选择接入网络。
[0111]可以将优先级分配给接入网络或WAN接口。例如,接入网络121具有比接入网络122更高的优先级。因此,网关101在步骤807中通过接入网络121使用WAN接口 103向和/或从IP地址发送和/或接收数据。在另一实例中,WAN接口 104具有比WAN接口 103更高的优先级。因此,网关101在步骤807中通过接入网络122使用WAN接口 104向和/或从IP地址发送和/或接收数据。
[0112]应注意,在一些情况下,将优先级分配给WAN接口可能与将优先级分配给接入网络不同,因为WAN接口所连接到的接入网络可以改变。例如,接入网络121具有比接入网络122更高的优先级。用户或网关101的管理员改变连接,使得接入网络121连接到WAN接口 104且接入网络122连接到WAN接口 103。在此情况下,网关1I在步骤807中通过接入网络121使用WAN接口 104向和/或从IP地址发送和/或接收数据。如果将优先级分配给WAN接口使得WAN接口 103具有比WAN接口 104更高的优先级,那么网关101在步骤807中将通过接入网络122使用WAN接口 103向和/或从IP地址发送和/或接收数据。优先级可以基于使用价格、网络性能、时间等分配给接入网络。优先级可以根据信号干扰比、信噪比以及在WAN接口处观察的其它特性分配给WAN接口。
[0113]图9是图示根据实施例中的一者向一或多个DNS服务器发送DNS请求的过程的流程图。<
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1