# 路由过滤&路由引入实验
# 一、实验拓扑
注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在 192.168.1.0/24 网段,则其 IP 地址为 192.168.1.3/24,以此类推
# 二、实验需求
- 按照图示配置 IP 地址,R1,R3,R4 上使用 loopback 口模拟业务网段
- R1 和 R2 运行 RIPv2,R2,R3 和 R4 运行 OSPF,各自协议内部互通
- 在 RIP 和 OSPF 间配置双向路由引入,要求除 R4 上的业务网段以外,其他业务网段路由都引入到对方协议内部
- 使用路由过滤,使 R4 无法学习到 R1 的业务网段路由,要求使用 prefix-list 进行匹配
- OSPF 区域中不能出现 RIP 协议报文
# 三、实验解法
1.配置 IP 地址部分略
2.配置 RIP 和 OSPF 部分略
在 RIP 和 OSPF 间配置双向路由引入,要求除 R4 上的业务网段以外,其他业务网段路由都引入到对方协议内部
分析:根据需求,得知需要在 R2 上把 RIP 的路由全部引入到 OSPF,把 OSPF 的 192.168.2.1/32 和 192.168.3.1/32 网段的路由引入到 RIP,192.168.4.1/32 和 192.168.5.1/32 网段的路由要在引入的时候过滤掉
所以在 RIP 引入到 OSPF 时,不用配置任何路由策略,但是在 OSPF 引入到 RIP 时,需要使用路由策略来只匹配 R3 上的业务网段
根据路由策略的匹配流程,只需要配置一个节点来抓取 R3 上的业务网段;这里不涉及到修改路由属性,所以不需要配置任何 Apply 子句
步骤 1:在 R2 上创建 ACL 来匹配 R3 上的业务网段路由,并把其他网段路由过滤掉
[R2]acl basic 2000
[R2-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.1.255
步骤 2:在 R2 上创建路由策略,关联 ACL
[R2]route-policy o2r permit node 10
[R2-route-policy-o2r-10]if-match ip address acl 2000
步骤 3:在 RIP 中引入 OSPF 路由,调用路由策略,只引入 R2 上的业务网段
[R2-rip-1]import-route ospf route-policy o2r
步骤 4:在 OSPF 中引入 RIP 路由
[R2-ospf-1]import-route rip
效果测试:在 R1 上查看路由表,发现只学习到了 R3 的业务网段路由,在 R3 上查看路由表,学习到了 R1 上的业务网段路由
[R1]display ip routing-table
Destinations : 17 Routes : 17
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
100.1.1.0/24 Direct 0 0 100.1.1.1 GE0/0
100.1.1.0/32 Direct 0 0 100.1.1.1 GE0/0
100.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
100.1.1.255/32 Direct 0 0 100.1.1.1 GE0/0
100.2.2.0/24 RIP 100 1 100.1.1.2 GE0/0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.1.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.2.1/32 RIP 100 1 100.1.1.2 GE0/0
192.168.3.1/32 RIP 100 1 100.1.1.2 GE0/0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
[R3]display ip routing-table
Destinations : 22 Routes : 22
Destination/Mask Proto Pre Cost NextHop Interface
……
192.168.0.1/32 O_ASE2 150 1 100.2.2.2 GE0/0
192.168.1.1/32 O_ASE2 150 1 100.2.2.2 GE0/0
……
4.使用路由过滤,使 R4 无法学习到 R1 的业务网段路由,要求使用 prefix-list 进行匹配
分析:默认情况下,R1 的业务网段路由会被 R2 引入后,以 Type—5 LSA 进入 OSPF,传递到所有 OSPF 区域 这里要求 R4 不能学习到 R1 的业务网段路由,所以要在 R4 上对路由进行过滤 由于 R1 的业务网段路由是以 Type-5 LSA 的形式传递的,所以无法使用过滤 Type-3 LSA 的方法进行过滤,只能对计算出的路由结果进行过滤 要求使用 prefix-list 进行路由匹配。R1 的业务网段聚合后属于 192.168.0.0/23 网段,但是由于使用环回口模拟,所以路由的子网掩码为 32 位,所以需要配置掩码范围为 less-eq 32,动作为拒绝,另外还需配置一条规则用于允许所有
步骤 1:在 R4 上创建 prefix-list,拒绝 192.168.0.0/23 地址范围,且掩码范围 less-eq 32 的路由,且允许其他所有路由
[R4]ip prefix-list guolv index 10 deny 192.168.0.0 23 less-equal 32
[R4]ip prefix-list guolv index 20 permit 0.0.0.0 0 less-equal 32
步骤 2:在 R4 上进入 OSPF 视图,配置路由过滤,调用上一步创建的 prefix-list
[R4-ospf-1]filter-policy prefix-list guolv import
效果测试:在 R4 上查看路由表,发现已经无法学习到 R1 的业务网段路由
[R4]display ip routing-table
Destinations : 17 Routes : 17
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
100.2.2.0/24 O_INTER 10 2 100.3.3.3 GE0/0
100.3.3.0/24 Direct 0 0 100.3.3.4 GE0/0
100.3.3.0/32 Direct 0 0 100.3.3.4 GE0/0
100.3.3.4/32 Direct 0 0 127.0.0.1 InLoop0
100.3.3.255/32 Direct 0 0 100.3.3.4 GE0/0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.2.1/32 O_INTER 10 1 100.3.3.3 GE0/0
192.168.3.1/32 O_INTER 10 1 100.3.3.3 GE0/0
192.168.4.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.5.1/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
5.OSPF 区域中不能出现 RIP 协议报文
分析:由于 R2 要通过 g0/0 口和 R1 运行 RIP,所以需要在 RIP 中宣告 g0/0 口所在网段,但是 RIP 只能进行主类网络宣告,而连接 OSPF 区域的 g0/1 口和 g0/0 口属于同一个主类网络,所以会造成 g0/1 口被迫宣告进 RIP,导致 RIP 向 OSPF 区域发送协议报文 这里需要在 R2 的 RIP 协议中,把连接 OSPF 区域的接口配置为静默接口
步骤 1:在 R2 的 RIP 中,把 g0/1 口配置为静默接口
[R2-rip-1]silent-interface g0/1