路由策略中 ACL、IP Prefix、Filter Policy、Router Policy 的使用

1. 技术背景

在部署路由策略的过程中,往往需要通过一些手段 “抓取” 路由,从而能够针对特定的路由来执行相应的策略,以实现差异化。在 “抓取” 路由的工具中,ACL 无疑是最常用的工具之一。

img

在上图中,R2 部署了 RIP 到 OSPF 的路由重发布,在这个场景中,有个特殊需求:将引入 OSPF 后的外部路由 192.168.1.0/24 的 cost 设定为 10,192.168.2.0/24 的 cost 设定为 20,那么便要先匹配或者说 “抓取” 相关路由,然后针对不同的路由在 route-policy 中 apply 不同的 cost,从而实现策略。

使用 ACL 来应对这个需求是完全没问题的,定义一个 ACL2001,匹配 192.168.1.0,定义一个 ACL2002 匹配 192.168.2.0,然后在 route-policy RP 中写两个 node 分别针对这两条路由 apply 不同的 cost 值,很简单。

但是……

img

上面这个环境,ACL 就无能为力了。为什么呢?

因为 ACL 只能够匹配路由前缀的网络地址部分,无法匹配路由前缀的网络掩码(或者说前缀长度)。

准确的说,一条路由前缀是包含网络地址和网络掩码(前缀长度)的,对于 192.168.1.0,这算不上一条完整的路由,应该采用 192.168.1.0 255.255.255.0 或者 192.168.1.0/24 的方式呈现,这才是一条完整路由。而只要网络地址或者网络掩码中有任何一项不同,这就是两条不同的路由了,例如 192.168.1.0/24 和 192.168.1.0/25,这就是两条不同的路由。

ACL 是无法匹配路由前缀的掩码部分的,因此上图所示的需求用 ACL 是无法完成的。

这里顺便提一下,如果使用 Basic ACL 匹配路由,建议在书写 ACL 时,反掩码使用 0.0.0.0,否则会造成匹配不精确的现象。例如要匹配 192.168.1.0/24 这条路由,如果 acl 的 rule 这么写:

rule permit source 192.168.1.0 0.0.0.255

这事实上是不严谨的,因为它将 192.168.1.0、192.168.1.1、192.168.1.2、192.168.1.3………… 等众多网络地址全匹配到了。也就是说,上面的 0.0.0.255,并不能用于匹配网络掩码 255.255.255.0,它只不过是与前面的 192.168.1.0 组合,并用于匹配网络地址而已。所以,建议这么写:

rule permit source 192.168.1.0 0.0.0.0

或者:

rule permit source 192.168.1.0 0

2.IP-Prefix(IP 前缀列表)

  1. IP 前缀列表匹配路由的可控性比 ACL 高得多,也更为灵活;
  2. IP 前缀列表可匹配路由前缀中的网络地址及网络掩码(前缀长度),增强了匹配的精确度;
  3. IP 前缀列表除了能够匹配具体的网络掩码长度,还能够匹配掩码长度范围,非常灵活。
  4. 一个 IP 前缀列表可以包含一个或多个表项(语句),在匹配过程中依序进行计算。表项中的索引号

(序号)决定了每个表项在整个 IP 前缀列表中的位置。

3.IP 前缀列表的配置

创建一个 IP 前缀列表的配置如下:

[Huawei] ip ip-prefix name [ index index-number ] { permit | deny } ip-address mask-length [ greater-equal greater-equal-value ] [ less-equal less-equal-value ]
  • Name 参数是本 IP 前缀列表的名称。
  • Index 关键字及参数指示本表项在本 IP 前缀列表中的序号(或索引号),该关键字及参数是可选的。缺省情况下,该序号值按照配置先后顺序依次递增,每次加 10,第一个序号值为 10。
  • Permitdeny 关键字用于配置本表项的匹配模式。
  • ip-address mask-length 参数用于分别制定 IP 地址及掩码长度。
  • [ greater-equal greater-equal-value ] [ less-equal less-equal-value ] 是可选配置,用于指定掩码长度的范围。

如果在命令中只指定了 greater-equal,则前缀范围为 [greater-equal-value,32]

如果在命令中只指定了 less-equal,则前缀范围为 [mask-length,less-equal-value]

IP 前缀列表由列表名称进行标识,每个 IP 前缀列表可以包含多个表项。下面的配置展示了一个名为 abcd,它包含两个表项:

[Huawei] ip ip-prefix abcd index 10 deny 1.0.0.0 8
[Huawei] ip ip-prefix abcd index 20 permit 2.0.0.0 8

在 IP 前缀列表的匹配过程中,设备按索引号升序依次检查各个表项,只要有一个表项满足条件,就不再去匹配后续表项。

ip ip-prefix abcd index 10 deny 1.0.0.0 8 为例,这个表项属于 IP 前缀列表 abcd,它的索引号为 10,并且匹配模式为拒绝,在该表项中 IP 前缀为 1.0.0.0,掩码长度为 8,因此这个表项用于匹配路由 1.0.0.0/8,只有该路由才会被匹配,并且该路由将会被该表项过滤(deny)。这个命令中没有定义掩码长度范围。

如果一条路由无法被一个 IP 前缀列表中的所有表项匹配,那么这条路由被视为被该前缀列表拒绝通过。也就是说,一个 IP 前缀列表的末尾,隐含着一条拒绝所有的表项。

4. 配置示例

示例 1:

匹配某条特定路由 192.168.1.0/24:

ip ip-prefix ipprefix1 192.168.1.0 24

匹配默认路由 0.0.0.0/0:

ip ip-prefix ipprefix2 permit 0.0.0.0 0

注意:IP 前缀为 0.0.0.0 时表示通配地址。此时不论掩码指定为多少,都表示掩码长度范围内的所有路由全被匹配

匹配所有 / 32 主机路由:

ip ip-prefix ipprefix3 permit 0.0.0.0 0 greater-equal 32

匹配任意路由 (any):

ip ip-prefix ipprefix4 permit 0.0.0.0 0 less-equal 32

示例 2:

匹配以下路由(用最精确最简洁的方式):

192.168.4.0/24
192.168.5.0/24
192.168.6.0/24
192.168.7.0/24
ip ip-prefix abcd permit 192.168.4.0 22 greater-equal 24 less-equal 24

上面这条命令的意思是,允许那些网络地址的前 22bit (共同的前缀长度)与 192.168.4.0 的前 22bit 相同,并且网络掩码长度为 24 的路由。注意此处 “greater-equal 24 less-equal 24” 要求网络掩码长度既大于或等于 24,又小于或等于 24,因此只能是 24。

示例 3:

img

在以上配置中,首先创建了一个名称为 1 的 IP 前缀列表,该列表中包含一个表项,这个表项要求被匹配路由的网络地址的前 16bit 与 192.168.0.0 的前 16bit 相同,并且路由的网络掩码长度为 16,因此该表项只能用于匹配路由 192.168.0.0/16。由于该表项的匹配模式为 permit,因此路由 192.168.0.0/16 被该 IP 前缀列表允许。

随后定义了一个 route-policy RP,它包含一个节点,且该节点的匹配模式为 permit。该节点调用了 IP 前缀列表 1,如此一来,192.168.0.0/16 将被 route-policy RP 所允许,而由于 route-policy 的末尾隐含着一个拒绝所有的节点,因此对于 route-policy RP 而言,只允许了路由 192.168.0.0/16。


路由工具之路由策略 router-policy、acl 列表与 ip-prefix 前缀列表的区别、过滤列表 filter-policy

3.0.0 路由工具之路由策略 router-policy、acl 列表与 ip-prefix 前缀列表的区别、过滤列表 filter-policy


IP-Prefix 前缀列表

前缀列表能够同时匹配 IP 地址前缀以及掩码长度,列表默认动作为拒绝。
前缀列表的创建方式:
(1)精确匹配某个网段的路由:
匹配 192.168.0.0/24 的路由

[AR1] ip ip-prefix 1 permit 192.168.0.0 24

(2)匹配某个网段的掩码范围
匹配路由前缀为 192.168,掩码为 30~32 之间的路由条目

[AR1] ip ip-prefix 2 permit 192.168.0.0 16 greater-equal 30 less-equal 32

(3)命令介绍
常规用法:

ip ip-prefix 前缀列表名称 动作 (permit/deny) 匹配路由 匹配前缀

进阶用法:

ip ip-prefix 前缀列表名称 动作 匹配路由 匹配前缀 greater-equal 掩码大于等于多少 less-equal 小于等于多少

解析命令:

ip ip-prefix 前缀列表名称 动作 192.168.0.0 16 greater-equal 30 less-equal 32
匹配路由前缀为 192.168,且掩码大于等于 30 小于等于 32 的路由条目。

前缀列表与 ACL

ACL 访问控制列表,即用于流量的匹配与控制,但也能够用于匹配路由条目。
而前缀列表主要用于路由的匹配,所以前缀列表在匹配路由上远胜于 ACL。
前缀列表与 ACL 的区别
1、ACL 无法匹配路由掩码
2、ACL 无法匹配精确的路由

如:存在两个路由 192.168.1.0/24192.168.1.0/16
如果用 ACL 只匹配 192.168.1.0/16 的话应该这么写:
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.255.255
但会发现它仍会把 192.168.1.0/24 的路由匹配到。
因为 ACL 只能通过通配符匹配路由前缀,而不能匹配路由的掩码。
故两条 掩码不同前缀相同 的路由能被 ACL 同时匹配到。
3、ACL 可以对数据包进行过滤,而前缀列表只能匹配路由

router-policy 路由策略

作用:针对特定的路由条目去做属性的更改。
路由策略,即对路由相关属性进行修改。
而对于另一种技术:策略路由,即作用是直接控制路由。
如何应用路由策略
1、首先匹配路由,应用 ACL、IP-prefix 等匹配技术匹配相关路由。
2、属性修改,如修改匹配出来的路由开销、tag 标记等。
3、应用策略,创建好路由策略之后,可在需要进行路由修改的地方进行引用策略。
下面,就通过操作实例来进一步认识路由策略:

应用路由策略过滤路由

1、环境介绍

AR6 与 AR7 建立 OSPF 邻接关系,AR6引入 所有环回口网络。
在这里插入图片描述

2、配置 OSPF

AR6

[AR6] int g0/0/0
[AR6-GigabitEthernet0/0/0] ip add 10.1.67.6 24
[AR6-GigabitEthernet0/0/0] int lo 0
[AR6-LoopBack0] ip add 192.168.0.254 24
[AR6-LoopBack0] int lo 1
[AR6-LoopBack1] ip add 192.168.1.254 24
[AR6-LoopBack1] int lo 2
[AR6-LoopBack2] ip add 192.168.2.254 24
[AR6-LoopBack2] int lo 3
[AR6-LoopBack3] ip add 192.168.3.254 24
[AR6-LoopBack3] q
[AR6] ospf 1 router-id 6.6.6.6
[AR6-ospf-1] a 0
[AR6-ospf-1-area-0.0.0.0] network 10.1.67.6 0.0.0.0
[AR6-ospf-1-area-0.0.0.0] q
[AR6-ospf-1] import-route direct

AR7

[AR7] int g0/0/0
[AR7-GigabitEthernet0/0/0] ip add 10.1.67.7 24
[AR7-GigabitEthernet0/0/0] q
[AR7] ospf 1 router-id 7.7.7.7
[AR7-ospf-1] a 0
[AR7-ospf-1-area-0.0.0.0] network 10.1.67.7 0.0.0.0

检查 OSPF 建立情况

[AR7] display ospf peer br
	 OSPF Process 1 with Router ID 7.7.7.7
		  Peer Statistic Information
 ---------------------------------------------------
 Area Id          Interface                        Neighbor id      State
 0.0.0.0          GigabitEthernet0/0/0             6.6.6.6          Full
 ---------------------------------------------------
[AR7] display ip routing-table protocol ospf
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    192.168.0.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.1.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.2.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0

3、过滤路由

使用路由策略在 AR6 上对引入的 路由进行过滤,过滤 Lop0、Lop1 的路由。
以下两种方式选择一种即可:

(1)ACL 匹配路由方式过滤

创建匹配列表

# 匹配出 Lop1、Lop2 的路由
[AR6] acl 2000
[AR6-acl-basic-2000] rule permit source 192.168.0.0 0.0.0.255
[AR6-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255

创建策略与应用策略

# denylop12 为路由策略的名称,deny 为动作,node 为表示策略匹配顺序
# if-match 用于指定匹配列表
[AR6] route-policy denylop12 deny node 5
[AR6-route-policy] if-match acl 2000
[AR6-route-policy] q
# 先进行拒绝某些路由,最后再放行没有匹配到的路由即可
# 当没有指定 if-match 表示匹配所有的路由
[AR6] route-policy denylop12 permit node 10
[AR6-route-policy] q
# 应用策略在引入路由的时候过滤
[AR6] ospf 1
[AR6-ospf-1] import-route direct route-policy denylop12

查看过滤结果,只剩下了 Lop2、Lop3 了。

<AR7>display ip routing-table protocol ospf
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    192.168.2.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
(2)前缀列表匹配路由方式过滤

创建匹配列表

[AR6] ip ip-prefix denylop12 permit 192.168.0.0 24
[AR6] ip ip-prefix denylop12 permit 192.168.1.0 24
# 对于 ACL 与前缀列表的创建,没有指定 Node 步长的时候都是有默认值的,不会发生覆盖的情况。
# 查看前缀列表的信息
[AR6] dis ip ip-prefix denylop12
Prefix-list denylop12
Permitted 0
Denied 0
        index: 10               permit  192.168.0.0/24
        index: 20               permit  192.168.1.0/24

创建策略与应用策略

# denylop12 为路由策略的名称,deny 为动作,node 为表示策略匹配顺序
# if-match 用于指定匹配列表
[AR6] route-policy denylop12 deny node 5
[AR6-route-policy] if-match ip-prefix denylop12
[AR6-route-policy] q
# 先进行拒绝某些路由,最后再放行没有匹配到的路由即可
# 当没有指定 if-match 表示匹配所有的路由
[AR6] route-policy denylop12 permit node 10
[AR6-route-policy] q
# 应用策略在引入路由的时候过滤
[AR6] ospf 1
[AR6-ospf-1] import-route direct route-policy denylop12

查看过滤结果,只剩下了 Lop2、Lop3 了。

<AR7>display ip routing-table protocol ospf
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    192.168.2.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0

关于路由策略知识点在哪些呢?

在于匹配路由的动作上,但前面的策略只是使用到简单的匹配操作,并没有进行修改路由的属性。

路由策略修改路由属性

在此操作一个 OSPF 实例,通过路由策略对 Lop0、Lop1 的路由打上 Tag 标记。
在这里插入图片描述
基于上面操作过的拓扑环境操作,无过滤路由操作情况下进行。

[AR6] acl 2001
[AR6-acl-basic-2001] rule permit source 192.168.0.0 0.0.0.255
[AR6-acl-basic-2001] rule permit source 192.168.1.0 0.0.0.255
[AR6-acl-basic-2001] q
# 指定路由打上 Tag6 标签
[AR6] route-policy taglop12 permit node 5
[AR6-route-policy] if-match acl 2001
[AR6-route-policy] apply tag 6
[AR6-route-policy] q
# 对于没有匹配到的路由不打上标签
[AR6] route-policy taglop12 permit node 10
[AR6-route-policy] q
# 应用于 OSPF 引入路由时打上标签
[AR6] ospf 1
[AR6-ospf-1] import-route direct route-policy taglop12

在 AR6 上查看引入路由的 LSA 详细信息,查看 LSA 就需要在 LSDB 中观看:

[AR6] display ospf lsdb
	 OSPF Process 1 with Router ID 6.6.6.6
		 Link State Database
		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    7.7.7.7         7.7.7.7             73  36    80000004       1
 Router    6.6.6.6         6.6.6.6             65  36    80000007       1
 Network   10.1.67.6       6.6.6.6             65  32    80000003       0

		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  192.168.2.0     6.6.6.6            113  36    80000002       1
 External  192.168.3.0     6.6.6.6            113  36    80000002       1
 External  10.1.67.0       6.6.6.6            113  36    80000002       1
 External  192.168.0.0     6.6.6.6            109  36    80000001       1
 External  192.168.1.0     6.6.6.6            109  36    80000001       1

 # 引入中的 Lop1、Lop2 为 External5 类 LSA,通过 aes 查看详细信息
 [AR6] display ospf lsdb ase 192.168.0.0
	 OSPF Process 1 with Router ID 6.6.6.6
		 Link State Database
  Type      : External
  Ls id     : 192.168.0.0
  Adv rtr   : 6.6.6.6
  Ls age    : 157
  Len       : 36
  Options   :  E
  seq#      : 80000001
  chksum    : 0xf257
  Net mask  : 255.255.255.0
  TOS 0  Metric: 1
  E type    : 2
  Forwarding Address : 0.0.0.0
  Tag       : 6 【成功打上 Tag 标记】
  Priority  : Low

filter-policy 过滤列表

常规的应用路由策略在引入路由时调用进行过滤路由,但是对于路由本身接收与发布的路由无法进行过滤。
为此 Filter-policy 过滤列表的出现,就解决了接收与发布路由时路由过滤的问题。
关于 filter-policy 有两个应用的方向,export 与 import
export:应用于本身路由器,对传递出去的路由进行过滤。
import:应用于本身路由器,对接收到的路由进行过滤。
对于 export 与 import 所应用于路由协议的不同,其功能也会有所不同。

filter-policy 为不同路由协议过滤时会有不同的效果:

1、距离矢量路由协议 RIP
传递的是路由信息,如果某台设备通过 filter-policy 拒绝了传递而来的路由信息,那么该设备不会学习到并不会继续转发过滤掉的路由。
在这里插入图片描述
2、链路状态路由协议 OSPF、ISIS
由于传递的是链路状态信息(LSA),即使 AR7 部署 filter-policy 过滤了路由,也不会影响 LSA 的传递。
过滤路由后的 LSA 不会进行 SPF 计算,但可以继续传递给其它设备使用。
在这里插入图片描述
实验证明:
AR6、AR7、AR8 建立 OSPF,AR6 将环回口引入网络中。
AR7 上应用 filter-policy 方向为 import,对接收到的路由进行过滤。
【此处就省略 OSPF 的与路由引入等相关操作,主要是对路由过滤命令进行记录】

# 创建匹配列表,指定过滤路由
[AR7] ip ip-prefix lop12 deny 192.168.1.0 24
[AR7] ip ip-prefix lop12 deny 192.168.2.0 24
# 由于默认规则是拒绝,故需要配置一条放行所以路由的策略,避免拒绝了所有路由
[AR7] ip ip-prefix lop12 permit 0.0.0.0 0 less-equal 32
# ospf 模式下应用 ospf filter-policy 过滤指定路由
[AR7] ospf 1
[AR7-ospf-1] filter-policy ip-prefix lop12 import

在 AR7 上查看路由,成功过滤了 lop1、lop2 的路由。
再看 LSDB,虽然过滤了路由但没有过滤 LSA。

<AR7>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    192.168.0.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
<AR7>display ospf lsdb
	 OSPF Process 1 with Router ID 7.7.7.7
		 Link State Database
		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    7.7.7.7         7.7.7.7           1014  48    80000009       1
 Router    6.6.6.6         6.6.6.6            485  36    80000008       1
 Router    8.8.8.8         8.8.8.8           1022  36    80000003       1
 Network   10.1.78.7       7.7.7.7           1014  32    80000002       0
 Network   10.1.67.6       6.6.6.6            485  32    80000004       0

		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  192.168.2.0     6.6.6.6            533  36    80000003       1
 External  192.168.3.0     6.6.6.6            533  36    80000003       1
 External  10.1.67.0       6.6.6.6            533  36    80000003       1
 External  192.168.0.0     6.6.6.6           1094  36    80000002       1
 External  192.168.1.0     6.6.6.6           1094  36    80000002       1

在 AR8 上观看路由,还能正常的学习到路由条目。
但去访问该路由却无法成功,因为中间的 AR7 并没有对应的路由条目。

<AR8>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
      10.1.67.0/24  OSPF    10   2           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.0.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.1.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.2.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
# 由于 AR7 没有 1.0 的路由条目,故无法访问成功
<AR8>ping 192.168.1.254
  PING 192.168.1.254: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out

关于 OSPF 中应用 filter-policy 的进一步理解

在 OSPF 中应用 filter-polic 的 import 方向 y 过滤路由但不会过滤 LSA。

那么 filter-policy 的 export 方向呢

对于 OSPF 出方向只能在 ASBR 上操作,因为在 OSPF 中 filter-policy 的 export 方向只能过滤 5 类的 LSA。
ASBR 的出方向应用过滤列表,会直接将 5 类 LSA 进行过滤,不会传递出去。

实验证明 filter-policy 的 export 只能过滤 5 类
在这里插入图片描述
省略的相关配置介绍
1、AR6、AR7、AR8 正常建立 OSPF 邻接关系
2、AR6 上将 lop0~lop3 引入 OSPF 中,lop4 正常进行 network 宣告
以下配置主要是 AR6 通过 filter-policy 进行过滤 lop1、lop4 的操作:

[AR6] acl 2000
[AR6-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
[AR6-acl-basic-2000] rule deny source 192.168.4.0 0.0.0.255
[AR6-acl-basic-2000] rule permit source any
[AR6-acl-basic-2000] q
[AR6] ospf 1
[AR6-ospf-1] filter-policy 2000 export

查看 AR7 的路由表与 LSDB 表,发现 lop1 不见了,但 lop4 还存在。
说明了 filter-policy 的 export 只能过滤 5 类 LSA,不能过滤普通路由。

<AR7>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
----------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    192.168.0.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.2.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.67.6       GigabitEthernet0/0/0
  192.168.4.254/32  OSPF    10   1           D   10.1.67.6       GigabitEthernet0/0/0
<AR7>display ospf lsdb
	 OSPF Process 1 with Router ID 7.7.7.7
		 Link State Database
		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    7.7.7.7         7.7.7.7            991  48    8000000A       1
 Router    6.6.6.6         6.6.6.6            385  48    8000000A       1
 Router    8.8.8.8         8.8.8.8            999  36    80000004       1
 Network   10.1.78.7       7.7.7.7            991  32    80000003       0
 Network   10.1.67.6       6.6.6.6            462  32    80000005       0
		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  192.168.0.0     6.6.6.6            104  36    80000001       1
 External  192.168.2.0     6.6.6.6            104  36    80000001       1
 External  192.168.3.0     6.6.6.6            104  36    80000001       1
 External  10.1.67.0       6.6.6.6            104  36    80000001       1

扩展操作,理论上说出方向只能在 ASBR 上操作,那我在 AR7 非 ASBR 上做呢?

[AR7] acl 2000
[AR7-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
[AR7-acl-basic-2000] rule deny source 192.168.4.0 0.0.0.255
[AR7-acl-basic-2000] rule permit source any
[AR7-acl-basic-2000] q
[AR7] ospf 1
[AR7-ospf-1] filter-policy 2000 export

在 AR8 上观看路由表与 LSDB 表,发现没有任何的变化(过滤失败)。

<AR8>display ip routing-table pro ospf
Route Flags: R - relay, D - download to fib
----------------------------------------------------
Public routing table : OSPF
         Destinations : 7        Routes : 7
OSPF routing table status : <Active>
         Destinations : 7        Routes : 7
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
      10.1.67.0/24  OSPF    10   2           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.0.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.1.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.2.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.3.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
    192.168.4.0/24  O_ASE   150  1           D   10.1.78.7       GigabitEthernet0/0/0
  192.168.4.254/32  OSPF    10   2           D   10.1.78.7       GigabitEthernet0/0/0
<AR8>display ospf lsdb
	 OSPF Process 1 with Router ID 8.8.8.8
		 Link State Database
		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    7.7.7.7         7.7.7.7           1364  48    8000000A       1
 Router    6.6.6.6         6.6.6.6            758  48    8000000A       1
 Router    8.8.8.8         8.8.8.8           1369  36    80000004       1
 Network   10.1.78.7       7.7.7.7           1364  32    80000003       0
 Network   10.1.67.6       6.6.6.6            835  32    80000005       0

		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  192.168.4.0     6.6.6.6            200  36    80000001       1
 External  192.168.2.0     6.6.6.6            477  36    80000001       1
 External  192.168.3.0     6.6.6.6            477  36    80000001       1
 External  10.1.67.0       6.6.6.6            477  36    80000001       1
 External  192.168.0.0     6.6.6.6            200  36    80000001       1
 External  192.168.1.0     6.6.6.6            477  36    80000001       1

关于 OSPF 应用 filter-policy 的结论:

关于 export 方向,只能在 ASBR 设备上应用过滤 5 类的路由条目。
关于 import 方向,可以应用在任何路由器上过滤路由条目,但不能过滤 LSA。


via:

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值