一、路由策略简介


路由策略是通过一系列工具或方法对路由进行各种控制的“策略”。该策略能够影响到路由产生、发布、选择等,进而影响报文的转发路径。工具包括ACL、route-policy、ip-prefix、filter-policy等,方法包括对路由进行过滤,设置路由的属性等。

作用
在IP网络中,路由策略的用途主要包括两个方面:对路由信息进行过滤和修改路由的属性,如下表所示。

作用 执行过程 结果
对路由信息进行过滤 如果某条路由符合某种条件,那么就接收这条路由。
如果某条路由符合某种条件,那么就发布这条路由。
如果某条路由符合某种条件,那么就引入这条路由。
要不要这条路由?
修改路由的属性 如果某条路由符合某种条件,那么将这条路由的某个属性值修改为一个特定值。 将这条路由的某个属性值修改为一个特定值。

通过路由策略对路由信息进行过滤
image.png
如上图所示,SwitchA属于双上行的组网结构,SwitchA会从SwitchB和SwitchC那里分别接收到路由。如果SwitchA仅希望接收来自SwitchB的路由,而不希望接收来自SwitchC的路由。这种情况下就可以考虑在SwitchA上配置路由策略,允许来自SwitchB的路由,拒绝来自SwitchC的路由。

通过路由策略修改路由的属性
image.png
如上图所示,SwitchA也是双上行的网络结构,但是,由于SwitchB这边的链路稳定性更好一点,带宽更大一点,因此用户想用SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,当主用链路故障的时候流量自动切换至备用链路。这种场景下,可以使用路由策略,将来自SwitchB这边的路由开销值调小,将来自SwitchC这边的路由开销值调大,这样流量就会自动选取SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,实现路由的主备份。 :::success 医疗_病历收藏.png 路由策略具有以下价值:

  • 控制路由的接收、发布和引入,提高网络安全性。
  • 修改路由属性,对网络数据流量进行合理规划,提高网络性能。
  • 解决次优路径
  • 解决路由回馈和路由环路
  • 保证有冗余路径 :::

二、路由策略原理


2.1 路由策略的实现机制

:::success 医疗_病历收藏.png 过滤器
路由策略的核心内容是过滤器,通过使用过滤器,可以定义一组匹配规则。交换机提供了以下几种过滤器供路由策略使用。 ::: 过滤器的比较

过滤器 应用范围 匹配条件
访问控制列表(ACL) 各动态路由协议 入接口、源或目的地址、协议类型、源或目的端口号
地址前缀列表(IP-Prefix List) 各动态路由协议 源地址、目的地址、下一跳
AS路径过滤器(AS-Path-Filter) BGP协议 AS路径属性
团体属性过滤器
(Community-Filter)
BGP协议 团体属性
扩展团体属性过滤器(Extcommunity-Filter) VPN 扩展团体属性
RD属性过滤器(Route Distinguisher-Filter) VPN RD属性
Route-Policy 各动态路由协议 目的地址、下一跳、度量值、接口信息、路由类型、ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器等

其中,ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器只能对路由进行过滤,不能修改通过过滤的路由的属性。而Route-Policy是一种综合过滤器,它可以使用ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器这六种过滤器作为匹配条件来对路由进行过滤,并且可以修改通过过滤的路由的属性。

访问控制列表(ACL)
访问控制列表ACL是一系列过滤规则的集合,可以称之为规则组。在每个规则组中,所有过滤规则是具有前后顺序的。用户在定义过滤规则时,根据报文的入接口、源或目的地址、协议类型、源或目的端口号等属性描述过滤规则,同时指定了拒绝或接收报文。系统根据这些过滤规则对到达设备的报文进行分类,并判断报文被拒绝或者接收。
ACL本身只是一组规则的集合,它只是通过过滤规则对报文进行了分类,因此ACL需要与路由策略配合使用,才能实现过滤报文的功能。
ACL包括针对IPv4路由的ACL和针对IPv6路由的ACL。用户在ACL中指定IP地址和子网范围,用于匹配路由信息的源地址、目的网段地址或下一跳地址。

地址前缀列表(IP-Prefix List)
地址前缀列表是一种包含一组路由信息过滤规则的过滤器,用户可以在规则中定义前缀和掩码范围,用于匹配路由信息的目的网段地址或下一跳地址。地址前缀列表可以应用在各种动态路由协议中,对路由协议发布和接收的路由信息进行过滤。
地址前缀列表和ACL相比,配置简单,应用灵活。但是当需要过滤的路由数量较大,且没有相同的前缀时,配置地址前缀列表会比较繁琐。
地址前缀列表包括针对IPv4路由的IPv4地址前缀列表和针对IPv6路由的IPv6地址前缀列表,IPv6地址前缀列表与IPv4地址前缀列表的实现相同。地址前缀列表进行匹配的依据有两个:掩码长度和掩码范围。 :::success

  • 掩码长度:地址前缀列表匹配的对象是IP地址前缀,前缀由IP地址和掩码长度共同定义。例如,10.1.1.1/16这条路由,掩码长度是16,这个地址的有效前缀为16位,即10.1.0.0。
  • 掩码范围:对于前缀相同,掩码不同的路由,可以指定待匹配的前缀掩码长度范围来实现精确匹配或者在一定掩码长度范围内匹配。 ::: :::warning 医疗_消息.png 说明
    0.0.0.0为通配地址。当前缀为0.0.0.0时,可以在其后指定掩码以及掩码范围:

  • 若指定掩码,则表示具有该掩码的所有路由都被允许通过(Permit)或拒绝通过(Deny)。

  • 若指定掩码范围,则表示掩码长度范围内的所有路由都被允许通过或拒绝通过。 :::

    AS路径过滤器(AS_Path-Filter)
    AS路径过滤器是一组针对BGP路由的AS_Path属性进行过滤的规则。在BGP的路由信息中,包含有AS_Path属性,AS_Path属性按矢量顺序记录了BGP路由从本地到目的地址所要经过的所有AS编号,因此基于AS_Path属性定义一些过滤规则,就可以实现对BGP路由信息的过滤。AS路径过滤器的匹配条件使用正则表达式指定,如^30表示只匹配第一个值是30的AS路径属性。

    团体属性过滤器(Community-Filter)
    团体属性过滤器是一组针对BGP路由的团体属性进行过滤的规则。在BGP的路由信息中,携带有团体属性(Community),团体属性是一组有相同特征的目的地址的集合,因此基于团体属性定义一些过滤规则,就可以实现对BGP路由信息的过滤。
    除了使用公认的团体属性外,用户还可以自行定义数字型的团体属性。团体属性过滤器的匹配条件可以使用团体号或者正则表达式。

    拓展团体属性过滤器(Extcommunity-Filter)
    扩展团体属性过滤器是一组针对BGP的扩展团体属性进行过滤的规则。BGP的扩展团体属性常用的有两种。

  • VPN-Target扩展团体属性:VPN Target属性主要用来控制VPN实例之间的路由学习,实现不同VPN实例之间的隔离。VPN Target属性分为出方向和入方向,PE在发布VPNv4(Virtual Private Network version 4)或VPNv6(Virtual Private Network version 6)路由到远端的MP-BGP(Multi-protocol Extensions for Border Gateway Protocol)对等体时,会携带出方向VPN Target属性。远端MP-BGP对等体收到VPNv4或VPNv6路由后,会根据本地VPN实例的入方向VPN Target属性是否与路由所携带的VPN Target匹配,来决定哪些路由能被复制到本地VPN实例的路由表中。

  • SoO(Site-of-Origin)扩展团体属性:VPN某站点(Site)有多个CE接入不同的PE时,从CE发往PE的路由可能经过VPN骨干网又回到了该站点,这样很可能会引起VPN站点内路由循环。此时,针对VPN站点配置SoO属性可以区分来自不同VPN站点的路由,避免路由循环。

    RD属性过滤器(Route Distinguisher-Filter)
    RD属性过滤器是一组针对VPN路由的RD属性进行过滤的规则。VPN实例通过路由标识符RD(Route Distinguisher)实现地址空间独立,区分使用相同地址空间的IPv4和IPv6前缀。RD属性过滤器针对不同RD指定匹配条件。

    Route-Policy
    Route-Policy是一种比较复杂的过滤器,它不仅可以匹配给定路由信息的某些属性,还可以在条件满足时改变路由信息的属性。Route-Policy可以使用前面6种过滤器定义自己的匹配规则。

    路由策略各工具之间的调用关系
    在实际应用中,为了达到控制路由的目的,需要路由策略的不同工具之间组合使用。下图说明了这些工具之间的调用关系。
    image.png
    路由策略相关的工具划分成三类:

  • 条件工具:用于把需要的路由“抓取”出来。

  • 策略工具:用于把“抓取”出来的路由执行某个动作,比如允许、拒绝、修改属性值等。
  • 调用工具:用于将路由策略应用到某个具体的路由协议里面,使其生效。 :::warning 医疗_消息.png 说明
    调用工具中的filter-policy和peer又自带策略工具的功能,因此这两者又可以直接调用条件工具。其他的调用工具都必须通过route-policy来间接的调用条件工具。
    peer不能调用ACL,可以调用其他的所有条件工具。 :::

2.2 地址前缀列表


地址前缀列表的过滤规则
一个地址前缀列表中可以创建多个索引项,每个索引对应一条过滤规则。如下图所示,待过滤路由按照索引号从小到大的顺序进行匹配:

  • 当匹配上某一索引项时,如果该索引项是permit,则这条路由被允许通过;如果该索引项是deny,则这条路由被拒绝通过。
  • 当遍历了地址前缀列表中的所有索引项,都没有匹配上,那么这条路由就被拒绝通过。

image.png
地址前缀列表过滤路由的原则可以总结为:顺序匹配、唯一匹配、默认拒绝

  • 顺序匹配:按索引号从小到大顺序进行匹配。同一个地址前缀列表中的多条表项设置不同的索引号,可能会有不同的过滤结果,实际配置时需要注意。
  • 唯一匹配:待过滤路由只要与一个表项匹配,就不会再去尝试匹配其他表项。
  • 默认拒绝:默认所有未与任何一个表项匹配的路由都视为未通过地址前缀列表的过滤。因此在一个地址前缀列表中创建了一个或多个deny模式的表项后,需要创建一个表项来允许所有其他路由通过。

地址前缀列表中掩码的匹配
地址前缀列表与ACL相比的一大优势就是可以对路由的掩码进行匹配。以IPv4地址前缀列表为例,地址前缀列表可以通过ip ip-prefix命令进行配置,常用格式如下:

  1. ip ip-prefix ip-prefix-name [ index index-number ] { permit | deny } ipv4-address mask-length [ greater-equal greater-equal-value ] [ less-equal less-equal-value ]

其中ipv4-addressmask-length [ greater-equal greater-equal-value ] [ less-equal less-equal-value ]用于限定过滤路由的网络号及掩码范围,参数含义如下表所示。

参数 含义
ipv4-address 用于指定网络号。
mask-length 用于限定网络号的前多少位需严格匹配。
greater-equalgreater-equal-value 表示掩码大于等于greater-equal-value
less-equalless-equal-value 表示掩码小于等于less-equal-value

当待过滤的路由已匹配当前表项的网络号时,掩码长度可以进行精确匹配或者在一定掩码长度范围内匹配。

  • 如果不配置greater-equalless-equal,则进行精确匹配,即只匹配掩码长度为mask-length的路由。
  • 如果只配置greater-equal,则匹配的掩码长度范围为[greater-equal-value,32]。
  • 如果只配置less-equal,则匹配的掩码长度范围为[mask-lengthless-equal-value]。
  • 如果同时配置greater-equalless-equal,则匹配的掩码长度范围为[greater-equal-valueless-equal-value]。

    地址前缀列表与ACL的区别
    ACL和地址前缀列表都可以对路由进行筛选,ACL匹配路由时只能匹配路由的网络号,但无法匹配掩码,也就是前缀长度;而地址前缀列表比ACL更为灵活,可以匹配路由的网络号及掩码,增强了路由匹配的精确度。


image.png
如上图所示,SwitchB上有2条静态路由,如果只想将192.168.0.0/16这1条路由引入OSPF中,该怎么配置呢?
查看SwitchB上的路由表,有2条静态路由192.168.0.0/16和192.168.0.0/24,只想将192.168.0.0/16这1条路由重发布到OSPF中。
image.png
首先尝试用ACL来实现

  1. 配置基本ACL 2001

image.png

  1. 配置route-policy RP的节点10,如果匹配基本ACL 2001,则允许通过。其他所有未匹配成功的路由都被拒绝通过。

image.png

  1. 配置在OSPF路由中引入通过Route-Policy RP过滤的静态路由

image.png
配置完成后,在SwitchC上查看路由表如下:
image.png
在SwitchC的路由表中发现有2条192.168.0.0网段的路由,说明2条路由都被引入了。这是由于ACL 2001规则rule permit source 192.168.0.0 0.0.255.255中,0.0.255.255实际上是通配符,而不是掩码长度。 :::warning 所谓通配符,就是指换算成二进制后,“0”表示需要匹配,“1”表示不需要匹配。例如192.168.0.0 0.0.255.255表示匹配网络号192.168.0.0~192.168.255.255,192.168.0.0/16和192.168.0.0/24都能成功匹配ACL 2001,因此这2条路由匹配了route-policy RP的节点10,都被引入了。ACL无法实现只匹配192.168.0.0/16或者只匹配192.168.0.0/24,ACL只能匹配网络号,无法匹配掩码。 :::

接下来,尝试用地址前缀列表对引入的路由进行过滤,看是否能实现引入192.168.0.0/16这1条路由,过滤掉192.168.0.0/24。

  1. 配置地址前缀列表,过滤出想要的路由,地址前缀列表为huawei,节点号10,允许192.168.0.0/16的路由通过。

image.png

  1. 配置route-policy RP的节点10,如果匹配地址前缀列表huawei,则允许通过;其他未匹配上的路由都将默认拒绝。

image.png

  1. 配置在OSPF路由中引入通过route-policy RP过滤的静态路由。

image.png

  1. 配置完成后,在SwitchC上查看路由表,成功实现了只引入192.168.0.0/16这1条路由。

image.png

2.3 Route-Policy原理与应用

Route-Policy的组成
Route-Policy是一种比较复杂的过滤器,它不仅可以匹配给定路由信息的某些属性,还可以在条件满足时改变路由信息的属性。
如下图所示,Route-Policy由节点号、匹配模式、if-match子句(条件语句)和apply子句(执行语句)这四个部分组成。
image.png
医疗_病历收藏.png 节点号

  • 一个Route-Policy可以由多个节点(node)构成。路由匹配Route-Policy时遵循以下两个规则:
    • 顺序匹配:在匹配过程中,系统按节点号从小到大的顺序依次检查各个表项,因此在指定节点号时,要注意符合期望的匹配顺序。
    • 唯一匹配:Route-Policy各节点号之间是“或”的关系,只要通过一个节点的匹配,就认为通过该过滤器,不再进行其它节点的匹配。

医疗_病历收藏.png 匹配模式

  • 节点的匹配模式有两种:permit和deny。

    • permit指定节点的匹配模式为允许。当路由项通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点;如果路由项没有通过该节点过滤,将进入下一个节点继续匹配。
    • deny指定节点的匹配模式为拒绝。这时apply子句不会被执行。当路由项满足该节点的所有if-match子句时,将被拒绝通过该节点,不进入下一个节点;如果路由项不满足该节点的if-match子句,将进入下一个节点继续匹配。 :::warning 医疗_消息.png 说明
  • 通常在多个deny节点后设置一个不含if-match子句和apply子句的permit模式的Route-Policy,用于允许其它所有的路由通过。 ::: 医疗_病历收藏.png if-match子句(条件语句)

  • if-match子句用来定义一些匹配条件。Route-Policy的每一个节点可以含有多个if-match子句,也可以不含if-match子句。如果某个permit节点没有配置任何if-match子句,则该节点匹配所有的路由。

医疗_病历收藏.png apply子句(执行语句)

  • apply子句用来指定动作。路由通过Route-Policy过滤时,系统按照apply子句指定的动作对路由信息的一些属性进行设置。Route-Policy的每一个节点可以含有多个apply子句,也可以不含apply子句。如果只需要过滤路由,不需要设置路由的属性,则不使用apply子句。

    Route-Policy匹配规则
    Route-Policy每个node节点的过滤结果要综合以下两点:

  • Route-Policy的node节点的匹配模式(permitdeny)。

  • if-match子句(如引用的地址前缀列表或者访问控制列表)中包含的匹配条件(permitdeny)。

对于每一个node节点,以上两点的排列组合会出现下表所示的4种情况。

Rule
(if-match中包含的匹配条件)
Mode
(节点的匹配模式)
匹配结果
permit permit
- 匹配该节点if-match子句的路由在本节点允许通过Route-Policy,匹配结束。
- 不匹配if-match子句的路由进行Route-Policy下一个节点的匹配。
deny
- 匹配该节点if-match子句的路由在本节点不允许通过Route-Policy,匹配结束。
- 不匹配if-match子句的路由进行Route-Policy下一个节点的匹配。
deny permit
- 匹配该节点if-match子句的路由在本节点不允许通过Route-Policy,继续进行Route-Policy下一个节点的匹配。
- 不匹配if-match子句的路由进行Route-Policy下一个节点的匹配。
deny
- 匹配该节点if-match子句的路由在本节点不允许通过Route-Policy,继续进行Route-Policy下一个节点的匹配。
- 不匹配if-match子句的路由进行Route-Policy下一个节点的匹配。

:::warning 医疗_消息.png 说明
默认所有未匹配的路由将被拒绝通过Route-Policy。如果Route-Policy中定义了一个以上的节点,应保证各节点中至少有一个节点的匹配模式是permit。因为Route-Policy用于路由信息过滤时:

  • 如果某路由信息没有通过任一节点,则认为该路由信息没有通过该Route-Policy。
  • 如果Route-Policy的所有节点都是deny模式,则没有路由信息能通过该Route-Policy。 ::: 上表所示的四种组合情况中,前两种比较好理解,也比较常用。后两种相对难理解一点,这里以第三种情况为例,举例说明一下:
    假设if-match子句中包含的匹配条件是deny,node节点对应的匹配条件permit,配置如下:
    image.png
    这种情况下,有一个关键点就是在node 10,172.16.16.0这条路由被拒绝,同时会继续往下匹配,到node 20这个节点的时候172.16.16.0又被允许了,所以Route-Policy的最终匹配结果是允许172.16.16.0这条路由。

2.4 Filter-Policy原理与应用

Filter-Policy介绍
filter-policy也是一个很常用的路由信息过滤工具,如下图所示,SwitchA、SwitchB、SwitchC之间运行某种路由协议,路由在各个设备之间传递,当需要根据实际需求过滤某些路由信息的时候可以使用filter-policy实现。
image.png :::warning 医疗_消息.png 说明
filter-policy只能过滤路由信息,无法过滤LSA,不能修改路由属性值。 :::

Filter-Policy过滤路由信息的规则
由于距离矢量路由协议(例如RIP)和链路状态路由协议(例如OSPF)原理上的差异,filter-policy应用在这两种路由协议的时候过滤规则也有所不同。如下表所示,在讨论之前有必要回忆一下距离矢量路由协议和链路状态路由协议路由信息传递的区别。

路由类型 路由传递原理
距离矢量路由协议 各路由设备之间传递的是路由信息。这种路由信息对于报文来说相当于“路标”,设备依靠“路标”来指导报文转发,路标指向哪里报文就转发到哪里。
链路状态路由协议 各路由设备之间传递的是LSA信息。LSA信息的集合(LSDB)形成整个网络的拓扑结构,相当于一张地图,设备依靠“地图+最短路径算法”为报文找到最佳的转发路径。

Filter-Policy在距离矢量路由协议中的应用
image.png
如上图所示,在距离矢量路由协议中,设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用filter-policy实现,出方向和入方向的生效位置如上图所示。如果要过滤掉上游设备到下游设备的路由,只需要在上游设备配置filter-policy export或者在下游设备上配置filter-policy import。

Filter-Policy在链路状态路由协议中的应用
image.png
如上图所示,在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。以OSPF为例,filter-policy生效规则如下:

  • filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤
  • filter-policy export命令用来对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external-LSA)并发布出去。这样可以在引入外部路由时进行特定的过滤,防止形成路由环路

通过Filter-Policy对RIP发布的路由做过滤示范
如下图所示,三台交换机通过RIP交互路由,在SwitchA的RIP进程中引入了三条静态路由(作为测试路由),用户要求在SwitchB上部署filter-policy export,将其通告给SwitchC的路由进行过滤,拒绝192.168.3.0/24这条路由,其他路由放行。
image.png
配置方法:

  1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

image.png

  1. 在SwitchB的RIP视图中,部署filter-policy export

image.png

  1. 结果验证

image.png
image.png
从上面的实验结果来看,在SwitchB上部署filter-policy export以后,SwitchB仍然拥有完整的路由表,而SwitchC已经不能通过RIP学习到192.168.3.0/24这条路由,因为这条路由在SwitchB上发布的时候已经被过滤掉。

通过Filter-Policy对RIP接收的路由做过滤示范
如下图所示,三台交换机通过RIP交互路由,在SwitchA的RIP进程中引入了三条静态路由(作为测试路由),用户要求在SwitchB上部署filter-policy import,把192.168.3.0/24这条路由拒绝,其他路由放行。
image.png
配置方法:

  1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

image.png

  1. 在SwitchB的RIP视图中,部署filter-policy import。

image.png

  1. 结果验证

image.png
image.png
从上面的实验结果来看,在SwitchB上部署filter-policy import以后,SwitchB和SwitchC的路由表中都不存在192.168.3.0/24这条路由了。
由于RIP是距离矢量路由协议,它是将自己的路由表通告给它的邻居交换机,当SwitchB的路由表中192.168.3.0/24这条路由被过滤以后,SwitchC也就无法再通过RIP学习到这条路由。也就是说,对于距离矢量路由协议,如果一台设备的路由表被进行了过滤,那么它会继续影响它下游的设备的路由表。 :::warning 医疗_消息.png 说明
filter-policy exportfilter-policy import命令在RIP进程下配置,如果基于接口或者协议对路由进行过滤,则一个接口或协议只能配置一个策略;在没有指定接口和协议的情况下,就认为是配置全局过滤策略,同样只能配置一个策略,如果重复配置,新的策略将覆盖之前的策略。 :::

通过Filter-Policy对OSPF接收的路由过滤(区域内)
如下图所示,三台交换机同属于OSPF Area 0区域,SwitchA发布测试网段10.1.1.0/24,要求在SwitchB上部署filter-policy import,使得SwitchB的路由表中不允许出现10.1.1.0/24这条路由。
image.png
配置方法:

  1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

image.png

  1. 在SwitchB的OSPF视图中,部署filter-policy import。

image.png

  1. 结果验证

image.png
image.png
通过SwitchB和SwitchC的路由表可以看到,虽然在SwitchB上10.1.1.0/24这条路由已经被过滤掉,但是LSA信息会继续传递给SwitchC,所以SwitchC的路由表中继续存在10.1.1.0/24这条路由。这样的结果也验证了一开始在注意事项中给出的结论:在链路状态路由协议中,filter-policy只能过滤路由信息,不能过滤LSA信息。
同时SwitchB和SwitchC的LSDB中仍然存在描述10.1.1.0/24这条路由的LSA信息,为了验证这一点,看一下SwitchB和SwitchC的LSA信息。
image.pngimage.png

通过Filter-Policy对OSPF接收的路由过滤(区域间)
如下图所示,相对于上一个场景,这个场景的区别之处是划分了两个不同的区域,SwitchB和SwitchC之间传递的是Type3 LSA,这个Type3 LSA是SwitchB上根据区域间路由生成的。配置方法跟上一个场景一样,不再赘述,直接看一下实验结果。
image.png
在部署过滤策略之前先看一下SwitchB和SwitchC的路由表:
image.png
image.png
可以看到,在部署路由过滤策略之前,SwitchB和SwitchC的路由表中都有10.1.1.0/24这条路由。
结果验证
在SwitchB上部署filter-policy import以后,查看SwitchB和SwitchC的路由表,结果如下:
image.png
image.png
由于现在划分不同的区域,SwitchC上的10.1.1.0/24这条路由是由SwitchB根据自身学习的路由产生的Type3-LSA描述的,而SwitchB上的这条路由被过滤掉了,因此不能够再产生描述区域间路由的这个Type3-LSA,因此SwitchC上不会再学习到10.1.1.0/24这条路由。

2.5 AS_Path Filter在BGP中的应用

AS_Path Filter介绍
ASPath属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。如下图所示,某条BGP路由的AS_Path属性实际上可以看作是一个包含空格的字符串,所以可以通过正则表达式来进行匹配。
image.png
正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。BGP的AS_Path过滤器主要是定义AS_Path正则表达式,然后去匹配BGP路由的AS_Path属性信息,从而实现对BGP路由信息的过滤。 :::warning ![医疗
消息.png](https://cdn.nlark.com/yuque/0/2022/png/1467971/1653310627948-02efa096-b401-4b6f-bd27-2668403d91b0.png#clientId=ub8061f5f-2f44-4&crop=0&crop=0&crop=1&crop=1&from=ui&height=30&id=j0mXM&margin=%5Bobject%20Object%5D&name=%E5%8C%BB%E7%96%97_%E6%B6%88%E6%81%AF.png&originHeight=200&originWidth=200&originalType=binary&ratio=1&rotation=0&showTitle=false&size=8334&status=done&style=shadow&taskId=ua51531ff-d45e-42d3-a785-bbd389d0240&title=&width=30) 说明
例如ip as-path-filter 1 permit 495就定义了一个AS_Path过滤器1,使用的正则表达式是495,这个表达式的含义是匹配任何包含495的字符串。 :::

AS_Path正则表达式的组成
AS_Path过滤器的核心内容就是正则表达式。关于正则表达式的内容较为复杂,这里仅讨论一些跟AS_Path过滤器相关的内容。
AS_Path过滤器使用正则表达式来定义匹配规则。正则表达式由元字符和数值两部分组成:

  • 元字符定义了匹配的规则
  • 数值定义了匹配的对象

BGP支持的元字符:

元字符 含义 示例
. 匹配除“\n”之外任何单个字符,
包括空格。
.表示匹配任意字符串,即ASPath为任意,
可以用来匹配所有路由。
说明:
通常定义了多个deny模式的ip as-path-filter子句之后,会定义一个ip as-path-filter _as-path-filter-name
permit .
子句,用于允许其他路由通过。
* 之前的字符在目标对象中出现0次或连续多次 参考上例。
+ 之前的字符在目标对象中出现1次或连续多次 65+表示6在AS_Path的首位,而5在AS_Path中出现一次或多次,那么:
- 如下字符串都符合这个特征:65,655,6559,65259,65529等。
- 如下字符串不符合这个特征:56,556,5669,55269,56259等。
| 竖线左边和右边的字符为“或”的关系。 100|65002|65003表示匹配100、65002或65003。
^ 之后的字符串必须出现在目标对象的开始。 ^65表示匹配以65开头的字符串,那么:
- 如下字符串都符合这个特征:65,651,6501,65001等。
- 如下字符串不符合这个特征:165,1650,6650,60065等。
$ 之前的字符串必须出现在目标对象的结束。 65$表示匹配以65结尾的字符串,那么:
- 如下字符串都符合这个特征:65,165,1065,10065,60065等。
- 如下字符串不符合这个特征:651,1650,6650,60650,65001等。

说明:
^$表示匹配空字符串,即ASPath为空,通常用来匹配本地始发路由。 | | (xyz) | 一对圆括号内的正则表达式作为一个子正则表达式,匹配子表达式并获取这一匹配。圆括号内也可以为空。 | 100(200)+可以匹配100200、100200200、…… | | [xyz] | 匹配方括号内列出的任意字符。 | [896]表示匹配含有8、9或6中任意一个字符。 | | [^xyz] | 匹配除了方括号内列出的字符外的任意字符(^号在字符前)。 | [^896]表示匹配含有8、9或6这几个字符之外的任意一个字符。 | | [a-z] | 匹配指定范围内的任意字符。 | [2-4]表示匹配2,3,4;[0-9]表示匹配数字0~9。
说明:
方括号内“[]”只能填写数字0到9。例如,如果需要匹配735~907,则需要写成(73[5-9]|7[4-9][0-9]|8[0-9][0-9]|90[0-7])。 | | [^a-z] | 匹配不在指定范围内的任意字符。 | [^2-4]表示匹配除2,3,4外的其他字符;[^0-9]表示匹配除数字0~9外的其他字符。 | |
| 匹配一个符号,包括逗号、左大括号、右大括号、左括号、右括号和空格,在表达式的开头或结尾时还可作起始符、结束符(同^ ,$)。 |
- ^65001表示匹配字符串的开始为65001,字符串的后面为符号,也即AS_Path最左边AS(最后一个AS)为65001,可以用来匹配AS 65001邻居发送的路由,
- _65001
表示匹配字符串里有65001,即ASPath中有65001,可以用来匹配经过AS 65001的路由。
- _65001$表示匹配字符串的最后为65001,字符串前面是符号,即AS_Path最右边AS(起始AS)为65001,可以用来匹配AS 65001始发的路由。
| | \ | 转义字符。 | AS_Confed_Sequence是用“(” 、“)”表示的,“(” 、“)”在正则表达式中是特殊字符,有特殊用处,所以对于这种特殊字符,可以使用“\”来去除其特殊意义进行匹配。例如:
- \(65002
表示匹配字符串为(65002,字符串的后面为符号,也即ASConfed_Sequence最左边AS(最后一个AS)为65002,可以用来匹配联盟AS 65002邻居发送的路由。
- \(.*_65003
.*\) 表示AS_Confed_Sequence中间有65003,可以用来匹配经过联盟AS 65003的路由。
- _65004\)表示匹配字符串最后为65004),字符串的前面为符号,也即AS_Confed_Sequence最右边AS(起始AS)为65004,可以用来匹配联盟AS 65004始发的路由,还可以用来匹配联盟AS 65004直接发布的路由。_65004\)与65004\)作用相同。
同理,AS_Confed_Set使用的“[”、“]”,AS_Set使用的“{”、“}”也都可以使用“\”符号来去除这些特殊符号的特殊意义。 |

在同一个过滤器编号下,可以定义多条过滤规则(permit或deny模式)。在匹配过程中,这些规则之间是“或”的关系,即只要路由信息通过其中一项规则,就认为通过由该过滤器编号标识的这组AS_Path过滤器。在下文中,将分不同的场景来对AS_Path过滤器的作用进行举例说明。

AS_Path Filter的应用方式
AS_Path过滤器只定义一个过滤工具,需要在某个地方调用这个过滤工具才会最终生效。在BGP中可以有两种方式调用AS_Path过滤器:

  • 通过peer命令直接调用AS_Path_Filter。
  • 通过route-policy调用AS_Path_Filter。

应用方式一:通过peer命令直接调用as-path-filter
image.png
在应用方式1中,定义了一个AS_Path_Filter并关联了一个正则表达式^100$,这个AS_Path_Filter可以匹配AS_PATH严格为100的路由(不包含任何其他的AS号或其他数字),随后将AS_Path_Filter应用在了peer命令上,这样一来,只有被AS_Path_Filter s1所匹配的路由,才会被传递给BGP邻居10.1.1.2。
应用方式二:通过route-policy调用as-path-filter
image.png
在应用方式2中,在route-policy中的if-match命令调用定义好的AS_Path_Filter,随后使用apply命令设置Local-Preference路径属性值,并在BGP配置模式下应用在了peer命令上(import方向)。这样,该交换机在收到BGP邻居10.1.1.2所发送过来的BGP路由中,所有被AS_Path_Filter匹配的路由均将LP路径属性值设置为100。

AS_Path Filter的使用举例
如下图所示,LSW1与LSW2之间,LSW1与LSW3之间,LSW2与LSW3之间,LSW2与LSW4之间,LSW3与LSW4之间,LSW4与LSW5之间都建立EBGP邻居。各个设备把LoopBack0接口的IP地址通过network命令发布到BGP中,用作测试路由网段。
image.png
当没有使用AS_Path过滤器时,LSW1的原始BGP路由表如下。
image.png
Case1:定义一个AS_Path过滤器s1,只接收AS 65500始发的路由。
image.png
配置完成后BGP路由表如下:
image.png
从以上显示信息可以看出,AS 65500始发的路由被允许,其他路由被拒绝。
Case2:定义一个AS_Path过滤器s2,拒绝AS 65500始发的路由,允许接收其他路由。
image.png
配置完成后BGP路由表如下:
image.png
从以上显示信息可以看出,AS 65500始发的路由被拒绝,其他路由被允许。
Case3:定义一个AS_Path过滤器s3,拒绝经过AS 65400的路由
image.png
配置完成后BGP路由表如下:
image.png
从以上显示信息可以看出,经过AS 65400的路由被拒绝,其他路由被允许。
Case4:定义一个AS_Path过滤器s4,拒绝经过AS 65400的路由,其中AS 65400既不是路由的始发AS,也不是路由经过的最后一个AS。
image.png
配置完成后BGP路由表如下:
image.png
从以上显示信息可以看出,只有AS_Path的中间AS是65400的路由被拒绝,其他路由被允许。
Case5:定义一个AS_Path过滤器s5,匹配本地始发路由,不接收其他AS的任何路由。
image.png
配置完成后BGP路由表如下:
image.png
从以上显示信息可以看出,只有AS_Path为空的本地始发路由被允许,其他路由被拒绝。

2.6 Community属性在BGP中的应用

Community属性介绍
团体属性是一组有相同特征的目的地址的集合。团体属性用来简化路由策略的应用和降低维护管理的难度,利用团体可以使多个AS中的一组BGP设备共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,且不受AS的限制。BGP设备在将带有团体属性的路由发布给其它对等体之前,可以先改变此路由原有的团体属性。

  • Community属性是一组4个字节的数值,RFC1997规定前两个字节表示AS号,后两个字节表示基于管理目的设置的标示符,格式为AA:NN。
  • Community属性是一种BGP路由标记,用于简化路由策略的执行。可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是每条路由来抓取路由并执行相应的策略了。

image.png
在上图中,AS100内有大量的路由被引入BGP,这些路由分别用于语音通话和视频监控两种业务。路由通过BGP通告给AS200。现在AS200的设备基于某种需求,需要分别对语音通话和视频监控的路由执行不同的策略,那么怎么匹配这些路由呢?可以用ACL或者ip-prefix逐条匹配路由,但是由于路由前缀非常多,这样工作量太大,效率低下。
可以使用Community属性来解决这个问题。在AS100引入这些路由的时候,就分别打上相应的Community值用来区分语音通话的路由和视频监控的路由,凡是语音通话的路由,就打上标记100:1,凡是视频监控的路由就打上标记100:2,那么这些属性值随着路由传递给了AS200,在AS200上需要分别对语音通话和视频监控的路由做策略的时候,只需要抓取相应Community值即可。例如抓取100:1的community值也就抓取了所有语音业务的路由。

BGP定义了一些公认的团体属性,这些团体属性可以直接使用,常见的如下表所示:

团体属性名称 说明
internet 缺省情况下,所有的路由都属于internet团体。具有此属性的路由可以被通告给所有的BGP对等体
no-advertise 具有此属性的路由在收到后,不能被通告给任何其他的BGP对等体。
no-export 具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。
no-export-subconfed 具有此属性的路由在收到后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。

设置路由的Community属性
要使用团体属性过滤器,前提是路由携带了Community属性。通过下面这个举例来看一下如何设置路由的Community属性。
image.png
如上图所示,在AS100内的LSW1上通过BGP发布两条路由:10.1.1.0/24和10.1.2.0/24。在LSW1的BGP进程中,使用出方向(export)路由策略,修改10.1.1.0/24这条路由的Community属性为100:1,这样下游设备就可以根据这个Community属性执行相应的策略。
配置方法:
LSW1上的关键配置:
image.png
LSW2上的关键配置:
image.png
值得注意的是,默认情况下,Community属性是不会随路由前缀更新给BGP peer的,因此在LSW1和LSW2上都需要通过peer advertise-community配置将团体属性发布给对等体功能。
结果验证
完成上述配置之后,在LSW3上查看一下BGP路由,结果如下:
image.png
从LSW3的BGP路由表项可以看到,在LSW1上设置路由的Community属性以后,经过路由传递,到达LSW3上的时候携带一个Community属性,这样,在LSW3上就可以根据这个标记执行某些策略了。

关于设置BGP路由的Community属性,还有更详细的设置方法,这里就不再列举,举几个常见的例子,供大家参考,如下表所示:

命令 功能
apply community 100 团体名更改为100。
apply community 100 150 团体名更改为100或150,即BGP路由属于两个团体。
apply community 100 150 additive 在原来基础上追加100和150两个团体属性。即BGP路由属于三个团体
apply community none 删除BGP路由的团体属性。

使用Community-filter匹配BGP路由
上一小节,介绍了如何设置BGP路由的Community属性,当上游的设备设置了Community属性以后,这个属性会随着路由传递下来,这样下游的设备就可以根据这个属性执行相应的策略。BGP提供了一个工具:community-filter,即团体属性过滤器。下面通过一个例子来看一下如何使用团体属性过滤器。
image.png
如上图所示,AS100内的LSW1发布三条BGP路由,Community属性的设置如图所示,这个Community属性随着路由的传递到达AS300内的LSW3设备上。执行策略之前先看一下LSW3的BGP路由表:
image.png
可以看到,LSW3上的BGP路由表里有三条路由。现在LSW3上根据团体属性执行路由策略,允许携带100:999属性的路由通过,其他的路由不允许通过。
配置方法
设置Community属性的方法上面已经讲过,不再赘述,这里只看一下如何使用community-filter过滤路由。
LSW3上的关键配置:
image.png
结果验证
image.png
由于定义的community-filter匹配包含团体属性为100:999的路由,因此10.1.1.0/24,10.1.2.0/24这两条路由将在LSW3上允许,其他BGP路由被禁止通过。
针对这个场景,再给出如下几个常用的community-filter的配置方法:
Case1:
image.png
Case2:
image.png
Case3:
image.png

三、路由策略配置任务概述


场景 描述 对应任务
配置过滤器 路由策略过滤器包括访问控制列表、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器。路由策略的过滤器不仅可以在路由策略的if-match子句中使用,还可以在特定情况下单独使用。 配置过滤器
配置Route-Policy 为了减轻网络负担和保证网络的安全性,可以在以下情况下应用带if-match子句的路由策略:
- 在路由引入时使用
- 在路由发布和路由接收时使用
- VPN中通过RT属性和RD属性过滤时使用
配置Route-Policy
配置Filter-Policy 在各路由协议中,当需要控制路由的接受和发布的时候可以通过Filter-Policy来实现。
- filter-policy import用于实现仅接收满足条件的路由。
- filter-policy export用于实现仅发布满足条件的路由。
配置Filter-Policy
配置路由策略生效时间 在实际应用中,当多条相互配合的路由策略的配置发生变化时,如果每完成一条配置,路由管理模块RM(Routing Management Module)就立即通知各协议重新应用策略。不完整的策略则会造成路由振荡,引起网络的不稳定。
设备对路由策略的变化处理规则如下:
- 缺省情况下,路由策略变化后,RM将立即通知协议应用新策略。
- 如果配置了路由策略生效时间,当路由策略的相关命令配置变化后,RM并不立即通知协议进行处理,而是等待所配置的时长,然后再通知各协议应用变化后的策略。
- 如果在等待时间内路由策略的配置又发生了改变,RM将重置定时器,重新开始计时。

可以根据实际情况,使用命令route-policy-change notify-delay选择延迟等待时间的长短。 | 配置路由策略生效时间 |

四、配置过滤器


4.1 配置地址前缀列表

当需要根据路由的目的地址控制路由的发布和接收时,配置地址前缀列表。 :::warning 医疗_消息.png 须知
如果地址前缀列表不与路由策略中if-match语句配合使用,地址前缀列表中至少配置一个节点的匹配模式是permit,否则所有路由将都被过滤。 :::

  1. 1. 配置IPv4地址前缀列表
  2. ip ip-prefix 名字 index 编号 {permit/deny} 地址 掩码 gr xx le xx
  3. 2. 配置IPv6地址前缀列表
  4. ip ipv6-prefix 名字 index 编号 {permit/deny} 地址 掩码 gr xx le xx

检查配置结果

  • 执行display ip ip-prefix [ ip-prefix-name ]命令,查看IPv4地址前缀列表的详细配置信息。
  • 执行display ip ipv6-prefix [ ipv6-prefix-name ]命令,查看IPv6地址前缀列表的详细配置信息。

4.2 配置AS属性过滤器

AS路径过滤器是利用BGP路由携带的AS-Path列表对路由进行过滤。在不希望接收某些AS的路由时,可以利用AS路径过滤器对携带这些AS号的路由进行过滤。当网络环境比较复杂时,如果利用ACL或者地址前缀列表过滤BGP路由,则需要定义多个ACL或者前缀列表,配置比较繁琐。这时也可以使用AS路径过滤器。

  1. ip as-path-filter xxx {permit/deny} regular-expression
  2. regular-expression表示AS属性过滤器使用正则表达式定义匹配规则。

检查配置结果

  • 执行display ip as-path-filter[ as-path-filter-number | as-path-filter-name ]命令,查看已配置的AS路径过滤器信息。

4.3 配置团体属性过滤器

团体属性可以标识具有相同特征的路由,而不用考虑零散路由前缀和繁多的AS号。团体属性过滤器与团体属性配合使用,可以在不便使用地址前缀列表和AS属性过滤器时,降低路由管理难度。例如某公司一国外分部只需要接收国内总部和邻国分部的路由,不需要接收其他国外分部的路由。此时只需为各国分部分配不同的团体属性,就可以方便的实现路由管理,而不用去考虑每个国家内零散的路由前缀和繁多的AS号。
团体属性过滤器有两种类型:基本团体属性过滤器和高级团体属性过滤器。高级团体属性过滤器支持正则表达式,比基本团体属性过滤器匹配团体属性更灵活。

  1. ip conmmunity-filter
  2. 基本团体属性过滤器
  3. ip conmmunity-filter basic 名字|编号 permit/deny 团体数或aa:nn internet|no-export-subconfed|no-advertise|no-export
  4. 配置高级团体属性过滤器
  5. ip conmmunity-filter advanced 名字|编号 permit/deny regular-expression
  6. regular-expression表示团体属性过滤器使用正则表达式定义匹配规则。

检查配置结果

  • 执行display ip community-filter [ basic-comm-filter-num | adv-comm-filter-num | comm-filter-name ]命令,查看已配置的团体属性过滤器信息。

4.4 配置拓展团体属性过滤器

当VPN场景中需要根据RT属性进行过滤时,可以使用扩展团体属性过滤器。

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ip extcommunity-filter { basic-extcomm-filter-num | basicbasic-extcomm-filter-name } { deny | permit } { rt { as-number:nn | 4as-number:nn | ipv4-address:nn } } &<1-16>或执行命令ip extcommunity-filter { advanced-extcomm-filter-num | advancedadvanced-extcomm-filter-name } { deny | permit } regular-expression,配置扩展团体属性过滤器。

    检查配置结果

  • 执行display ip extcommunity-filter [ basic-extcomm-filter-num | advanced-extcomm-filter-num | extcomm-filter-name ]命令,查看已配置的扩展团体属性过滤器信息。

4.5 配置RD属性过滤器

当VPN场景中需要根据RD属性进行过滤时,可以使用RD属性过滤器。

  1. ip rd-filter 编号 deny|permit 路由标记

检查配置结果

  • 执行display ip rd-filter [ rd-filter-number ]命令,查看已配置的RD属性过滤器信息。

五、配置Route-policy


:::warning 医疗_消息.png 说明
Route-Policy中可以包含多个匹配条件和操作动作。
Route-Policy中至少配置一个节点的匹配模式是permit,否则所有路由将都被过滤。 ::: 创建Route-policy

  1. route-policy name {permit|deny} node xx //创建Route-policy,并进入路由策略视图
  2. 可选 description 描述信息

当使用Route-Policy时,node的值小的节点先进行匹配。一个节点匹配成功后,路由将不再匹配其他节点。全部节点匹配失败后,路由将被过滤。 :::warning 医疗_消息.png 说明
缺省情况下,系统不允许配置命令引用未创建的路由策略。如果希望去使能严格检查配置命令引用未创建的路由策略,则可以配置route-policy nonexistent-config-check disable命令。 :::

配置If-match子句
If-match子句用来定义路由策略的匹配条件,匹配对象是路由策略过滤器和路由信息的一些属性。
在一个路由策略节点中,如果不配置if-match子句,则表示路由信息在该节点匹配成功。如果配置一条或多条if-match子句,则各个if-match子句之间是“与”的关系,即路由信息必须同时满足所有if-match子句,才算该节点匹配成功。但命令if-match as-path-filterif-match community-filterif-match extcommunity-filterif-match interfaceif-match route-type除外,这五个命令的各自if-match子句间是“或”的关系,与其它命令的if-match子句间仍是“与”的关系。例如在一个节点中配置多条if-match as-path-filter子句,则if-match as-path-filter子句间是“或”的关系,与其它命令的if-match子句间仍是“与”的关系。 :::warning 医疗_消息.png 说明
if-match子句匹配未配置的过滤器时,默认该if-match子句匹配成功。
对于同一个路由策略节点,命令if-match acl和命令if-match ip-prefix不能同时配置,后配置的命令会覆盖先配置的命令。 ::: :::warning 医疗_消息.png 说明
修改包括多条if-match子句相互配合的路由策略时,建议配置路由策略生效时间,否则不完整的策略会造成路由振荡。 :::

配置Apply子句
Apply子句用来为路由策略指定动作,用来设置匹配成功的路由的属性。在一个节点中,如果没有配置apply子句,则该节点仅起过滤路由的作用。如果配置一个或多个apply子句,则通过节点匹配的路由将执行所有apply子句。 :::warning 医疗_消息.png 说明
当需要删除几个团体属性时,可通过一条ip community-filter命令仅配置一个团体属性的方法,将需要删除的团体属性都分条配置到一个团体属性过滤器,最后应用包含apply comm-filter delete命令的路由策略删除该团体属性过滤器中的所有团体属性。 :::

(可选)配置跳转到指定节点
在现有的路由策略匹配规则中,路由策略各节点号之间是“或”的关系,路由只要通过一个节点的匹配,就认为通过该路由策略,不再进行其它节点的匹配。但实际组网中,用户可能希望路由通过两个甚至多个节点的匹配,这时,可以通过配置goto next-node命令设置路由通过当前节点匹配后,跳转到指定的节点继续匹配。

  1. route-policy name {permit|deny} node xx //进入路由策略视图
  2. goto next-node {node} 设置路由通过当前节点匹配后,跳转到指定的节点继续匹配
  3. 1. 若不指定node值,则默认跳转到当前节点的下一节点进行匹配
  4. 2. 若指定的node值不存在,则默认跳转到指定节点的下一节点进行匹配,若找不到指定节点的下一
  5. 节点,则该路由不通过该路由策略且不执行任何apply语句。

应用Route-Policy
当前用到Route-Policy的协议包括直连路由、静态路由、RIP/RIPng、IS-IS、OSPF/OSPFv3、BGP/BGP4+、组播和BGP/MPLS IP VPN等。除此之外,Route-Policy在手动FRR中也有应用。请根据实际情况,选择如下配置之一:

  • 配置直连路由应用Route-Policy
  • 配置RIP应用Route-Policy
  • 配置RIPng应用Route-Policy
  • 配置IPv4 IS-IS应用Route-Policy
  • 配置IPv6 IS-IS应用Route-Policy
  • 配置OSPF应用Route-Policy
  • 配置OSPFv3应用Route-Policy
  • 配置BGP应用Route-Policy
  • 配置BGP4+应用Route-Policy
  • 配置组播应用Route-Policy
  • 配置BGP/MPLS IP VPN应用Route-Policy
  • 配置FRR应用Route-Policy

    六、配置路由策略生效时间


  1. route-policy-change notify-delay delay-time //设置路由策略应用延迟时间 1S-180S

检查配置结果

  • 使用display current-configuration | include notify-delay命令查看路由策略应用延迟时间。