新闻中心
海德体育互联网双出口是如何做到动态切换的(包括DNS)?
海德体育负载均衡器只是根据就进性表转发数据,并不能解决线路切换后DNS请求慢的问题,大家都在炫技如何解决出口链路的问题,我就直接回答如何解决多链路下dns问题,并对提问中的具体问题逐条回答了:
题主说“电信线路断了以后,原本走电信解析的改走联通线路,解析速度很慢”,那么请想想如果电信线路断了,访问电信DNS的请求不走联通线路,走哪里呢?要么就是走联通,要么就是直接丢弃咯,不管是哪种情况,都会造成解析慢的问题。
解析慢的问题用DNS proxy就能解决的,配置DNS proxy后你的防火墙/交换机就成了一台DNS服务器,同时DHCP也要把防火墙/交换机的地址作为本地dns服务器分配给用户。配置了dns proxy的设备会缓存解析结果,即使某条外网线路断了,防火墙/交换机也会把缓存里的记录直接返回给用户。当缓存过期或不存在时,防火墙/交换机才会向公网发出请求,这个时候可能会出现解析缓慢,但是也只影响少数几个刚好这个时候请求解析的用户,而且可以配置多个DNS,通过DNS服务器与链路联动的配置避免这个问题。
你给的链接里面,华为的设备不就能做DNS代理后NAQ联动dns服务器么?让请求联通DNS服务器的走联通线路海德体育,请求电信服务器的走电信线路,这个很简单,你只要写两条几条静态路由联动NAQ就行了。
负载均衡设备就进性判断有很多方式,比如静态的运营商地址段列表,比如链路带宽使用率或线路会话负载率,还有就是动态探测了。
高票回答大都说静态ISP路由加track双线互备的切换方式,但是实际上这种方式的缺陷很明显:无法感知带宽的占用和实际延时情况,带宽利用不均衡,带宽占用高或运营商偶发丢包的时候可能会发生来回抖动切换。
在非握手代理的情况下,内网用户发起一个连接时,负载均衡随机或hash或根据带宽利用率将用户数据转发到一条线路,同时在其他所有可用线路也做一个发起连接的动作,可以根据回包的延时或路由跳数来判断从哪条线路访问更近,把探测结果记录到就进性表中,下次还有目的地址相同的请求就不再随机分配了,而是按照就进性表里面的记录来分配。
当最优的链路失效后,会从就进性表中选择次优的线路,如果就进性表中找不到记录了,那么会随机分给其他链路并从所有可用链路发出探测。
在握手代理的模式下,负载均衡器会代理用户建立连接,收到内网用户请求时不会直接转发这个数据包,而是自己先和用户建立好tcp连接,然后从所有链路去建立链接,选择最优的一条线路来转发数据。这时候负载均衡器内外是两个会话,需要分别打开和关闭。
先弄出几个常见的双出口方案,这些还都是出向负载均衡,还没有涉及到发布服务用的入向负载均衡和服务器负载均衡
至于那种做ip sla 做默认路由切换的,现在企业基本不会用。最多做做pbr 把流量引到不同出口。
IP路由层面的选路问题,其核心就是保证在多条路径下,可以均衡流量的同时保证互为备份的作用。这功能最好实现,最简单的方式就是用等价的静态路由方式就可以做到,当然OSPF、BGP等路由协议默认就是具备这方面的能力的,这个是IP路由选路的基本能力海德体育,因此本质上多出口动态切换这个问题是很好的解决的。在等价路由的情况下,对于符合路由条件的报文默认是一个包从1口扔,第二包从2口扔。但是因为NAT、防火墙等基于五元组(或者session)的设备存在的情况下,很多厂商的设备都是按照“session”进行均衡转发,保证在相同五元组的情况下,从同一个接口转发出去。
但是,在这个等价路由的基础上,又提出了“不对称的问题”,因为多出口的情况下可能带宽不一样,用户肯定希望链路的带宽利用率尽可能高。这个问题就不是路由协议本身解决的问题了,这种技术没有标准的协议来支撑,无非就是如下2种:
1、加个权重,使得接口的转发策略有所偏重。在这个功能基础上增加增加点自动探测的能力,比如根据接口的负荷等等,其本质都是权重转发。
2、策略路由,根据内网的源地址分配来调整流量。因为策略路由可以携带更多的判断条件,而普通路由就是根据目的地址选路。
但是,在中国确存在一个特殊问题:就是跨运营商的问题,这个问题就不展开了,有句老话是这么说的:“世界上最远的距离不是从中国到美国,而是从电信到网通”。因此客户就存在这样的需求,希望访问电信的流量走电信出口,访问联通的流量走联通出口....,这个问题是多出口下的均衡策略最难解决的问题。
解决这个问题的主要方式就是引入精确路由表,就是所谓的运营商路由,这样可以满足用户的这个需求。这样,系统的路由表是由精确路由+n条默认路由构成,这样可以提升用户的上午体验。
但是,上面的解决方案,会引入另外一个问题,就是DNS导致的“流量不均衡问题”。因为跨运营商的问题,国内的ICP(新浪、优酷等等)都需要采用CDN解决方案,CDN本质就是根据用户DNS请求的源地址所属位置来判定用户所属的运营商,这样就保证尽量让电信的用户访问电信的机房。而一般情况下,一个内网都是给自己的客户分配统一DNS地址,例如一个单位、一个校园网等,而这个DNS地址一般都是某个运营商提供的(例如电信)。这样就导致了,这个单位访问互联网的时候,DNS解析回来的地址可能都是电信的。再加上精确路由的优先级一定高于默认路由,这样就导致,这个单位的DNS地址用哪个运营商的,哪条链路就会特别紧张,负载分担的效果就会大大削弱了。
因此海德体育,为了解决这个问题,又需要引入“DNS报文负载均衡的能力”,使得一个内网的用户的DNS指向不要总是指向某个运营商。这个能力是很多路由器、防火墙不具备的。专业负载均衡设备主要就是靠这个吃饭的。主要的方式:
1、让内网用户把DNS指向到出口设备的网关地址海德体育,这种方式就是DNS Proxy,网关设备修改DNS的目的地址,来均衡流量。
2、DNS透明代理。这种方式无论内网用户自己配置什么DNS服务器,网关设备都会截获DNS报文,然后把目的地址给改了。
综述:多出口路由其实是很好解决的一个问题。但是由于中国的跨运营商问题,引入了很多复杂的情况。个人非常的反感这种跨运营商情况的出现,因为互联网解决的就是不同局域网的互联互通问题,而在中国搞成了几个很大的局域网了。无语啊!
如图1所示,FW作为安全网关部署在网络出口,企业分别从ISP1和ISP2租用一条链路。企业希望访问Server 1的报文从ISP1链路转发,访问Server 2的报文从ISP2链路转发。当其中一条链路故障时,后续流量可以通过另一条链路转发,保证传输的可靠性。
选择“对象 健康检查”,在“健康检查列表”区域单击“新建”,为ISP1链路新建一个健康检查海德体育。
选择“网络 路由 智能选路”,在“运营商地址库”页签,单击“导入”。
5.配置Trust到Untrust区域的安全策略,允许企业内网用户访问外网资源。假设内部用户网段为10.3.0.0/24。
选择“策略 安全策略 安全策略”,单击“新建安全策略”。