首先,我明确一下我认为比较优化的企业组网理念,不一定是对的,但是大家觉得有道理可以适当参考下。
internet出口我推荐使用防火墙(不推荐使用路由器)
路由器我会放在企业的专线接入一侧(而不是直接接入核心交换机),因为路由器对于动态路由协议的支持更好,有着更强大的QoS功能(对于专线做QoS业务保障非常有必要,因为专线非常昂贵,带宽有限)。
好了,明确以上理念后,我们来进入主题:
首先单机房多运营商链路,这个是物理上的必要条件,并且企业往往有两种业务场景:
1. 内网用户主动上网,也就是outbound traffic
2. 内网服务器通过出口防火墙做服务发布,inbound traffic
两种场景分开说
上网需要的功能是“智能选路”,我访问电信的IP时,能够从电信接口出去,访问联通IP时能够从联通出去,实现的方式很简答,网上去搜索一些ISP路由表,然后以静态路由的形式导入防火墙,最后默认路由写浮动,主走电信,备走联通。
那么问题来了,如果电信DOWN了,我怎么才能让所有下一跳为电信接口的路由自动消失呢?
由于几乎所有厂家的网络设备默认判断路由不可用的方式均为:路由对应的出接口DOWN
然而这种方式并不适用于企业网的大部分场景,因为我们防火墙是主备的,ISP的线路只有一根,往往防火墙的前面会有分线交换机,那就会存在ISP线路已经DOWN,但是防火墙无法感知的情况。
因此,各个网络设备厂家都有对应的解决方案,就是针对路径做网络探测,具体原理不说了,我列举一下各个主流厂家的解决方案:
CISCO的这一功能叫SLA(Service Level Agreements)
HUAWEI的功能叫NQA(Network Quality Analyzer)
JUNIPER的功能叫RPM(Real-Time Performance Monitoring)
要注意一点,这些厂家并不是全线产品支持以上功能。
例如CISCO的路由器需要打上最高的data授权,交换机需要最高的ip service授权
华为路由器默认支持,交换机需要买一个NQA的授权
JUNIPER的SRX分为:Branch和Datacenter两条产品线,650以下(包括650)都为Branch,1400以上的均为DC产品,然而DC产品线不支持RPM....
如果你只是想做智能选路,并且能够多运营商选路自动故障切换,我推荐你去买上面三家的产品和解决方案,别买F5了,太贵了,别被坑了。
讲完outbound场景,我们来说服务发布,这其实和你当初设计公网业务场景是息息相关的。
在中国跨运营商访问带来的延迟和丢包会降低用户体验。
你购买了多运营商的IP和链路就是为了公司的应用在internet能够有更好的用户体验,这种用户体验的实现思路就是尽量让电信的用户去访问你的电信地址,让联通的用户去访问联通地址。
比如:一台WEB服务器,你即在电信发布了,又在联通发布了,最优化的做法就是智能DNS方案,你负责解析的权威DNS服务器能够判断客户的地址是来自哪个运营商,从而返回给对应的服务器地址。
并且当你的电信链路DOWN后,智能DNS要能够感知到服务器的电信IP已经不可用,此时返回给客户的所有IP均为联通IP。
可见这个智能DNS服务器是非常重要的,我们有两种方式去做:
1. 购买硬件/软件设备,自己搭建(在这块F5的GTM解决方案是首选)
2. 购买第三方的服务(万网和DNSPod)
我推荐购买第三方服务。