一种DNS透明代理的方法及装置制造方法及图纸

技术编号:17974443 阅读:50 留言:0更新日期:2018-05-16 13:59
本申请提供一种DNS透明代理的方法及装置,应用于透明代理设备,所述方法包括:接收局域网内第一主机发送的DNS请求报文,基于预设策略为所述DNS请求报文选取DNS服务器;从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换;其中,所述地址池内包括多个公网IP;将所述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发所述DNS请求报文至所述DNS服务器。本申请解决了现有技术中,若透明代理设备的任一出接口发出大量的DNS请求报文后,同一DNS服务器可能会同时接收到大量具有相同源IP的DNS请求报文,进而误判为攻击报文而拒绝提供DNS解析服务的问题。

【技术实现步骤摘要】
一种DNS透明代理的方法及装置
本申请涉及通信
,特别涉及一种DNS透明代理的方法及装置。
技术介绍
DNS(DomainNameSystem,域名系统)透明代理是指网络设备(以下称透明代理服务器)接收到局域网内的目标主机发送的DNS请求报文时,修改DNS请求报文中的目的IP和源IP,然后将该DNS请求报文发送至指定的DNS服务器;后续透明代理服务器接收到DNS服务器返回的DNS应答报文后,再将该DNS应答报文的目的IP更改为上述目标主机的源IP,从而将该DNS应答报文发送至目标主机。如果局域网的出口部署了多个运营商的网络链路,而局域网内大部分主机预配置的DNS服务器的IP地址隶属于其中一个运营商的话,后续局域网内的主机发送DNS请求报文后,获得的DNS解析结果也隶属于该运营商。这就导致大部分主机会通过同一个运营商的网络链路访问相应的互联网资源,造成链路负载不均衡。通过DNS透明代理技术,无论局域网内主机预配置的DNS服务器的IP地址隶属于哪个运营商,透明代理设备接收到DNS请求报文后,都可以重新选择处理上述DNS请求报文的DNS服务器,从而使得局域网内的主机可以获取隶属于不同运营商的DNS服务器返回的隶属于不同的运营商的DNS解析结果,并通过不同的运营商的网络链路访问相应的互联网资源,使得局域网内的流量可以均衡地分配到各个网络链路上,达到链路负载均衡的目的。然而,透明代理设备在更改DNS请求报文时,往往将各主机发送的DNS请求报文的源IP更改为出接口的公网IP地址,若任一出接口发出大量DNS请求报文,同一DNS服务器可能会同时接收到大量具有相同源IP的DNS请求报文,进而误判为攻击报文而拒绝提供DNS解析服务。
技术实现思路
有鉴于此,本申请提供一种DNS透明代理的方法及装置,用以解决DNS服务器接收到同一出接口发出的大量DNS请求报文时,将DNS请求报文误判为攻击报文而拒绝提供DNS解析服务的问题。具体地,本申请是通过如下技术方案实现的:一种DNS透明代理的方法,应用于透明代理设备,包括:接收局域网内第一主机发送的DNS请求报文,基于预设策略为所述DNS请求报文选取DNS服务器;从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换;其中,所述地址池内包括多个公网IP;将所述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发所述DNS请求报文至所述DNS服务器。在所述DNS透明代理的方法中,所述透明代理设备上预配置链路标识与各DNS服务器的IP地址的映射关系;其中,所述链路标识为与各DNS服务器连接的网络链路的标识;所述基于预设策略为所述DNS请求报文选取DNS服务器,包括:接收到所述DNS请求报文后,检查各网络链路的带宽;根据带宽使用率最小的网络链路的链路标识查找上述映射关系;获取查找到的上述映射关系中的DNS服务器的IP地址。在所述DNS透明代理的方法中,所述从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换,还包括:记录选取的公网IP、所述DNS请求报文的源IP、第一端口和第二端口的映射关系,并将所述映射关系存储到NAT转换表;其中,所述第一端口为NAT转换前所述DNS请求报文的源端口,所述第二端口为NAT转换后所述DNS请求报文的源端口。在所述DNS透明代理的方法中,所述方法还包括:接收所述DNS服务器返回的DNS应答报文;校验所述DNS应答报文是否正确;如果所述DNS应答报文正确,基于所述DNS应答报文的目的端口和目的IP查找上述NAT转换表;基于查找到的NAT转换表项,更改所述DNS应答报文的目的IP为所述DNS请求报文的源IP,更改所述DNS应答报文的目的端口为所述第一端口,并转发所述DNS应答报文。在所述DNS透明代理的方法中,所述方法还包括:如果所述DNS应答报文不正确,基于所述预设策略重新为所述DNS请求报文选取DNS服务器,并将所述DNS请求报文发送至重新选中的DNS服务器。一种DNS透明代理的装置,应用于透明代理设备,包括:接收单元,用于接收局域网内第一主机发送的DNS请求报文,基于预设策略为所述DNS请求报文选取DNS服务器;转换单元,用于从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换;其中,所述地址池内包括多个公网IP;更改单元,用于将所述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发所述DNS请求报文至所述DNS服务器。在所述DNS透明代理的装置中,所述透明代理设备上预配置链路标识与各DNS服务器的IP地址的映射关系;其中,所述链路标识为与各DNS服务器连接的网络链路的标识;所述接收单元,进一步用于:接收到所述DNS请求报文后,检查各网络链路的带宽;根据带宽使用率最小的网络链路的链路标识查找上述映射关系;获取查找到的上述映射关系中的DNS服务器的IP地址。在所述DNS透明代理的装置中,所述转换单元,进一步用于:记录选取的公网IP、所述DNS请求报文的源IP、第一端口和第二端口的映射关系,并将所述映射关系存储到NAT转换表;其中,所述第一端口为NAT转换前所述DNS请求报文的源端口,所述第二端口为NAT转换后所述DNS请求报文的源端口。在所述DNS透明代理的装置中,所述装置还包括:所述接收单元,进一步用于接收所述DNS服务器返回的DNS应答报文;校验单元,用于校验所述DNS应答报文是否正确;查找单元,用于如果所述DNS应答报文正确,基于所述DNS应答报文的目的端口和目的IP查找上述NAT转换表;所述更改单元,进一步用于基于查找到的NAT转换表项,更改所述DNS应答报文的目的IP为所述DNS请求报文的源IP,更改所述DNS应答报文的目的端口为所述第一端口,并转发所述DNS应答报文。在所述DNS透明代理的装置中,所述装置还包括:所述接收单元,进一步用于如果所述DNS应答报文不正确,基于所述预设策略重新为所述DNS请求报文选取DNS服务器,并将所述DNS请求报文发送至重新选中的DNS服务器。在本申请实施例中,透明代理设备接收局域网内第一主机发送的DNS请求报文,基于预设策略为上述DNS请求报文选取DNS服务器,然后从本地的地址池中随机选取公网IP对上述DNS请求报文的源IP进行NAT转换;其中,上述地址池内包括多个公网IP;透明代理设备可以将上述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发上述DNS请求报文至上述DNS服务器,后续接收上述DNS服务器返回的DNS应答报文,转发上述DNS应答报文至上述第一主机;由于透明代理设备将DNS请求报文的源IP进行NAT转换时,不再以出接口的IP地址作为更改后的源IP,而是从地址池中随机选择公网IP作为更改后的源IP,当任一出接口发出大量DNS请求报文时,DNS请求报文的源IP不同,避免了被DNS服务器误判为攻击报文而无法获取DNS应答报文的问题。附图说明图1是本申请示出的一种DNS透明代理的网络架构图;图2是本申请示出的一种DNS透明代理的方法的流程图;图3是本申请示出的一种DNS透明代理的装置的实施例框图;图4是本申请示出的一种DNS透明代理的装置的硬件结构图。具体实施方式为了使本
的本文档来自技高网
...
一种DNS透明代理的方法及装置

【技术保护点】
一种DNS透明代理的方法,应用于透明代理设备,其特征在于,包括:接收局域网内第一主机发送的DNS请求报文,基于预设策略为所述DNS请求报文选取DNS服务器;从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换;其中,所述地址池内包括多个公网IP;将所述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发所述DNS请求报文至所述DNS服务器。

【技术特征摘要】
1.一种DNS透明代理的方法,应用于透明代理设备,其特征在于,包括:接收局域网内第一主机发送的DNS请求报文,基于预设策略为所述DNS请求报文选取DNS服务器;从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换;其中,所述地址池内包括多个公网IP;将所述DNS请求报文的目的IP更改为选中的DNS服务器的IP地址,并转发所述DNS请求报文至所述DNS服务器。2.根据权利要求1所述的方法,其特征在于,所述透明代理设备上预配置链路标识与各DNS服务器的IP地址的映射关系;其中,所述链路标识为与各DNS服务器连接的网络链路的标识;所述基于预设策略为所述DNS请求报文选取DNS服务器,包括:接收到所述DNS请求报文后,检查各网络链路的带宽;根据带宽使用率最小的网络链路的链路标识查找上述映射关系;获取查找到的上述映射关系中的DNS服务器的IP地址。3.根据权利要求1所述的方法,其特征在于,所述从本地的地址池中随机选取公网IP对所述DNS请求报文的源IP进行NAT转换,还包括:记录选取的公网IP、所述DNS请求报文的源IP、第一端口和第二端口的映射关系,并将所述映射关系存储到NAT转换表;其中,所述第一端口为NAT转换前所述DNS请求报文的源端口,所述第二端口为NAT转换后所述DNS请求报文的源端口。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收所述DNS服务器返回的DNS应答报文;校验所述DNS应答报文是否正确;如果所述DNS应答报文正确,基于所述DNS应答报文的目的端口和目的IP查找上述NAT转换表;基于查找到的NAT转换表项,更改所述DNS应答报文的目的IP为所述DNS请求报文的源IP,更改所述DNS应答报文的目的端口为所述第一端口,并转发所述DNS应答报文。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果所述DNS应答报文不正确,基于所述预设策略重新为所述DNS请求报文选取DNS服务器,并将所述DNS请求报文发送至重新选中的DNS服务器。6.一种DNS透明代理的...

【专利技术属性】
技术研发人员:侯志强房立明孙艳杰
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

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

1