|

防火墙多出口之全局选路策略


了解智能选路

介绍智能选路的定义和目的。

概述

随着业务的不断发展,企业通常会在网络出口部署多条链路,以此提高出口链路的带宽和可靠性。这样做虽然在一定程度上达到了预期效果,但是由于出口设备在转发流量时一般是随机选择一条链路转发流量,并不考虑各条链路的实际带宽或链路的实时状态,因此在实际应用中会存在如下问题:

  • 如果各条链路的带宽不等,则很可能出现某些带宽大的链路空闲、某些带宽小的链路拥塞的情况,从而造成链路资源的浪费。
  • 由于不同ISP链路的传输质量和服务费用不同,有时用户希望优先保证业务的传输质量,有时希望优先使用费用较低的链路,而平分流量是无法实现这些需求的。
  • 当出口设备与目的设备之间的链路出现故障或者目的设备上的服务不可用时,如果流量被转发到相应的链路上,则将造成访问失败。

通过部署智能选路功能可以解决上述问题。智能选路是指到达目的网络有多条链路可选时,FW通过不同的智能选路方式,即根据链路带宽、权重、优先级或者自动探测到的链路质量,动态选择最优链路,并根据各链路实时状态动态调整分配结果,以此提高链路资源的利用率和用户体验。

智能选路分类

智能选路分为两类:

  • 出站智能选路:当内网用户访问外网时,如果到达目的网络有多条链路可选,FW进行智能的选路。出站智能选路包括:
分类定义
全局选路策略(基于等价路由或缺省路由的出站智能选路)当到达目的网络有多条等价路由或者缺省路由时,FW通过不同的智能选路方式动态选择最优链路。
策略路由(基于策略路由的出站智能选路)当网络中配置了策略路由,并且流量命中配置的策略路由时,如果到达目的网络有多条链路可选,FW通过不同的智能选路方式动态选择最优链路。
ISP选路(基于ISP路由的选路)当FW作为出口网关设备连接多个ISP网络时,通过批量生成ISP路由,使访问特定ISP网络的流量从相应出接口转发出去,保证流量转发使用最短路径。FW还支持DNS透明代理功能,即当内网用户访问某个域名,向DNS服务器发起DNS请求时,对于符合指定代理条件的DNS请求报文,FW会根据请求报文选择的出接口,修改请求报文的目的地址(DNS服务器地址),防止绝大多数DNS请求报文都走同一条ISP链路,导致链路拥塞或者跨运营商访问。
  • 入站智能选路:当外网用户通过域名访问内网服务器时,向企业内网DNS服务器发起DNS请求,DNS服务器返回解析后地址给外网用户,FW可以将DNS回应报文中的解析地址进行智能的修改,使用户能够获得最合适的解析地址,避免链路拥塞或者跨运营商访问,这种解析方式称为智能DNS

智能选路的流程

介绍智能选路的流程。

当在网络出口部署多条链路时,FW的智能选路处理流程如图1所示。

图1 智能选路流程示意图

对于首包(未匹配会话):

  1. 如果管理员配置了健康检查功能,则FW将定时向被探测设备发送探测报文,监控本端和目的网络之间的链路是否正常。当FW需要进行智能选路时,健康检查功能将反馈链路的实时状态,帮助提高转发的可靠性。如果管理员没有配置健康检查功能,则默认所有链路状态正常。
  2. 客户端的业务请求报文到达FW后,FW根据路由表查询路由。查询路由的先后顺序是策略路由、明细路由、缺省路由。其中,明细路由是最常用的路由,包括动态路由和静态路由。
  3. 当流量命中策略路由、等价路由或缺省路由时,如果有多个出接口可以转发流量,则FW需要判断哪个是最佳出接口,即需要进行智能选路。
  4. 在智能选路前,FW首先要查询各出接口链路是否可用,故障链路不会参与智能选路。
    1. 出接口物理层状态为DOWN,排除该接口链路。
    2. 出接口协议层状态为DOWN,排除该接口链路。
    3. 出接口引用的健康检查状态为DOWN(如果接口引用了健康检查),排除该接口链路。如果a、b和c把所有选路成员接口都排除了,那么报文不走智能选路流程,而是按照普通路由选择出接口。
    4. 出接口链路不符合链路质量指标要求(如果选路策略引用了健康检查和链路质量指标),排除该接口链路。
    5. 出接口链路带宽达到过载阈值(如果链路接口配置了过载保护),排除该接口链路。
    6. 在剩余链路中按照配置的选路方式选择最优出接口。如果成员接口被以上流程都排除了,则在d和e排除的接口中进行智能选路。
  5. 如果智能选路方式为根据链路质量负载分担,则FW会通过健康的链路向业务服务器发送链路质量探测报文,获取各链路的传输质量信息。如果是其他智能选路方式,则不需要进行链路质量探测。
  6. FW将链路质量探测结果保存在链路质量探测表中,当后续有访问同一业务服务器的流量到达FW时,FW会根据链路质量探测表中的信息进行选路,无需重新进行探测。只有当链路质量表项老化后,FW才会在业务流量的触发下重新进行链路质量探测。
  7. FW按照设定的智能选路方式进行计算,得出选路结果。
  8. FW按照智能选路结果,使用相应的出接口转发业务请求报文。
  9. 业务服务器向客户端发送应答报文。

对于后续包(匹配会话):

  1. 检查匹配的会话中记录的出接口物理层状态、协议层状态和健康检查状态(如果接口引用了健康检查):
    • 如果三者其中任一状态为DOWN,则进行重新选路。重新选路流程同上述首包流程。
    • 如果三者的状态均为UP,则进行下一步检查。
  2. 检查报文是否命中NAT策略:
    • 如果命中了NAT策略,则直接按照会话中记录的出接口转发,不重新选路。
    • 如果未命中NAT策略,则进行下一步检查。
  3. 检查出接口链路是否符合链路质量指标要求(如果选路策略引用了健康检查和链路质量指标):
    • 如果出接口链路不符合链路质量指标要求,则进行重新选路。重新选路流程同上述首包流程。
    • 如果出接口链路符合链路质量指标要求,则直接按照会话中记录的出接口转发,不重新选路。

了解全局选路策略

介绍全局选路策略的概述、智能选路方式和会话保持功能。

概述

在多出口场景下,当到达目的网络有多条等价路由或者缺省路由时,FW默认按照逐流负载分担模式进行转发,使用源IP地址和目的IP地址进行HASH计算选择出接口,即由报文的源IP和目的IP决定选择哪条路,不会考虑各条链路的实际带宽或链路的实时状态。当转发流量较大时,很可能出现一部分链路拥塞、另一部分链路闲置的情况,造成链路资源的浪费。当某些链路的传输质量比较差时,可能造成访问失败,影响用户的体验。用户也无法选择优先使用某些链路转发流量,可能产生额外的费用。

全局选路策略可以解决上述问题。当到达目的网络有多条等价路由或者缺省路由时,全局选路策略可以根据不同的智能选路方式,即链路带宽、权重、优先级或者自动探测到的链路质量选择出接口,并根据各条链路的实时状态动态调整分配结果,以此实现链路资源的合理利用,提升用户体验。

智能选路方式

FW支持四种智能选路方式,不同的智能选路方式可以满足不同的需求,管理员可以根据设备和网络的实际情况进行选择。

设置智能选路的方式时,如无特别说明,“接口”和“接口链路”为等同的概念。FW通过对相关接口进行设置,体现对接口链路带宽、权重、优先级等方面的设置。

智能选路方式定义部署使用场景
根据链路带宽负载分担FW按照带宽比例将流量分配到各条链路上。带宽大的链路转发较多的流量,带宽小的链路转发较少的流量,所有链路都会被充分利用,不会有链路闲置的情况。在各条链路的出接口上配置入方向和出方向的带宽。管理员需要根据实际链路带宽设置合理的带宽值。当企业从不同ISP处获得多条带宽不等的链路时,为了充分利用各链路的带宽,提高链路的利用率,可以选择该选路方式。具体示例请参见根据链路带宽负载分担
根据链路质量负载分担FW优先使用链路质量高的链路转发流量。配置衡量链路质量的参数:丢包率、时延和时延抖动,管理员可以根据实际需要选择其中的一个或多个参数。3个链路质量参数的计算方法请参见根据链路质量负载分担。三个质量参数中,丢包率是最重要的参数,如果两条链路的丢包率、时延、时延抖动各不相同,那么FW判定丢包率小的链路质量高。当企业从不同ISP处获得多条链路时,为了使用户获得最佳的访问体验,需要FW能够根据各链路的实时传输质量动态调整流量的分配,此时可以选择该选路方式。具体示例请参见根据链路质量负载分担
根据链路权重负载分担FW按照权重的比例将流量分配到各条链路上,权重大的链路转发较多的流量,权重小的链路转发较少的流量,所有链路都会被充分利用,不会有链路闲置的情况。在各条链路的出接口上配置权重。一般来说,需要综合考虑各链路的带宽、转发时延、链路租借费用等因素,“转发性能最优的链路”并不单指转发速度最快的链路,而是最符合企业利益的链路,所以管理员需要根据实际情况设置合理的权重。当企业从不同ISP处获得多条性能不等的链路时,为了优先使用转发性能最优的链路,保证大多数用户的访问体验,且不浪费其它性能稍差的链路,可以选择该选路方式。具体示例请参见根据链路权重负载分担
根据链路优先级主备备份FW优先使用主接口转发流量。在各条链路的出接口上配置优先级,优先级最高的接口称为主接口,其他优先级的接口统称为备份接口。该智能选路方式分为两种场景:主备备份场景和负载分担场景,具体请参见根据链路优先级主备备份当企业从不同ISP处获得多条链路时,如果各链路的带宽、转发时延、链路租借费用等因素存在较大差异,那么可以优先使用某些链路传输流量,并利用其他链路作为备份链路或负载分担链路,提高业务的可靠性,此时可以选择该选路方式。具体示例请参见根据链路优先级主备备份

根据链路带宽负载分担

图1所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路带宽为200M,ISP2和ISP3的链路带宽均为100M,所以带宽比例为2:1:1。当FW转发一段时间流量后,各链路上累计传输的流量将分别占到总流量的50%、25%、25%,即各链路传输流量的比例和带宽的比例成正比。

FW是根据各接口指定带宽的比例来分流的,而不是根据流量的实时流速。所以实际上各接口链路上分配的流量比例很难和设置的带宽比例一致,总是会有波动。

比如有3条接口链路,带宽比例设置为2:1:1,此时有4条流量,FW分别将这4条流量按照2:1:1分配到这3条接口链路上,即接口1分了2条流,接口2和3各分了1条流。但每条流的流速不一样,所以此时接口上转发的流量大小比例并不是2:1:1。

为了保证链路不会过载,管理员设置了过载保护阈值,各链路均为90%。当某条链路的带宽使用率达到90%时,已建立会话的流量仍从该链路转发,但是后续新建立会话的流量不再通过此链路转发,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的带宽比例进行负载分担。如果所有链路都已过载,那么FW将继续按照各链路的带宽比例分配流量。

图1 根据链路带宽负载分担

根据链路质量负载分担

丢包率、时延和时延抖动是FW衡量链路质量的3个参数。表2列出了3个链路质量参数的计算方法。

链路质量参数计算方法
丢包率FW发送若干个探测报文后,将统计丢包的个数,并计算丢包率。丢包率等于丢包个数除以探测报文个数。
时延回应报文的接收时间减去探测报文的发送时间即为时延。FW发送N个探测报文后,将分别计算每次探测的时延,并取N次探测的平均值作为最终结果。
时延抖动相邻两次探测的时延之差取绝对值即为时延抖动。FW发送N个探测报文后,将分别计算相邻两次探测的时延之差并取绝对值,然后取所有时延抖动的平均值作为最终结果。

FW自动向目的IP发送链路质量探测报文,获取各链路的传输质量信息,并将链路质量探测结果保存在链路质量探测表中。当有流量到达FW时,FW首先根据报文的目的IP去匹配探测表,如果匹配则根据探测表中记录的出接口转发流量;如果未匹配,则自动向目的IP发起质量探测选择最优的链路转发流量,并将探测结果记录在链路质量探测表中,当质量探测表项老化后,新的流量触发智能选路时需要重新进行链路质量探测。

缺省情况下,链路质量探测报文的协议类型为tcp-simple(FW使用TCP报文检查网络的连通性,只要目的设备回应第一个探测报文,即认为链路是可用的,无需完成三次握手)。此时,FW针对TCP业务流量使用tcp-simple协议进行质量探测,针对非TCP业务流量使用ICMP协议进行质量探测。探测报文的协议类型还可以修改为ICMP,此时FW针对所有业务流量都使用ICMP协议探测进行质量探测。

为了简化配置、减轻探测对设备性能的影响,FW将对单个IP的质量探测结果当做该IP所在网段的质量探测结果,管理员可以根据实际需要扩大或缩小网段的范围。

图2所示,FW拥有3条出接口链路,分别属于不同的ISP。FW向各个ISP内的指定设备发送5个探测报文,其中ISP1链路没有丢包,ISP2链路丢了2个包,ISP3链路没有收到回应报文。所以FW判定ISP1的质量最高,将优先使用ISP1链路转发流量,只要探测表项没有老化,FW就一直使用ISP1转发流量,不会使用ISP2链路和ISP3链路。如果管理员为各链路设置了过载保护阈值,那么当ISP1链路的带宽利用率达到阈值时,ISP1链路将不再参与智能选路,FW会选择其他链路中质量最高的ISP2链路转发后续流量。

图2 根据链路质量负载分担

根据链路权重负载分担

图3所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路权重为5,ISP2的链路权重为3,ISP3的链路权重为2,所以权重比例为5:3:2。当FW转发一段时间流量后,各链路上累计传输的流量将分别占到总流量的50%、30%、20%,即各链路传输流量的比例和权重的比例成正比。

为了保证链路不会过载,管理员设置了过载保护阈值,各链路均为90%。当某条链路的带宽使用率达到90%时,此链路将不再被分配流量,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的权重比例进行负载分担。如果所有链路都已过载,那么FW将继续按照各链路的权重比例分配流量。

图3 根据链路权重负载分担

根据链路优先级主备备份

该智能选路方式分为两种场景:

  • 主备备份场景:FW优先使用主接口转发流量。如果没有为主接口链路指定过载保护阈值,那么即使链路过载,FW也不会使用其他链路传输流量。只有当主接口链路发生故障后,优先级次高的备份接口才被启用以替代主接口,而其他优先级更低的备份接口则仍未启用。
  • 负载分担场景:为了提高传输的可靠性和负载能力,可以为各接口链路设置过载保护阈值。当主接口链路过载时,FW会使用优先级次高的备份接口和主接口一起分担流量。当主接口和优先级次高的备份接口都过载后,余下的备份接口中优先级最高的接口才被启用进行流量分担。

图4所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路优先级为8,ISP2的链路优先级为3,ISP3的链路优先级为1,ISP1的链路优先级最高。管理员设置了过载保护阈值,各链路均为90%。FW优先使用ISP1链路转发流量,当ISP1链路的带宽利用率达到90%后,启用ISP2链路和ISP1链路一起分担流量。当ISP1链路和ISP2链路都过载时,启用ISP3链路和ISP1、ISP2链路一起分担流量。当3条链路都过载时,FW将按照各链路带宽的比例分配流量,不再根据链路优先级来分配。

图4 根据链路优先级主备备份

会话保持

FW支持在四种智能选路方式中配置会话保持功能。

智能选路接口可以配置过载保护阈值,当链路的带宽利用率达到过载保护阈值时,FW对新流量进行智能选路时将排除该过载链路,在其他未过载的链路中进行选路。这样可能会导致用户上网流量在链路过载前选择了该链路,而新建会话流量(如打开新网页)因为原链路过载而被FW从其他链路转发出去,从而出现已经登录的网站在刷新后需要重新登录,网络游戏在链路切换后掉线,甚至某些网上银行业务因检测到IP地址变化而拒绝用户访问等现象。

为了解决上述问题,可以开启智能选路会话保持功能。

开启该功能后,上网用户流量进行首次智能选路选择某链路后,FW会生成相应的会话保持表项,新流量如果命中了该会话保持表项,FW按照会话保持表项中记录的链路转发流量,这样能保证该用户的流量始终使用同一链路转发。

以基于源IP的会话保持模式为例介绍会话保持的原理,如图5所示,用户A的上网流量进行首次智能选路后,会生成一个会话保持表项,其中包含了源IP地址、匹配的智能选路策略ID和首次选路的出接口。当该用户再次发起连接时,FW会根据新流量中的源IP和匹配的智能选路策略ID查找相应的会话保持表项,并直接使用会话保持表项中记录的出接口转发该流量,这样就保证了此用户的流量始终使用同一出接口转发。

图5 会话保持

全局选路策略配置要点

介绍全局选路策略的配置过程。

背景信息

在多出口场景下,当到达目的网络有多条等价路由或者缺省路由时,通过配置全局选路策略,FW可以根据智能选路方式为命中等价路由或缺省路由的流量动态地选择出接口。

缺省路由选路功能默认开启,可以通过undo default-route enable命令关闭缺省路由选路功能。关闭该功能后,当报文命中缺省路由(等价缺省路由除外)时,则不进行智能选路,将按照firewall load-balance命令配置的负载分担方式选择出接口。

完成全局选路策略的配置后,后续经过FW的流量将按照选路策略被转发。而之前的部分流量由于会话没有老化,所以不会立即按照选路策略被转发。管理员可以通过命令行reset firewall session table手动清除会话表信息或者等待会话老化。

因为清除会话表项信息将导致连接中断,所以请慎重操作,只有确认对业务不会造成不良影响后,才能清除会话表信息。

全局选路策略配置过程

  1. 配置智能选路成员接口。
    1. 完成接口的基础配置,例如接口的IP地址、掩码、接口所在安全区域等。
    2. 配置接口的网关地址。
    3. (可选)在接口上应用健康检查,检查接口链路的连通性。
    4. (可选)配置接口所在链路的带宽和过载保护阈值。
  2. (可选)配置普通接口组。ISP接口组的配置请参考ISP选路配置要点。普通接口组是智能选路成员接口的集合,配置普通接口组相当于批量添加智能选路成员接口。
  3. 配置全局选路策略。
    1. 配置智能选路方式。
    2. 添加智能选路成员接口。
    3. (可选)开启过载保护功能。
    4. (可选)指定健康检查和链路质量指标,检查出接口链路的质量是否符合链路质量指标的质量要求。
    5. (可选)配置会话保持功能。
    6. (可选)配置参与智能选路HASH计算的参数。
    7. (可选)当智能选路方式为根据链路优先级主备备份时,设置备份接口自动关闭功能。

配置智能选路成员接口

操作命令说明
进入系统视图system-view
进入接口视图interface interface-type { interface-number | interface-number.subinterface-number }该接口为智能选路成员接口,为智能选路添加成员接口前,首先需要完成接口基础配置,例如接口的IP地址、掩码、接口所在安全区域等,此处不给出详细配置。
配置接口的网关地址gateway gateway-address [ route { enable | disable } ]缺省情况下,配置接口的网关地址后下发对应的缺省路由。PPPoE接口、Dialer接口、POS接口、4G LTE Cellular接口、Tunnel接口无需配置接口网关地址。
(可选)接口上应用健康检查healthcheck healthcheck-name健康检查必须已经配置完成。接口上应用健康检查后,FW只在健康的链路中进行智能选路。如果没有配置健康检查功能,则默认所有链路状态正常。说明:一个接口只能应用一个健康检查。
(可选)配置接口所在链路的带宽和过载保护阈值bandwidth { egress | ingress } bandwidth-value [ threshold threshold ]如果不指定过载保护阈值,当接口流量超过接口承载能力后,超过的部分将会直接被接口丢弃。当接口为智能选路的成员接口时,建议为接口所在链路指定带宽和过载保护阈值。如果链路过载,即带宽利用率达到threshold指定的值时,则此成员接口不再参与智能选路,FW只会在未过载的成员接口中选择出接口。当过载链路的带宽利用率小于threshold后,此成员接口才重新参与到智能选路中。如果所有成员接口都过载,则FW将按照智能选路模式进行流量转发,不再考虑链路是否过载。说明:当智能选路方式为根据链路带宽负载分担时,必须为成员接口指定带宽,建议配置过载保护阈值。当智能选路方式为其他方式时,为使智能选路达到最佳效果,建议配置链路带宽和过载保护阈值。

(可选)配置普通接口组

操作命令说明
新建普通接口组interface-group [ interface-group-id ] name interface-group-name
配置接口组中添加接口成员add interface interface-type interface-number

配置全局选路策略

  1. 进入全局多出口视图。multi-interface
  2. 配置全局选路策略的智能选路方式。mode { priority-of-link-quality | priority-of-userdefine | proportion-of-bandwidth | proportion-of-weight }智能选路方式决定了选路的标准,全局选路策略支持以下4种选路方式:智能选路方式命令说明根据链路带宽负载分担mode proportion-of-bandwidthFW按照链路带宽的比例将流量分配到各条链路上。根据链路质量负载分担mode priority-of-link-qualityFW按照链路的实时传输质量动态调整流量的分配。此方式可以根据丢包、时延、时延抖动等参数中的一个或多个判断链路的传输质量,选择质量最佳的链路转发流量,提升用户体验。根据链路权重负载分担mode proportion-of-weightFW按照链路权重的比例将流量分配到各条链路上。根据链路权重负载分担是默认的智能选路方式。根据链路优先级主备备份mode priority-of-userdefineFW优先使用链路优先级高的链路转发流量,并使用其他优先级低的链路作为备份链路或负载分担链路。
  3. 当智能选路方式为根据链路质量负载分担时,还可以进行如下配置:操作命令说明配置链路质量探测报文的协议类型priority-of-link-quality protocol { icmp | tcp-simple }缺省情况下,链路质量探测报文的协议类型为tcp-simple。配置链路质量探测的质量参数priority-of-link-quality parameter { delay | jitter | loss } *缺省情况下,链路质量智能选路的质量参数为丢包率(loss)。配置链路质量探测的探测间隔和探测次数priority-of-link-quality { interval interval | times times } *探测间隔(interval)的缺省值是5秒,探测次数(times)的缺省值是3次。配置链路质量探测的掩码长度priority-of-link-quality mask mask-length掩码长度的缺省值是16。使用命令mode配置智能选路模式为根据链路质量负载分担后,可以使用本命令配置掩码长度。设备对某个目的IP完成质量探测后,会将该探测结果作为某个目的网段的质量探测结果,该目的网段即由目的IP和本命令配置的掩码长度确定,可以通过命令display priority-of-link-quality table查看目的IP和掩码长度。由于一个目的IP的质量探测结果可以代表其所在网段内的所有目的IP,所以用户可以根据实际需要扩大或缩小网段的范围,建议使用缺省值。配置链路质量探测表项的老化时间priority-of-link-quality table aging-time aging-time老化时间的缺省值是1800秒。
  4. 添加智能选路成员接口。add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } [ priority priority | weight weight ] *FW只在智能选路成员接口中选择出接口,根据智能选路方式的不同,还需要为成员接口配置相应的参数:参数命令说明成员接口的带宽和过载保护阈值在配置接口时,已经配置接口带宽和过载保护阈值,此处无需配置。当智能选路方式为根据链路带宽负载分担时,需要为成员接口指定带宽。如果要实现接口过载保护功能,还需要配置过载保护阈值,当链路的带宽利用率达到指定值时,FW将不再使用此链路传输流量,而是选择未过载的链路传输。成员接口的权重add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } weight weight当智能选路方式为根据链路权重负载分担时,需要为成员接口指定权重,如果不指定,则默认权重为1。成员接口的优先级add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } priority priority当智能选路方式为根据链路优先级主备备份时,需要为成员接口指定优先级,如果不指定,则默认优先级为1。
  5. (可选)开启过载保护功能。overload protection enable缺省情况下,智能选路策略已开启过载保护功能。智能选路成员接口上指定了带宽和过载保护阈值时,当某链路带宽利用率达到过载保护阈值时,在进行智能选路时将排除该过载链路,在其他未过载的链路中进行选路,但可能导致链路过载时新建会话需要切换出接口链路,影响业务体验,此时可以通过undo overload protection enable命令关闭过载保护功能。即使链路过载,智能选路也不会排除该过载链路,也就不会进行切换链路。
  6. (可选)指定健康检查和链路质量指标。healthcheck healthcheck-name sla sla-name健康检查对象使用healthcheck name命令创建,链路质量指标对象使用sla name命令创建。链路质量探测功能依赖健康检查,如果需要根据链路的时延、抖动和丢包率进行更智能的选路,需要在选路策略中同时引用健康检查对象和链路质量指标对象。在选路成员接口上引用健康检查功能只能探测出接口链路的连通性。在全局选路策略或多出口策略路由中引用了健康检查和链路质量指标后,FW将实时检查出接口链路的质量(时延、抖动和丢包率)是否符合链路质量指标的质量要求,不符合要求的链路不参与智能选路,直到链路质量重新符合要求。
  7. (可选)配置会话保持功能。参数命令说明开启会话保持功能session persistence enable缺省情况下,智能选路会话保持功能是关闭的。须知:关闭会话保持功能后,FW会立即删除该智能选路策略对应的所有会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。当某个智能选路成员链路down时,该链路对应的会话保持表项将会立即老化,FW处理新流量时,会在其他正常链路中重新选路。配置会话保持功能的模式session persistence mode { source-ip | destination-ip } *缺省情况下,智能选路会话保持模式为基于源IP。须知:修改会话保持模式后,FW会立即删除该智能选路策略对应的所有会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。配置会话保持的源子网掩码长度或目的子网掩码长度session persistence source-ip mask mask-lengthsession persistence destination-ip mask mask-length缺省情况下,智能选路会话保持的源子网掩码长度为32位,目的子网掩码长度为16位。须知:修改源子网掩码长度或目的子网掩码长度后,FW会删除已有的会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。配置会话保持表项的老化时间session persistence table aging-time aging-time缺省情况下,会话保持表项的老化时间为300s。当一个会话保持表项持续没有会话命中的时间达到老化时间时,此表项老化。
  8. (可选)当智能选路方式为根据链路带宽负载分担和根据链路权重负载分担时,可以选择配置参与智能选路HASH计算的参数。load-balance flow hash { destination-ip | destination-port | source-ip | source-port } *缺省情况下,参与智能选路HASH计算的参数为源IP地址(source-ip)。如果出接口流量哈希不均,请调整哈希模式。当智能选路方式为根据链路带宽负载分担和根据链路权重负载分担时,如果智能选路的结果有多个出接口,设备会根据智能选路HASH计算的结果选择其中一个作为出接口。例如智能选路方式为根据链路带宽负载分担时,如果两条接口链路的带宽相同,且均未过载,此时FW会利用HASH计算选择其中一个接口作为出接口。
  9. (可选)当智能选路方式为根据链路优先级主备备份时,可以选择设置备份接口自动关闭功能。standby-interface status down当智能选路方式为根据链路优先级主备备份时,如果某个成员接口的优先级最高,那么这个接口称为主接口,其他成员接口称为备份接口。配置本命令后,所有备份接口的状态变为DOWN,只有当主接口过载(需要配置接口过载保护)或状态为DOWN时,优先级最高的备份接口状态才变为UP,其他备份接口的状态仍为DOWN。当主接口和优先级最高的备份接口均过载或状态均为DOWN时,优先级第二高的备份接口状态才变为UP,以此类推。如果接口中同时包含了子接口和父接口(如Eth-Trunk1.1和Eth-Trunk1),且子接口的优先级比父接口的优先级高 ,则不能开启此功能,否则会引起该接口循环的自动关闭和打开。

Web举例:配置流量根据链路优先级主备备份

通过配置根据链路优先级主备备份,FW可以在主接口链路故障时,使用备份接口链路转发流量,提高传输的可靠性。

组网需求

图1所示,企业从ISP1租用2条链路,带宽均为50M,从ISP2租用1条链路,带宽为10M。

图1 根据链路优先级主备备份组网图

  • 企业希望优先使用ISP1的2条链路传输上网流量,只有当ISP1的2条链路均故障时,才使用ISP2链路。
  • 企业的税务申报业务优先使用ISP2链路,只有当ISP2链路故障时,才使用ISP1链路。

配置思路

由于企业希望优先使用ISP1链路,所以全局智能选路方式可以设置为根据链路优先级主备备份,指定2条ISP1链路的优先级均为2,ISP2链路的优先级为1。而税务申报业务需要优先使用ISP2链路,所以要针对税务申报应用配置策略路由智能选路,选路方式也是根据链路优先级主备备份,并指定ISP2链路的优先级为2,2条ISP1链路的优先级均为1。为了保证主接口链路故障时,FW可以使用备份接口链路转发流量,还需要配置健康检查功能。

  1. 配置健康检查功能,分别为ISP1和ISP2链路配置健康检查。
  2. 配置接口的IP地址、安全区域、网关地址和带宽,并在接口上应用健康检查。
  3. 配置全局选路策略。配置智能选路方式为根据链路优先级主备备份,接口GE1/0/1和GE1/0/2加入一个接口组ifgroup1,并和接口GE1/0/7一起作为智能选路成员。分别为接口组ifgroup1和接口GE1/0/7设置优先级,接口GE1/0/1和GE1/0/2的优先级即等于接口组ifgroup1的优先级。
  4. 配置策略路由智能选路。为税务申报应用新建一条策略路由,配置智能选路方式为根据链路优先级主备备份,分别为接口组ifgroup1和接口GE1/0/7设置优先级。
  5. 配置基本的安全策略,允许企业内网用户访问外网资源。

本例着重介绍智能选路相关的配置,其余配置如NAT请根据实际组网进行配置。

操作步骤

  1. 可选:开启健康检查功能,并为ISP1和ISP2链路分别新建一个健康检查。假设ISP1网络的目的地址网段为3.3.10.0/24,ISP2网络的目的地址网段为9.9.20.0/24。选择“对象 > 健康检查”,在“健康检查列表”区域单击“新建”,为ISP1链路的GigabitEthernet 1/0/1新建一个健康检查。单击“新建”,为ISP1链路的GigabitEthernet 1/0/2新建一个健康检查。单击“新建”,为ISP2链路新建一个健康检查。此处假设3.3.10.10~3.3.10.13和9.9.20.20、9.9.20.21分别为ISP1和ISP2网络中已知的设备地址。如果健康检查配置完后,状态一直为down,请检查健康检查的配置。对于V500R001C80之前的版本,需要在FW上配置对应的安全策略,允许FW向目的设备发送健康检查探测报文。对于V500R001C80及之后的版本,健康检查的探测报文不受安全策略控制,默认放行,无需配置相应安全策略。
  2. 配置GigabitEthernet 1/0/1、GigabitEthernet 1/0/2和GigabitEthernet 1/0/7的IP地址和网关地址,加入Untrust安全区域,配置接口所在链路的带宽,并应用对应的健康检查。选择“网络 > 接口”,单击待配置的接口所在行的
  3. 配置接口GigabitEthernet 1/0/3的IP地址,并加入Trust安全区域。选择“网络 > 接口”,单击待配置的接口所在行的
  4. 新建接口组ifgroup1,并将GigabitEthernet 1/0/1和GigabitEthernet 1/0/2加入接口组。选择“网络 > 路由 > 智能选路 > 接口组”,单击“新建”。
  5. 配置全局选路策略,流量根据链路优先级主备备份。并将ifgroup1和GigabitEthernet 1/0/7加入出接口列表。选择“网络 > 路由 > 智能选路”,在“全局选路策略列表”区域,单击“配置”。
  6. 自定义税务申报应用,假设应用服务器的IP地址为8.8.8.8,端口为20001。选择“对象 > 应用 > 应用”,单击“新建”。
  7. 为税务申报应用配置策略路由智能选路,流量根据链路优先级主备备份。选择“网络 > 路由 > 智能选路”,单击“智能选路策略”页签,在“策略路由列表”区域,单击“新建”。
  8. 配置Local到Untrust区域的安全策略,允许FW向目的设备发送相应的健康检查探测报文。对于V500R001C80之前的版本,需要在FW上配置对应的安全策略,允许FW向目的设备发送健康检查探测报文。对于V500R001C80及之后的版本,健康检查的探测报文不受安全策略控制,默认放行,无需配置相应安全策略。选择“策略 > 安全策略 > 安全策略”,单击“新建安全策略”。
  9. 配置Trust到Untrust区域的安全策略,允许企业内网用户访问外网资源。假设内部用户网段为10.3.0.0/24。选择“策略 > 安全策略 > 安全策略”,单击“新建安全策略”。

配置脚本

#
healthcheck enable
healthcheck name isp1_health_01
 destination 3.3.10.10 interface GigabitEthernet1/0/1 protocol tcp-simple destination-port 10001
 destination 3.3.10.11 interface GigabitEthernet1/0/1 protocol tcp-simple destination-port 10002
healthcheck name isp1_health_02
 destination 3.3.10.12 interface GigabitEthernet1/0/2 protocol tcp-simple destination-port 10001
 destination 3.3.10.13 interface GigabitEthernet1/0/2 protocol tcp-simple destination-port 10002
healthcheck name isp2_health
 destination 9.9.20.20 interface GigabitEthernet1/0/7 protocol tcp-simple destination-port 10003
 destination 9.9.20.21 interface GigabitEthernet1/0/7 protocol tcp-simple destination-port 10004
#
interface GigabitEthernet1/0/1
 ip address 1.1.1.1 255.255.255.0
 gateway 1.1.1.254
 bandwidth ingress 50000
 bandwidth egress 50000
 healthcheck isp1_health_01
#
interface GigabitEthernet1/0/2
 ip address 1.1.2.2 255.255.255.0
 gateway 1.1.2.254
 bandwidth ingress 50000
 bandwidth egress 50000
 healthcheck isp1_health_02
#
interface GigabitEthernet1/0/3
 ip address 10.3.0.1 255.255.255.0
#
interface GigabitEthernet1/0/7
 ip address 2.2.2.2 255.255.255.0
 gateway 2.2.2.254
 bandwidth ingress 10000
 bandwidth egress 10000
 healthcheck isp2_health
#
 firewall zone trust
  set priority 85
  add interface GigabitEthernet1/0/3
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/1
 add interface GigabitEthernet1/0/2
 add interface GigabitEthernet1/0/7
#
sa
 user-defined-application name UD_tax_system
  rule name 1
   ip-address 8.8.8.8 32
   port 20001
#
interface-group 0 name ifgroup1
 add interface GigabitEthernet1/0/1
 add interface GigabitEthernet1/0/2
#
 multi-interface
  mode priority-of-userdefine
  add interface GigabitEthernet1/0/7
  add interface-group ifgroup1 priority 2
#
security-policy
 rule name policy_sec_local_untrust
  source-zone local
  destination-zone untrust
  destination-address 3.3.10.10 mask 255.255.255.255
  destination-address 3.3.10.11 mask 255.255.255.255
  destination-address 3.3.10.12 mask 255.255.255.255
  destination-address 3.3.10.13 mask 255.255.255.255
  destination-address 9.9.20.20 mask 255.255.255.255
  destination-address 9.9.20.21 mask 255.255.255.255
  service tcp 
  action permit      
 rule name policy_sec_trust_untrust
  source-zone trust
  destination-zone untrust
  source-address 10.3.0.0 mask 255.255.255.0
  action permit
#
policy-based-route
 rule name tax_system
  source-zone trust
  application app UD_tax_system
  action pbr egress-interface multi-interface
   mode priority-of-userdefine
   add interface GigabitEthernet1/0/7 priority 2
   add interface-group ifgroup1
#
return

类似文章