「Route Policy」- 过滤策略,Filter Policy(路由、过滤)

  CREATED BY JENKINSBOT

问题描述

我们需要对路由信息过滤,能够对接收、发布、引入的路由进行过滤。

解决方案

Filter-Policy(过滤-策略)是个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于 IS-IS、OSPF、BGP 等协议。

如图所示,R1、R2、R3 间运行BGP路由协议,路由在各个设备间传递。当需要根据实际需求过滤某些路由信息时,能够使用 Filter-Policy 实现。

在距离矢量路由协议中

在距离矢量路由协议中,设备间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用 Filter-Policy 实现

注意,出方向和入方向的生效位置:

距离矢量协议是基于路由表生成路由的,因此过滤器会影响从邻居接收的路由和向邻居发布的路由。

如果要过滤掉上游设备到下游设备的路由,只需要在上游设备配置filter-policy export或者在下游设备上配置filter-policy import。

在链路状态路由协议中

在链路状态路由协议中,各路由设备间传递的是 LSA 信息,然后设备根据 LSA 汇总成的 LSDB 信息计算出路由表。

但是 Filter-Policy 仅过滤路由信息,而无法过滤 LSA:

Import:
1)操作对象:学习到的路由条目(实际上是对 OSPF 计算出来的路由进行过滤,不是对发布和接收的 LSA 进行过滤);
2)OSPF 把网络中所泛洪的LSA存储到自己的 LSDB 中,并且运行 SPF 算法,计算出一棵以自己为根且无环的最短路径树,Filter-Policy对 OSPF 计算出来的路由(加载到路由表之前)进行过滤,而不会对 LSA 进行过滤(否则会影响拓扑计算);

Export:
1)操作对象:通过命令 import-route 引入外部路由;
2)对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为 Type5 LSA 发布出去;

配置命令(Huawei)

OSPF(链路状态)

// 按照过滤策略,控制下发到 IP Routing Table 中的路由条目,但不会影响通告;
[Huawei-ospf-100] filter-policy { acl | ip-prefix | route-policy route-policy-name [ secondary ] } import

// 按照过滤策略,设置对引入路由在向外发布时进行过滤。
[Huawei-ospf-100] filter-policy { acl | ip-prefix | route-policy route-policy-name } export [ protocol [ process-id ] ]

ISIS(链路状态)

// 配置 IS-IS 路由加入 IP Routing Table 时的过滤策略。
[Huawei-isis-1] filter-policy { acl | ip-prefix | route-policy } import

// 配置IS-IS对已引入的路由在向外发布时进行过滤的过滤策略。
[Huawei-isis-1] filter-policy { acl | ip-prefix | route-policy } export [ protocol [ process-id ] ]

BGP(类距离矢量)

// 对接收的路由进行过滤,针对所有 Peer 发来的路由进行过滤 ⇒ 所有邻居
[Huawei-bgp-af-ipv4] filter-policy { acl | ip-prefix } import

// 对发布的路由进行过滤,只有通过过滤的路由才被 BGP 发布;
[Huawei-bgp-af-ipv4] filter-policy { acl | ip-prefix } export [ protocol [ process-id ] ]

// 配置向 Peer(组)发布或从 Peer(组)接收路由时的过滤策略 ⇒ 特定邻居
[Huawei-bgp-af-ipv4] peer { group-name | ipv4-address } filter-policy { acl-number | acl-name acl-name } { import | export }

补充说明

Filter Policy Import 影响 LSA Type 3

在 OSPF 中,如果在 ABR 中使用 Filter Policy Import 策略,会影响自身,也会影响后续路由传递:
1)不会生成需要向后传递的 Type 3 LSA;但是并不会影响 Type 5 LSA;
2)导致 AR2、AR3 能够无法通过 Type 3 LSA 学习到 5.5.5.5 网络;
3)但是 AR2、AR3 能通过外部路由学习到 5.5.5.5 网络(import-route direct);