域环境双ISP接入内部DNS服务器问题的探讨与解决方法

时间:2022-10-29 12:54:31

域环境双ISP接入内部DNS服务器问题的探讨与解决方法

摘要:为了在内网为域模式、ISP网络接入的环境下,当两个ISP线路都正常时,不同ISP网络中的用户使用对应的网络地址来访问内网服务器,而当一条线路不正常时,相应线路的ISP网络中用户能自动切换到另一条正常的线路,策略路由技术与静态网络地址转换带DNS应答修改技术相结合的方法被提出。结果表明,此方法可行。

关键词:活动目录;Y&ISP接入;链路跟踪;策略路由;智能DNS;链路负载平衡

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)14-0025-02

1概述

双ISP接人是为了解决跨运营商网络访问时运营商之间相互限制所导致的带宽瓶颈问题,为实现双ISP接入时外网快速访问园区网内部资源服务器,许多论文报导都是采用策略路由技术与名称服务器BIND9的VIEW功能相结合的方法,但是以上重偷谋ǖ荚谛Ч上都存在一个问题――由于BIND的VIEW功能只能根据DNS请求包的源地址来作应答的,比如请求包来源为电信网络的则返回电信网内的IP地址,但是BIND9并不能检测其所返回给用户的地址是否用户可以访问,所以,当接入ISP网络的两条线路中的其中的一条出现故障时,会造成相应ISP网络中的用户不能访问园区网内的Web服务器。为解决这种问题,邱建波提出了在DNS服务器上监视各条ISP链路通断状况,再根据监视结果用计划任务crontab来自动切换BIND的配置文件的方法。虽然这种DNS服务器对外服务时能实现用户就近访问和线路故障切换,但是如果内网是域模式时还得要另外部署与AD集成的Windows DNS服务器。目前还没有见到域模式双ISP接人环境下只使用Windows DNS服务器来解决外网快速访问内网资源服务器的方法相关报道。要适合内网为域模式网络环境,并且做到内网服务器提供的服务对外网总是可用,可以采用以下方法:一是采用链路负载平衡设备,这类设备对内部DNS服务器没有要求,能探测各条ISP链路的状态,根据探测结果智能地修改DNS应答包,保证当各ISP接入链路正常时,各个ISP网络的用户使用相对应的ISP网络地址快速访问内网内部服务器,而当某条ISP接入链路出现故障时,则会把相应ISP用户的DNS查询解析到另外一个正常的ISP地址,保证外网用户总是能访问内网服务器。但是这种方法是要增加硬件投人;二是本文将要提出的方法,即采用链路跟踪、策略路由、NAT和DNS应答修改技术相结合的方法,这不需要DNS服务器BIND的VIEW功能,可以用任何DNS服务器。

2方法

DNS的解析过程大概是这样的:假定用户向本地的DNS服务器发送域名请求,如果它有记录或缓存中有,则返回给用户,如果没有则DNS服务器转发查询或查询根域服务器(视服务器的配置),这里假定DNS服务器进行根查询,从根域DNS服务器得到到回答只能是com域的NS记录,那么本地DNS服务器再查询corn域的DNS服务器,同样corn域的DNS服务器只能告诉二级域company.corn的NS记录,如果本地DNS服务器得到的回答是多个Ns记录,那么本地DNS服务器先向其中的一个NS发送请求(使用顺序取决于本地DNS解析器的配置),如果在超时时间内没有响应,则向下一个NS查询,直到有一个DNS服务器给出了应答。查询第一个DNS服务器如果没有响应则自动查询第二个、第三个DNS服务器,DNS查询的这种行为是本文所提出的方法所依赖的。

防火墙一般都具有DNS应答包修改的功能,可以把DNS应答包中的A记录修改成网络管理员所指定的IP地址。当然,所有防火墙都有网络地址转换(NAT)功能。本方法也依赖这两个功能。

策略路由在不同的路由器上功能略有不同,有的只能根据源地址来选路,有的可以根据源目地址、源目端口、协议这五元组来选路,还有的路由器能进一步根据上游链路质量来决定是否起用这条策略路由。而链路质量的监测则依赖服务等级协议(Service Level Agreement,SLA)。本方法要求做策略路由的路由器支持链路跟踪功能。并且策略路由配置的要求为:(参见图1)当内部路由器到ISP-A的DNS服务器DNS-A之间的链路正常时,所有去往ISP-A的数据包从防火墙FW-A走;同样,当内部路由器到ISP-B的DNS服务器之间的链路正常时,所有去往ISP-B的数据包都转发给防火墙B;而当其中的一条链路不正常时,所有的数据包都从另一条正常的链路所连接的防火墙转发。

假定某企业从两个不同的ISP分别申请了地址100.0.0.53和200.0.0.53给内部DNS服务器使用,还分别向两个ISP申请了100.0.0.80和200.0.0.80两个地址给内部Web服务器使用,购买域名时注册了两个NS地址100.0.0.53和200.0.0.53。内部Web服务器所承载网站的域名是,内部Web服务器真实地址是10.0.0.80,在防火墙FW_A上的把它静态映射为100.0.0.80,在防火墙FW_B上静态映射为200.0.0.80。内部DNS服务器真实地址是10.0.0.53,在防火墙FW_A上静态映射为100.0.0.53,在防火墙FW_B上静态映射地址为200.0.0.53。在内部与AD集成的Windows DNS服务器上,对域名的A记录配置为内网地址10.0.0.80。

下面说明原理:

参见图1,当外网用户A在浏览器输入http:∥/访问内网Web网站时,首先要向本地DNS服务器(DNS-A)请求解析域名。如果DNS-A缓存中没有记录并假定它不转发查询,则它向根域DNS服务器查询,根域DNS服务器返回com域的Ns记录,接着它就向com域的DNS服务器查询,com域的DNS服务器返回域的NS记录,也就是该企业注册的100.0.0.53和200.0.0.53,于是就向其中的一个服务器查询。下面分两种情况来说明:

上一篇:配电变压器过负荷原因及治理措施探讨 下一篇:基于CCS5.5的TMS320C6000程序Flash上电自举设...