目 录

2  静态路由配置

2.1  静态路由简介

2.2  原理描述

2.2.1  静态路由基础

2.2.2  静态路由与BFD联动

2.2.3  静态路由与NQA联动

2.2.4  静态路由永久发布

2.3  应用场景

2.3.1  负载分担与路由备份

2.3.2  静态缺省路由的应用

2.4  配置任务概览

2.5  静态路由缺省配置

2.6  配置静态路由

2.6.1  配置IPv4静态路由

2.6.1.1  创建IPv4静态路由

2.6.1.2  (可选)配置IPv4静态路由的缺省优先级

2.6.1.3  (可选)静态路由按迭代深度优先选择

2.6.1.4  (可选)配置IPv4静态路由永久发布

2.6.1.5  检查配置结果

2.6.2  配置IPv4静态路由与静态BFD联动

2.6.3  配置IPv4静态路由与NQA联动

2.6.4  配置IPv6静态路由

2.6.4.1  创建IPv6静态路由

2.6.4.2  (可选)配置IPv6静态路由的缺省优先级

2.6.4.3  检查配置结果

2.7  配置举例

2.7.1  配置IPv4静态路由示例

2.7.2  配置IPv6静态路由示例

2.7.3  配置IPv4静态路由与BFD联动示例

2.7.4  配置IPv4静态路由与NQA联动示例

2.8  FAQ

2.8.1  配置静态路由与BFD联动,当bfd状态为AdminDown时,静态路由是否受影响

2.9  参考信息

2  静态路由配置

静态路由适用于结构比较简单的网络。合理的静态路由可以改进网络的性能,并可为重要的应用保证带宽。

2.1  静态路由简介

介绍静态路由的定义和目的。

定义

静态路由是一种需要管理员手工配置的特殊路由。

目的

静态路由在不同网络环境中有不同的目的:

  • 当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。

  • 在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。

  • 静态路由可在VPN实例中使用,主要用于VPN路由的管理。

2.2  原理描述

介绍静态路由的实现原理。

2.2.1  静态路由基础

路由器根据路由转发数据包,路由可通过手动配置和使用动态路由算法计算产生,其中手动配置产生的路由就是静态路由。

静态路由比动态路由使用更少的带宽,并且不占用CPU资源来计算和分析路由更新。但是当网络发生故障或者拓扑发生变化后,静态路由不会自动更新,必须手动重新配置。静态路由有5个主要的参数:目的地址和掩码、出接口和下一跳、优先级。

目的地址和掩码

IPv4的目的地址为点分十进制格式,掩码可以用点分十进制表示,也可用掩码长度(即掩码中连续‘1’的位数)表示。IPv6的目的地址和掩码请参见《配置指南-IP业务配置》中的“IPv6基础配置-原理描述-IPv6地址”。当目的地址和掩码都为零时,表示静态缺省路由。静态缺省路由具体应用参见“2.3.2 静态缺省路由的应用”。

出接口和下一跳地址

在配置静态路由时,根据不同的出接口类型,指定出接口和下一跳地址。

  • 对于点到点类型的接口,只需指定出接口。因为指定发送接口即隐含指定了下一跳地址,这时认为与该接口相连的对端接口地址就是路由的下一跳地址。如10GE封装PPP(Point-to-Point Protocol)协议,通过PPP协商获取对端的IP地址,这时可以不指定下一跳地址。

  • 对于NBMA(Non Broadcast Multiple Access)类型的接口(如ATM接口),只需配置下一跳。因为除了配置IP路由外,还需在链路层建立IP地址到链路层地址的映射。

  • 对于广播类型的接口(如以太网接口)和VT(Virtual-template)接口,必须指定通过该接口发送时对应的下一跳地址。因为以太网接口是广播类型的接口,而VT接口下可以关联多个虚拟访问接口(Virtual Access Interface),这都会导致出现多个下一跳,无法唯一确定下一跳。

静态路由优先级

对于不同的静态路由,可以为它们配置不同的优先级,优先级数字越小优先级越高。配置到达相同目的地的多条静态路由,如果指定相同优先级,则可实现负载分担;如果指定不同优先级,则可实现路由备份。具体应用参见“2.3.1 负载分担与路由备份”。

2.2.2  静态路由与BFD联动

与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。静态路由与BFD联动可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态,具体过程如下:

  • 当某条静态路由上的BFD会话检测到链路故障时,BFD会将故障上报系统,促使该路由失效,使该路由在IP路由表中不可见。

  • 当某条静态路由上的BFD会话检测到故障的链路重新建立成功时,BFD会上报系统,激活该路由,使该路由重新出现在IP路由表中。

说明:

BFD的详细介绍请参见《配置指南-可靠性配置》中的“BFD配置-原理描述”。

2.2.3  静态路由与NQA联动

静态路由本身并没有检测机制,如果非本机直连链路发生了故障,静态路由不会自动改变(不会从IP路由表中自动删除),需要管理员介入,这就无法保证及时进行链路切换,可能造成较长时间的业务中断。

基于以上原因,需要有一种有效的方案来检测静态路由所在的链路。对于静态路由而言,现有的静态路由与BFD联动特性,由于受到互通设备两端都必须支持BFD的限制,在某些应用场景无法实施。而静态路由与NQA(Network Quality Analysis)联动则只要求互通设备的其中一端支持NQA即可,并不要求两端都支持,且不受二层设备的限制。

静态路由与NQA联动特性即为静态路由绑定NQA测试例,利用NQA测试例来检测静态路由所在链路的状态,根据NQA的检测结果,决定静态路由是否活跃,达到避免通信的中断或服务质量降低的目的。静态路由与NQA联动特性的功能如下:
  • 如果NQA测试例检测到链路故障,路由器将这条静态路由设置为“非激活”状态(此条路由不可用,从IP路由表中删除)
  • 如果NQA测试例检测到链路恢复正常,路由器将这条静态路由设置为“激活”状态(此条路由可用,添加到IP路由表)
说明:

静态路由与NQA联动时仅采用ICMP测试例来检测源端到目的端的路由是否可达。

每条静态路由只可以绑定一个NQA测试例。

NQA的详细介绍请参见《配置指南-网络管理配置》中的“NQA配置-原理描述”。

应用

图2-1所示,每台接入交换机下连接10个用户,共100个用户。由于在RouterB和用户之间无法使用动态路由协议,所以在RouterB上配置到用户的静态路由。出于网络稳定性的考虑,在RouterC上进行同样的配置,作为冗余备份。RouterA、RouterB和RouterC上运行动态路由协议,相互间可以学习路由。其中,RouterB和RouterC配置动态路由协议引入静态路由,并且设置不同的度量值,这样RouterA也能通过动态路由协议从RouterB和RouterC分别学习到用户的路由,RouterA根据两条链路的度量值不同选择一条主用链路,另一条链路做为备份链路。

在RouterB上配置静态路由与NQA联动特性,利用NQA测试例检测主用链路RouterB→SwitchA→SwitchC(SwitchD)的状态,当主用链路发生故障时,撤销静态路由发布,使下行流量经无故障的链路RouterC→SwitchB→SwitchC(SwitchD)转发。在两条链路都正常时,控制下行流量优先选择主用链路。

图2-1  静态路由与NQA联动应用组网图

2.2.4  静态路由永久发布

静态路由永久发布可以为客户提供一种低成本、部署简单的链路检测机制,并提高与其他厂商设备的兼容性。在客户希望确定业务流量的转发路径,不希望流量从其它路径穿越时,静态路由永久发布可以通过Ping静态路由目的地址的方式来检测链路的有效性而达到业务监控的目的。

链路有效性直接影响网络的稳定性和可用性,因此链路状态的检测对网络维护具有重要意义。BFD作为一种常用方案,并不适合所有的场景。例如,在不同的ISP之间,客户更希望采用更简单、更自然的方式来达到这一目的。

配置永久发布属性后,之前无法发布的静态路由仍然被优选并添加到路由表中。具体可以分为以下两种情况:

  • 静态路由配置出接口且出接口的IP地址存在时,无论接口状态是Up或Down,只要配置了永久发布属性,静态路由都会被优选并添加到路由表。

  • 静态路由没有配置出接口时,无论静态路由是否能迭代到出接口,只要配置了永久发布属性,路由都会被优选并添加到路由表中。

这样,通过控制静态路由的优先级和前缀长度,使Ping数据包始终通过静态路由转发,就可以检测出链路的有效性。

注意:

该特性不判断路由是否可达而一直会将静态路由保留在IP路由表中,如果实际路径不可达,静态路由可能形成黑洞路由。

应用

图2-2所示,BR1、BR2和BR3分别属于ISP1、ISP2和ISP3。从BR1到BR2有两条链路(LinkA和LinkB)可达,但ISP1希望业务流量都通过LinkA直接转发到ISP2,而不从ISP3穿越。

图2-2  静态路由永久发布应用组网图

在BR1和BR2之间建立直连单跳EBGP邻居,同时为了进行业务状态监控,在BR1上配置到对端(BR2)BGP邻居地址(10.1.1.2/24)的静态路由(出接口为与BR2直连的本地接口),并使能路由永久发布。网络监控系统周期性的Ping 10.1.1.2,可通过Ping结果来判断LinkA的状态。

当LinkA正常时,Ping数据包都是通过LinkA进行转发。如果LinkA发生故障,即使能通过LinkB到达BR2,但由于静态路由使能了静态路由永久发布,所以Ping数据包还是通过LinkA进行转发,但此时转发不通。对于BGP数据包也是相同的情况,故障会导致BGP邻居断开,监控系统可以通过Ping结果间接的检测到业务问题,并通知维护人员及时响应。

2.3  应用场景

介绍静态路由的应用场景。

2.3.1  负载分担与路由备份

负载分担

配置到达相同目的地的多条静态路由,如果指定相同优先级,则可实现负载分担。

图2-3  负载分担

图2-3,从RouterA到RouterC有两条优先级相同的静态路由。两条路由都会出现在路由表上,同时进行数据的转发。

路由备份

配置到达相同目的地的多条静态路由,如果指定不同优先级,则可实现路由备份。

图2-4  路由备份

图2-4,从RouterA到RouterC有两条优先级不同的静态路由。下一跳是RouterB的静态路由B的优先级较高,该路由所在链路作为主链路。下一跳是RouterD的静态路由D的优先级较低,作为备份路由,该路由所在链路作为备份链路。
  • 在正常情况下,静态路由B被激活,主链路承担数据转发业务。静态路由D不在路由表中体现。
  • 在主链路上出现故障时,静态路由B在路由表中被删除,而静态路由D则作为备份路由被激活,备份链路承担数据转发业务。
  • 在主链路恢复正常后,静态路由B重新被激活,主链路承担数据转发业务。而静态路由D作为备份路由,在路由表中删除。因此这条备份路由也叫做浮动静态路由。

2.3.2  静态缺省路由的应用

缺省路由是目的地址全零的特殊路由,可以由路由协议自动生成,也可以由手动配置。手动配置缺省路由,可以简化网络的配置,称为静态缺省路由。如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择缺省路由来转发报文。

图2-5  静态路由组网图

图2-5中,如果不配置静态缺省路由,则需要在RouterA上配置到网络3、4、5的静态路由,在RouterB上配置到网络1、5的静态路由,在RouterC上配置到网络1、2、3的静态路由才能实现网络的互通。

如果配置缺省静态路由,因为RouterA发往3、4、5网络的报文下一跳都是RouterB,所以在RouterA上只需配置一条缺省路由,即可代替上个例子中通往3、4、5网络的3条静态路由。同理,RouterC也只需要配置一条到RouterB的缺省路由,即可代替上个例子中通往1、2、3网络的3条静态路由。

2.4  配置任务概览

配置静态路由可以准确地控制网络的路由选择。如果还需要静态路由的其他功能,还需要根据相应章节进行配置。

静态路由的配置任务如表2-1所示。

表2-1   静态路由配置任务概览

场景

描述

对应任务

配置静态路由

静态路由需要管理员手工配置,用于使结构简单的网络正常工作和保证负载网络中重要应用带宽。

配置静态路由与其他协议联动

在实际组网中,经常需要将静态路由与其他协议联动在一起工作,以提高网络的性能。

  • 静态路由与BFD联动:与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。静态路由与BFD联动特性可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态,实现毫秒级快速感知故障。

  • 静态路由与NQA(Network Quality Analysis)联动:在实际网络中,出于网络稳定性的考虑,通常要对链路状态进行实时检测,根据链路状态的变化进行链路的主备切换。常用的链路状态检测方案有ARP检测和BFD检测,也可以使用IGP收敛方案。但是在一些特殊的场合,上述方案均不适用,比如:
    • 如果仅仅需要检测网络中某一条链路的状况,不必对每个用户进行检测,这时不宜使用ARP检测。
    • 如果网络中存在不支持BFD检测的设备,无法使用BFD检测方案。
    • 如果链路的两端存在二层设备,这样就无法配置动态路由协议,无法使用IGP协议收敛的方案。
    而静态路由与NQA联动则只要求互通设备的其中一端支持NQA即可,并不要求两端都支持,且不受二层设备的限制,正好可以解决上述问题。在发生链路故障后,NQA测试例可以快速的检测到链路的变化,并且在IP路由表中把与该NQA测试例联动的静态路由删除,从而影响流量的转发。

2.5  静态路由缺省配置

介绍静态路由的缺省配置,实际应用的配置可以基于缺省配置进行修改。

静态路由的缺省配置如表2-2所示。

表2-2  静态路由缺省配置
参数 缺省值
路由优先级 60

2.6  配置静态路由

静态路由适用于结构比较简单的网络。合理的静态路由可以改进网络的性能,并可为重要的应用保证带宽。

2.6.1  配置IPv4静态路由

配置IPv4静态路由可以准确地控制网络的路由选择。

前置任务

在配置IPv4静态路由之前,需完成以下任务:

  • 配置接口的链路层协议参数和IP地址,使相邻节点网络层可达

配置流程

以下配置任务(不含检查配置结果)是并列关系,请根据实际组网情况选择配置。

2.6.1.1  创建IPv4静态路由

背景信息

在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
  • 对于点到点接口,指定出接口。

  • 对于NBMA(Non Broadcast Multiple Access)接口,指定下一跳。

  • 对于广播接口(如以太网接口)和VT(Virtual-template)接口,指定下一跳。

在创建相同目的地址的多条静态路由时,如果指定相同优先级,则可实现负载分担,如果指定不同优先级,则可实现路由备份。

在创建静态路由时,如果将目的地址与掩码配置为全零,则表示配置的是IPv4静态缺省路由。缺省情况下,没有创建IPv4静态缺省路由。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 配置IPv4静态路由。
    • 在公网上配置IPv4静态路由:ip route-static ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] | vpn-instance vpn-instance-name nexthop-address } [ preference preference | tag tag ] * [ description text ],或者ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ] [ preference preference | tag tag ] * ldp-sync [ description text ]
    • 在VPN实例中配置IPv4静态路由:ip route-static vpn-instance vpn-source-name destination-address { mask | mask-length } { nexthop-address [ public ] | interface-type interface-number [ nexthop-address ] | vpn-instance vpn-instance-name nexthop-address } [ preference preference | tag tag ] * [ description text ],或者ip route-static vpn-instance vpn-source-name destination-address { mask | mask-length } interface-type interface-number [ nexthop-address ] [ preference preference | tag tag ] * ldp-sync [ description text ]

    说明:

    在静态路由负载分担的场景中,如果需要指定以太网接口的静态路由和其他静态路由形成负载分担,必须指定出接口和下一跳。

2.6.1.2  (可选)配置IPv4静态路由的缺省优先级

背景信息

配置IPv4静态路由缺省优先级可以影响路由的选路顺序。在配置静态路由时,如果没有指定优先级,就会使用缺省优先级。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ip route-static default-preference preference,配置静态路由的缺省优先级。

    缺省情况下,静态路由的缺省优先级为60。

    说明:

    重新设置缺省优先级后,仅对新增的IPv4静态路由有效。

2.6.1.3  (可选)静态路由按迭代深度优先选择

背景信息

路由迭代是通过路由的下一跳信息来找到直连出接口的过程。迭代深度指路由迭代中查找路由的次数,次数越少迭代深度越小。

系统中会存在若干同一前缀但迭代深度不同的静态路由,迭代深度较小的路由稳定性较高。配置了基于迭代深度优选之后,系统会选择迭代深度较小的静态路由作为活跃路由,并下发FIB,其他路由为不活跃路由。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ip route-static selection-rule relay-depth,配置静态路由按迭代深度进行优先选择。

    缺省情况下,静态路由不按迭代深度进行优选。

2.6.1.4  (可选)配置IPv4静态路由永久发布

背景信息

链路有效性直接影响网络的稳定性和可用性,链路状态检测对网络维护具有重要意义。当用户希望确定业务流量的转发路径,不希望流量从其它路径穿越时,可以通过使用Ping方式来实现对业务转发链路状态的检测,以极低的代价达到业务监控的目的。

静态路由永久发布就是通过Ping静态路由目的地址的方式来检测链路的有效性。配置静态路由永久发布后,静态路由会一直生效,不受路由出接口状态的影响。这种情况下,系统只能通过指定路径转发Ping报文,而不会从其他路径绕行,从而真实反映指定路径的链路状态。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ip route-static ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] | vpn-instance vpn-instance-name nexthop-address } permanent,配置IPv4静态路由永久发布。

    缺省情况下,没有配置IPv4静态路由永久发布。

2.6.1.5  检查配置结果

操作步骤

  • 使用display ip routing-table命令查看IPv4路由表摘要信息。
  • 使用display ip routing-table verbose命令查看IPv4路由表详细信息。

2.6.2  配置IPv4静态路由与静态BFD联动

配置IPv4静态路由与静态BFD联动,可以快速感知从本地到路由目的地址的链路变化,提高网络可靠性。

前置任务

在配置IPv4静态路由与静态BFD联动之前,需完成以下任务:

  • 配置接口的链路层协议参数和IP地址,使相邻节点网络层可达

  • 配置BFD会话,请参见《Huawei AR150-S&160-S&200-S&1200-S&2200-S系列企业路由器 配置指南-可靠性》中的“BFD配置”

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ip route-static ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] } [ preference preference | tag tag ] * track bfd-session cfg-name [ description text ],为公网IPv4静态路由绑定静态BFD会话。

    说明:

    为静态路由绑定BFD会话的时候,请确保BFD会话和静态路由在同一链路上。

检查配置结果

完成配置后,可以按以下指导来检查配置结果。

  • 使用display bfd session all [ verbose ]命令查看BFD会话信息。

  • 使用display current-configuration | include bfd命令查看静态路由与BFD联动的配置。

2.6.3  配置IPv4静态路由与NQA联动

如果互通设备不支持BFD功能,可以配置IPv4静态路由与NQA联动,利用NQA测试例对链路状态进行检测,从而提高网络可靠性。

前置任务

在配置IPv4静态路由与NQA联动之前,需完成以下任务:

  • 配置接口的链路层协议参数,使接口的链路协议状态为Up。

操作步骤

  1. 配置ICMP类型的NQA测试例
    1. 执行命令system-view,进入系统视图。
    2. 执行命令nqa test-instance admin-name test-name,建立NQA测试例,并进入测试例视图。
    3. 执行命令test-type icmp,配置测试例类型为ICMP。

      说明:

      静态路由与NQA联动时仅采用ICMP测试例来检测源端到目的端的路由是否可达。

    4. 执行命令destination-address ipv4 ip-address,配置目的地址。

      对于测试例而言,指定服务器端是通过destination-address命令配置NQA测试例的目的地址来实现的。

    5. (可选)执行命令frequency interval,配置NQA测试例的自动执行测试间隔。缺省情况下,没有配置自动测试间隔,即只进行一次测试。
    6. (可选)执行命令probe-count number,配置NQA测试例一次测试的探针数目。缺省情况下,测试探针数目是3。

      通过多次发送NQA测试例的测试探针,可以根据统计数据更加准确的评估网络质量。

    7. 执行命令start,启动NQA测试。

      命令start有立即启动测试例、在指定时刻启动测试例以及延迟指定时间后启动测试例以种启动方式,请根据实际需要进行选择。
      • 执行命令start now [ end { at [ yyyy/mm/dd ] hh:mm:ss | delay { seconds second | hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ],立即启动测试例。

      • 执行命令start at [ yyyy/mm/dd ] hh:mm:ss [ end { at [ yyyy/mm/dd ] hh:mm:ss | delay { seconds second | hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ],在指定时刻启动测试例。

      • 执行命令start delay { seconds second | hh:mm:ss } [ end { at [ yyyy/mm/dd ] hh:mm:ss | delay { seconds second | hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ],延迟指定时间后启动测试例。

    8. 执行命令quit,返回系统视图。
  2. 配置静态路由与NQA测试例联动
    1. 执行命令ip route-static ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] } [ preference preference | tag tag ] * track nqa admin-name test-name [ description text ],配置IPv4静态路由与NQA测试例联动。

      说明:

      配置静态路由与NQA测试例联动时,NQA测试例的目的地址不能和检测的静态路由的目的地址相同。

      配置同一条静态路由与其它NQA测试例联动时,会解除与前一个NQA测试例的联动关系。

检查配置结果

完成配置后,可以按以下指导来检查配置结果。

  • 使用display current-configuration | include nqa命令查看静态路由与NQA联动的配置。

  • 使用display nqa results [ collection ] [ test-instance admin-name test-name ]命令查看NQA测试结果。

    NQA测试不会在终端自动显示测试结果,必须使用display nqa results命令查看测试结果。缺省情况下只能显示最近5次的测试结果。

2.6.4  配置IPv6静态路由

配置IPv6静态路由可以准确地控制网络的路由选择。

前置任务

在配置IPv6静态路由之前,需完成以下任务:

  • 配置接口的链路层协议参数和IPv6地址,使相邻节点网络层可达

配置流程

以下配置任务(不含检查配置结果)是并列关系,请根据实际组网情况选择配置。

2.6.4.1  创建IPv6静态路由

背景信息

在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
  • 对于点到点接口,指定出接口。

  • 对于NBMA(Non Broadcast Multiple Access)接口,指定下一跳。

  • 对于广播类型接口,指定出接口。如果也指定下一跳,下一跳地址可以不是链路本地地址。

在创建相同目的地址的多条静态路由时,如果指定相同优先级,则可实现负载分担,如果指定不同优先级,则可实现路由备份。

在创建静态路由时,如果将目的地址与掩码配置为全零,则表示配置的是IPv6静态缺省路由。缺省情况下,没有创建IPv6静态缺省路由。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 配置IPv6静态路由。
    • 在公网上配置IPv6静态路由:ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | nexthop-ipv6-address } [ preference preference | tag tag ] * [ description text ]
    • 在VPN实例中配置IPv6静态路由:ipv6 route-static vpn-instance vpn-instance-name dest-ipv6-address prefix-length { [ interface-type interface-number ] nexthop-ipv6-address | nexthop-ipv6-address [ public ] | vpn-instance vpn-destination-name nexthop-ipv6-address } [ preference preference | tag tag ] * [ description text ]

    说明:

    在静态路由负载分担的场景中,如果需要指定以太网接口的静态路由和其他静态路由形成负载分担,必须指定出接口和下一跳。

2.6.4.2  (可选)配置IPv6静态路由的缺省优先级

背景信息

配置IPv6静态路由缺省优先级可以影响路由的选路顺序。在配置静态路由时,如果没有指定优先级,就会使用缺省优先级。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ipv6 route-static default-preference preference,配置IPv6静态路由的缺省优先级。

    缺省情况下,静态路由的缺省优先级为60。重新设置缺省优先级后,仅对新增的IPv6静态路由有效。

2.6.4.3  检查配置结果

操作步骤

  • 使用display ipv6 routing-table命令查看IPv6路由表摘要信息。
  • 使用display ipv6 routing-table verbose命令查看IPv6路由表详细信息。

2.7  配置举例

静态路由各特性对应的配置举例。配置举例包括组网需求、组网图、配置注意事项、配置思路和配置步骤。

2.7.1  配置IPv4静态路由示例

组网需求

属于不同网段的主机通过几台Router相连,要求不配置动态路由协议,实现不同网段的任意两台主机之间能够互通。

图2-6  配置IP静态路由组网图

配置思路

采用如下的思路配置IPv4静态路由:

  1. 配置各路由器接口的IP地址,实现设备网络互通。
  2. 在各主机上配置IP缺省网关,在各台路由器上配置IP静态路由及缺省路由,实现不配置动态路由协议,使不同网段的任意两台主机之间能够互通。

操作步骤

  1. 配置各路由器接口的IP地址

    # 在RouterA上配置接口IP地址。

    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 1.1.4.1 30
    [RouterA-GigabitEthernet1/0/0] quit
    [RouterA] interface gigabitethernet 2/0/0
    [RouterA-GigabitEthernet2/0/0] ip address 1.1.1.1 24

    RouterB和RouterC的配置与RouterA类似(略)。

  2. 配置静态路由

    # 在RouterA上配置IPv4缺省路由。

    [RouterA] ip route-static 0.0.0.0 0.0.0.0 1.1.4.2

    # 在RouterB上配置两条IPv4静态路由。

    [RouterB] ip route-static 1.1.1.0 255.255.255.0 1.1.4.1
    [RouterB] ip route-static 1.1.3.0 255.255.255.0 1.1.4.6

    # 在RouterC上配置IPv4缺省路由。

    [RouterC] ip route-static 0.0.0.0 0.0.0.0 1.1.4.5

  3. 配置主机

    配置主机PC1的缺省网关为1.1.1.1,主机PC2的缺省网关为1.1.2.1,主机PC3的缺省网关为1.1.3.1。

  4. 查看配置结果

    # 显示RouterA的IP路由表。

    [RouterA] display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 11        Routes : 11
    
    
    Destination/Mask    Proto  Pre  Cost   Flags    NextHop         Interface
    
    
            0.0.0.0/0   Static 60   0        RD       1.1.4.2         GigabitEthernet1/0/0
            1.1.1.0/24  Direct 0    0         D       1.1.1.1         GigabitEthernet2/0/0
            1.1.1.1/32  Direct 0    0         D       127.0.0.1       GigabitEthernet2/0/0
          1.1.1.255/32  Direct 0    0         D       127.0.0.1       GigabitEthernet2/0/0
            1.1.4.0/30  Direct 0    0         D       1.1.4.1         GigabitEthernet1/0/0
            1.1.4.1/32  Direct 0    0         D       127.0.0.1       GigabitEthernet1/0/0
          1.1.4.255/32  Direct 0    0         D       127.0.0.1       GigabitEthernet1/0/0
          127.0.0.0/8   Direct 0    0         D       127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct 0    0         D       127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct 0    0         D       127.0.0.1       InLoopBack0
    255.255.255.255/32  Direct 0    0         D       127.0.0.1       InLoopBack0

    # 使用Ping命令验证连通性。

    [RouterA] ping 1.1.3.1
      PING 1.1.3.1: 56  data bytes, press CTRL_C to break
        Reply from 1.1.3.1: bytes=56 Sequence=1 ttl=254 time=62 ms
        Reply from 1.1.3.1: bytes=56 Sequence=2 ttl=254 time=63 ms
        Reply from 1.1.3.1: bytes=56 Sequence=3 ttl=254 time=63 ms
        Reply from 1.1.3.1: bytes=56 Sequence=4 ttl=254 time=62 ms
        Reply from 1.1.3.1: bytes=56 Sequence=5 ttl=254 time=62 ms
    
    
      --- 1.1.3.1 ping statistics ---
        5 packet(s) transmitted
        5 packet(s) received
        0.00% packet loss
        round-trip min/avg/max = 62/62/63 ms

    # 使用Tracert命令验证连通性。

    [RouterA] tracert 1.1.3.1
     traceroute to  1.1.3.1(1.1.3.1), max hops: 30 ,packet length: 40,press CTRL_C to break
     1 1.1.4.2 31 ms  32 ms  31 ms
     2 1.1.4.6 62 ms  63 ms  62 ms

配置文件

  • RouterA的配置文件

    #
     sysname RouterA
    #
    interface GigabitEthernet2/0/0
     ip address 1.1.1.1 255.255.255.0
    #
    interface GigabitEthernet1/0/0
     ip address 1.1.4.1 255.255.255.252
    #
    ip route-static 0.0.0.0 0.0.0.0 1.1.4.2
    #
    return
  • RouterB的配置文件

    #
     sysname RouterB
    #
    interface GigabitEthernet1/0/0
     ip address 1.1.4.2 255.255.255.252
    #
    interface GigabitEthernet2/0/0
     ip address 1.1.4.5 255.255.255.252
    #
    interface GigabitEthernet3/0/0
     ip address 1.1.2.1 255.255.255.0
    #
    ip route-static 1.1.1.0 255.255.255.0 1.1.4.1
    ip route-static 1.1.3.0 255.255.255.0 1.1.4.6
    #
    return
  • RouterC的配置文件

    #
     sysname RouterC
    #
    interface GigabitEthernet2/0/0
     ip address 1.1.3.1 255.255.255.0
    #
    interface GigabitEthernet1/0/0
     ip address 1.1.4.6 255.255.255.252
    #
    ip route-static 0.0.0.0 0.0.0.0 1.1.4.5
    #
    return

2.7.2  配置IPv6静态路由示例

组网要求

IPv6网络中属于不同网段的主机通过几台Router相连,要求不配置动态路由协议,实现不同网段的任意两台主机之间能够互通。

图2-7  配置IPv6静态路由组网图

配置思路

采用如下的思路配置IPv6静态路由:

  1. 配置各接口的IPv6地址,实现设备网络互通。
  2. 在各主机上配置IPv6缺省网关,在各台Router上配置IP静态路由及缺省路由,实现不配置动态路由协议,使不同网段的任意两台主机之间能够互通。

操作步骤

  1. 配置各路由器接口的IPv6地址

    # 在RouterA上配置IPv6地址。

    [RouterA] ipv6
    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ipv6 enable
    [RouterA-GigabitEthernet1/0/0] ipv6 address 10::1/64
    [RouterA-GigabitEthernet1/0/0] quit
    [RouterA] interface gigabitethernet 2/0/0
    [RouterA-GigabitEthernet2/0/0] ipv6 enable
    [RouterA-GigabitEthernet2/0/0] ipv6 address 1::1/64

    RouterB和RouterC的配置同RouterA此处略。

  2. 配置IPv6静态路由

    # 在RouterA上配置IPv6缺省路由。

    [RouterA] ipv6 route-static :: 0 gigabitethernet 1/0/0 10::2

    # 在RouterB上配置两条IPv6静态路由。

    [RouterB] ipv6 route-static 1:: 64 gigabitethernet 1/0/0 10::1
    [RouterB] ipv6 route-static 3:: 64 gigabitethernet 2/0/0 20::2

    # 在RouterC上配置IPv6缺省路由。

    [RouterC] ipv6 route-static :: 0 gigabitethernet 1/0/0 20::1

  3. 配置主机地址和网关

    根据组网图配置好各主机的IPv6地址,并将PC1的缺省网关配置为1::1,PC2的缺省网关配置为2::1,主机3的缺省网关配置为3::1。

  4. 查看配置结果

    # 查看RouterA的IPv6路由表。

    [RouterA] display ipv6 routing-table
    Routing Table : Public
             Destinations : 5        Routes : 5
    
     Destination  : ::                              PrefixLength : 0
     NextHop      : 10::2                           Preference   : 60
     Cost         : 0                               Protocol     : Static
     RelayNextHop : ::                              TunnelID     : 0x0
     Interface    : GigabitEthernet1/0/0            Flags        : D
    
     Destination  : ::1                             PrefixLength : 128
     NextHop      : ::1                             Preference   : 0
     Cost         : 0                               Protocol     : Direct
     RelayNextHop : ::                              TunnelID     : 0x0
     Interface    : InLoopBack0                     Flags        : D
    
     Destination  : 1::                             PrefixLength : 64
     NextHop      : 1::1                            Preference   : 0
     Cost         : 0                               Protocol     : Direct
     RelayNextHop : ::                              TunnelID     : 0x0
     Interface    : GigabitEthernet2/0/0            Flags        : D
    
     Destination  : 1::1                            PrefixLength : 128
     NextHop      : ::1                             Preference   : 0
     Cost         : 0                               Protocol     : Direct
     RelayNextHop : ::                              TunnelID     : 0x0
     Interface    : GigabitEthernet2/0/0            Flags        : D
    
     Destination  : FE80::                          PrefixLength : 10
     NextHop      : ::                              Preference   : 0
     Cost         : 0                               Protocol     : Direct
     RelayNextHop : ::                              TunnelID     : 0x0
     Interface    : NULL0                           Flags        : D

    # 使用Ping进行验证。

    [RouterA] ping ipv6 3::1
      PING 3::1 : 56  data bytes, press CTRL_C to break
        Reply from 3::1
        bytes=56 Sequence=1 hop limit=64  time = 63 ms
        Reply from 3::1
        bytes=56 Sequence=2 hop limit=64  time = 62 ms
        Reply from 3::1
        bytes=56 Sequence=3 hop limit=64  time = 62 ms
        Reply from 3::1
        bytes=56 Sequence=4 hop limit=64  time = 63 ms
        Reply from 3::1
        bytes=56 Sequence=5 hop limit=64  time = 63 ms
    
    
      --- 3::1 ping statistics ---
        5 packet(s) transmitted
        5 packet(s) received
        0.00% packet loss
        round-trip min/avg/max = 62/62/63 ms

    # 使用Tracert进行验证。

    [RouterA] tracert ipv6 3::1
    traceroute to 3::1  30 hops max,60 bytes packet
     1 10::2 11 ms  3 ms  4 ms
     2 3::1 4 ms  3 ms  3 ms

配置文件

  • RouterA的配置文件

    #
     sysname RouterA
    #
    ipv6
    #
    interface GigabitEthernet1/0/0
     ipv6 enable 
     ipv6 address 10::1/64
    #
    interface GigabitEthernet2/0/0
     ipv6 enable 
     ipv6 address 1::1/64
    #
    ipv6 route-static :: 0 GigabitEthernet1/0/0 10::2
    #
    return
  • RouterB的配置文件

    #
     sysname RouterB
    #
    ipv6
    #
    interface GigabitEthernet0/0/0
     ipv6 enable 
     ipv6 address 2::1/64
    #
    interface GigabitEthernet1/0/0
     ipv6 enable 
     ipv6 address 10::2/64
    #
    interface GigabitEthernet2/0/0
     ipv6 enable 
     ipv6 address 20::1/64
    #
    ipv6 route-static 1:: 64 GigabitEthernet1/0/0 10::1
    ipv6 route-static 3:: 64 GigabitEthernet2/0/0 20::2
    #
    return
  • RouterC的配置文件

    #
     sysname RouterC
    #
    ipv6
    #
    interface GigabitEthernet1/0/0
     ipv6 enable 
     ipv6 address 20::2/64
    #
    interface GigabitEthernet2/0/0
     ipv6 enable 
     ipv6 address 3::1/64
    #
    ipv6 route-static :: 0 GigabitEthernet1/0/0 20::1
    #
    return

2.7.3  配置IPv4静态路由与BFD联动示例

组网需求

图2-8所示,RouterA通过RouterB与外部网络相连,其中RouterA与RouterB之间通过SwitchC互连。要求RouterA能与外部网络正常通信,并在RouterA和RouterB之间实现毫秒级故障感知,提高收敛速度。

图2-8  配置IPv4静态路由与静态BFD联动组网图

配置思路

采用如下思路配置IPv4静态路由与BFD联动:

  1. 配置各路由器接口的IP地址,实现设备网络互通。

  2. 在RouterA和RouterB上配置BFD会话,实现RouterA和RouterB之间的毫秒级故障感知。

  3. 在RouterA上配置通向外部网络的缺省路由,并将此缺省路由与配置的BFD会话联动,实现快速检测链路故障,提高路由的收敛速度。

操作步骤

  1. 配置各路由器接口IP地址

    # 在RouterA上配置接口的IP地址。

    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 1.1.1.1 24
    [RouterA-GigabitEthernet1/0/0] quit

    RouterB的配置与RouterA一致(略)。

  2. 配置RouterA和RouterB之间的BFD会话

    # 在RouterA上配置与RouterB之间的BFD会话。

    [RouterA] bfd
    [RouterA-bfd] quit
    [RouterA] bfd aa bind peer-ip 1.1.1.2
    [RouterA-bfd-session-aa] discriminator local 10
    [RouterA-bfd-session-aa] discriminator remote 20
    [RouterA-bfd-session-aa] commit
    [RouterA-bfd-session-aa] quit

    # 在RouterB上配置与RouterA之间的BFD Session。

    [RouterB] bfd
    [RouterB-bfd] quit
    [RouterB] bfd bb bind peer-ip 1.1.1.1
    [RouterB-bfd-session-bb] discriminator local 20
    [RouterB-bfd-session-bb] discriminator remote 10
    [RouterB-bfd-session-bb] commit
    [RouterB-bfd-session-bb] quit

  3. 配置静态缺省路由并绑定BFD会话

    # 在RouterA上配置到外部网络的静态缺省路由,并绑定BFD会话aa。

    [RouterA] ip route-static 0.0.0.0 0 1.1.1.2 track bfd-session aa

  4. 验证配置结果

    # 配置完成后,在RouterA和RouterB上执行display bfd session all命令,可以看到BFD会话已经建立,且状态为Up。在系统视图下执行display current-configuration | include bfd命令,可以看到静态路由已经绑定BFD会话。

    RouterA上的显示为例。

    [RouterA] display bfd session all
    --------------------------------------------------------------------------------
    Local  Remote PeerIpAddr      State     Type      InterfaceName
    --------------------------------------------------------------------------------
    10    20     1.1.1.2         Up        S_IP_PEER   -
    --------------------------------------------------------------------------------
         Total UP/DOWN Session Number : 1/0
    [RouterA] display current-configuration | include bfd
    bfd
    bfd aa bind peer-ip 1.1.1.2
    ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 track bfd-session aa 

    # 在RouterA上查看IP路由表,静态路由存在于路由表中。

    [RouterA] display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 3        Routes : 3
    
    
    Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface
    
    
            0.0.0.0/0   Static 60   0          RD  1.1.1.2         GigabitEthernet1/0/0
            1.1.1.0/24  Direct 0    0           D  1.1.1.1         GigabitEthernet1/0/0
            1.1.1.1/32  Direct 0    0           D  127.0.0.1       GigabitEthernet1/0/0
          1.1.1.255/32  Direct 0    0           D  127.0.0.1       GigabitEthernet1/0/0
          127.0.0.0/8   Direct 0    0           D  127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct 0    0           D  127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct 0    0           D  127.0.0.1       InLoopBack0
    255.255.255.255/32  Direct 0    0           D  127.0.0.1       InLoopBack0

    # 对RouterB的接口GE1/0/0执行shutdown命令模拟链路故障。

    [RouterB] interface gigabitethernet 1/0/0
    [RouterB-GigabitEthernet1/0/0] shutdown

    # 查看RouterA的路由表,发现除了直连路由,静态缺省路由0.0.0.0/0也不存在了。因为静态缺省路由绑定了BFD会话,当BFD检测到故障后,就会迅速通知所绑定的静态路由不可用。如果未配置静态路由绑定BFD会话,静态缺省路由0.0.0.0/0不会从路由表删除,可能会造成流量损失。

    [RouterA] display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 2        Routes : 2
    
    
    Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface
    
    
            1.1.1.0/24  Direct 0    0           D  1.1.1.1         GigabitEthernet1/0/0
            1.1.1.1/32  Direct 0    0           D  127.0.0.1       GigabitEthernet1/0/0
          1.1.1.255/32  Direct 0    0           D  127.0.0.1       GigabitEthernet1/0/0
          127.0.0.0/8   Direct 0    0           D  127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct 0    0           D  127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct 0    0           D  127.0.0.1       InLoopBack0
    255.255.255.255/32  Direct 0    0           D  127.0.0.1       InLoopBack0

配置文件

  • RouterA的配置文件

    #
     sysname RouterA
    #
     bfd
    #
    interface GigabitEthernet1/0/0
     ip address 1.1.1.1 255.255.255.0
    #
    bfd aa bind peer-ip 1.1.1.2
     discriminator local 10
     discriminator remote 20
     commit
    #
     ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 track bfd-session aa
    #
    return
  • RouterB的配置文件

    #
     sysname RouterB
    #
     bfd
    #
    interface GigabitEthernet1/0/0
     ip address 1.1.1.2 255.255.255.0
    #
    interface GigabitEthernet2/0/0
     ip address 2.2.2.2 255.255.255.0
    #
    bfd bb bind peer-ip 1.1.1.1
     discriminator local 20
     discriminator remote 10
     commit
    #
    return

2.7.4  配置IPv4静态路由与NQA联动示例

组网需求

图2-9所示,在RouterA上配置了多条静态路由可以使报文能够从RouterA转发给用户。现在为了提高链路的可靠性,在接入交换机不支持BFD的情况下要求当链路正常时,RouterA发送的报文由主链路RouterA→RouterB→Switch→用户。当主链路出现故障后,报文能够切换到备用链路RouterA→RouterC→Switch→用户进行转发。

图2-9  配置静态路由与NQA联动组网图

配置思路

为了提高链路的可靠性需要在设备上部署一种链路检测机制来实时检测链路的状态,然后再将检测结果与路由状态关联。但由于接入交换机不支持BFD功能,所以当前可以配置IPv4静态路由与NQA联动来满足要求。采用如下思路配置IPv4静态路由与NQA联动:

  1. 在各路由器上配置IP地址以及在RouteA、RouterB和RouterC上配置到Client1(以Client1举例代替所有用户)的静态路由,其中在RouterA配置的静态路由为两条,且下一跳为RouterB的静态路由优先级高于下一跳为RouterC的静态路由,使得RouteA发送到Client1的报文有主备两条静态路由可达。

  2. 在RouterA与SwitchA之间的主链路上建立ICMP类型的NQA测试例,并且将在RouterA配置的下一跳为RouterB的静态路由与NQA测试例联动,从而达到快速感知链路故障,实现业务的切换的目的。
说明:

静态路由与NQA联动时仅采用ICMP测试例来检测源端到目的端的路由是否可达。

操作步骤

  1. 配置各路由器的IP地址

    # 配置RouterA各接口的IP地址。

    [RouterA] interface gigabitEthernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 172.16.3.1 24
    [RouterA-GigabitEthernet1/0/0] quit
    [RouterA] interface gigabitEthernet 2/0/0
    [RouterA-GigabitEthernet2/0/0] ip address 172.16.4.1 24
    [RouterA-GigabitEthernet2/0/0] quit

    RouterB和RouterC的配置与RouterA一致(略)。

  2. 在RouteA、RouterB和RouterC上配置到Client1(以Client1举例代替所有用户)的静态路由

    # 在RouterA上配置到Client1的两条静态路由,其中下一跳为RouterC的静态路由优先级为100。

    [RouterA] ip route-static 172.16.7.0 255.255.255.0 172.16.3.2
    [RouterA] ip route-static 172.16.7.0 255.255.255.0 172.16.4.2 preference 100

    # 在RouterB上配置到Client1的静态路由。

    [RouterB] ip route-static 172.16.7.0 255.255.255.0 172.16.1.2

    # 在RouterC上配置到Client1的静态路由。

    [RouterC] ip route-static 172.16.7.0 255.255.255.0 172.16.6.2

  3. RouterA上配置RouterA和SwitchA之间主链路上的NQA测试例

    [RouterA] nqa test-instance aa bb
    [RouterA-nqa-aa-bb] test-type icmp
    [RouterA-nqa-aa-bb] destination-address ipv4 172.16.1.2
    [RouterA-nqa-aa-bb] frequency 3
    [RouterA-nqa-aa-bb] probe-count 1
    [RouterA-nqa-aa-bb] start now
    [RouterA-nqa-aa-bb] quit

  4. 在RouterA上配置下一跳为RouterB的静态路由与NQA测试例联动。

    [RouterA] ip route-static 172.16.7.0 255.255.255.0 172.16.3.2 track nqa aa bb

  5. 验证配置结果

    配置完成后,在RouterA上执行display current-configuration | include nqa命令,可以看到下一跳为RouterB的静态路由已经绑定NQA测试例。执行display nqa results命令,可以看到NQA测试例已经建立。

    [RouterA] display current-configuration | include nqa
     ip route-static 172.16.7.0 255.255.255.0 172.16.3.2 track nqa aa bb
    nqa test-instance aa bb
    

    # 在RouterA上执行display nqa results命令查看NQA测试结果。可以看到“Lost packet ratio: 0 %”,这说明链路状态完好。

    [RouterA] display nqa results test-instance aa bb
     NQA entry(aa, bb) :testflag is active ,testtype is icmp
      1 . Test 1987 result   The test is finished
       Send operation times: 1              Receive response times: 1
       Completion:success                   RTD OverThresholds number: 0
       Attempts number:1                    Drop operation number:0
       Disconnect operation number:0        Operation timeout number:0
       System busy operation number:0       Connection fail number:0
       Operation sequence errors number:0   RTT Status errors number:0
       Destination ip address:172.16.1.2
       Min/Max/Average Completion Time: 120/120/120
       Sum/Square-Sum  Completion Time: 120/14400
       Last Good Probe Time: 2012-01-06 19:14:57.5
       Lost packet ratio: 0 %
    

    # 查看RouterA的路由表,可以看到下一跳为RouterB的静态路由存在于路由表中。

    [RouterA] display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 11        Routes : 11
    
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
         172.16.3.0/24  Direct  0    0           D   172.16.3.1      GigabitEthernet1/0/0
         172.16.3.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/0
       172.16.3.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/0
         172.16.4.0/24  Direct  0    0           D   172.16.4.1      GigabitEthernet2/0/0
         172.16.4.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet2/0/0
       172.16.4.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet2/0/0
         172.16.7.0/24  Static  60   0           D   172.16.3.2      GigabitEthernet1/0/0
    255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    

    可以看到有一条到172.16.7.0/24的路由,下一跳指向172.16.3.2,因此报文会从主链路进行转发。

    # 关闭RouterB的GE1/0/0接口,模拟链路故障。

    [RouterB] interface gigabitEthernet 1/0/0
    [RouterB-GigabitEthernet1/0/0] shutdown
    [RouterB-GigabitEthernet1/0/0] quit

    # 查看NQA测试结果。可以看到“Lost packet ratio: 100 %”,这说明链路发生了故障。

    [RouterA] display nqa results test-instance aa bb
     NQA entry(aa, bb) :testflag is active ,testtype is icmp
      1 . Test 2086 result   The test is finished
       Send operation times: 1              Receive response times: 0
       Completion:failed                    RTD OverThresholds number: 0
       Attempts number:1                    Drop operation number:1
       Disconnect operation number:0        Operation timeout number:0
       System busy operation number:0       Connection fail number:0
       Operation sequence errors number:0   RTT Status errors number:0
       Destination ip address:172.16.1.2
       Min/Max/Average Completion Time: 0/0/0
       Sum/Square-Sum  Completion Time: 0/0
       Last Good Probe Time: 0000-00-00 00:00:00.0
       Lost packet ratio: 100 %
    

    # 查看RouterA的路由表。

    [RouterA] display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 11        Routes : 11
    
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
         172.16.3.0/24  Direct  0    0           D   172.16.3.1      GigabitEthernet1/0/0
         172.16.3.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/0
       172.16.3.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet1/0/0
         172.16.4.0/24  Direct  0    0           D   172.16.4.1      GigabitEthernet2/0/0
         172.16.4.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet2/0/0
       172.16.4.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet2/0/0
         172.16.7.0/24  Static  100  0           D   172.16.4.2      GigabitEthernet2/0/0
    255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    

    由以上回显信息可以看出,通往目的网段172.16.7.0/24的路由下一跳指向172.16.4.2。这是因为NQA检测到主链路发生故障后,就通知RouterA通往172.16.7.0/24的静态路由不可用,从而报文切换到备用链路进行转发。

配置文件

  • RouterA的配置文件

    #
     sysname RouterA
    #
    interface GigabitEthernet1/0/0
     ip address 172.16.3.1 255.255.255.0
    #
    interface GigabitEthernet2/0/0
     ip address 172.16.4.1 255.255.255.0
    #
    ip route-static 172.16.7.0 255.255.255.0 172.16.3.2 track nqa aa bb
    ip route-static 172.16.7.0 255.255.255.0 172.16.4.2 preference 100
    #
    nqa test-instance aa bb
     test-type icmp
     destination-address ipv4 172.16.1.2
     frequency 3
     probe-count 1
     start now
    #
    return
  • RouterB的配置文件

    #
     sysname RouterB
    #
    interface GigabitEthernet1/0/0
     ip address 172.16.1.1 255.255.255.0
    #
    interface GigabitEthernet2/0/0
     ip address 172.16.3.2 255.255.255.0
    #
    interface GigabitEthernet3/0/0
     ip address 172.16.5.1 255.255.255.0
    #
    ip route-static 172.16.7.0 255.255.255.0 172.16.1.2
    #
    return
  • RouterC的配置文件

    #
     sysname RouterC
    #
    interface GigabitEthernet1/0/0
     ip address 172.16.2.1 255.255.255.0
    #
    interface GigabitEthernet2/0/0
     ip address 172.16.4.2 255.255.255.0
    #
    interface GigabitEthernet3/0/0
     ip address 172.16.6.1 255.255.255.0
    #
    ip route-static 172.16.7.0 255.255.255.0 172.16.6.2
    #
    return

2.8  FAQ

介绍用户在配置过程中常问的问题,给出相应的解答。

2.8.1  配置静态路由与BFD联动,当bfd状态为AdminDown时,静态路由是否受影响

静态路由不受影响,只有当bfd检测到链路故障时,该静态路由才会无效。

2.9  参考信息

介绍静态路由的参考标准和协议。