实验拓扑
实验需求
- 按照图示配置 IP 地址,R1,R3,R4 上使用 loopback 口模拟业务网段
- R1 和 R2 运行 RIPv2,R2,R3 和 R4 运行 OSPF,各自协议内部互通
- 在 RIP 和 OSPF 间配置双向路由引入,要求除 R4 上的业务网段以外,其他业务网段路由都引入到对方协议内部
- 使用路由过滤,使 R4 无法学习到 R1 的业务网段路由,要求使用 prefix-list 进行匹配
- OSPF 区域中不能出现 RIP 协议报文
实验步骤
1、配置 IP 地址
[H3C]sysname R1
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24
[R1-GigabitEthernet0/0]int loop 0
[R1-LoopBack0]ip add 192.168.0.1 32
[R1-LoopBack0]int loop 1
[R1-LoopBack1]ip add 192.168.1.1 32
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 100.1.1.2 24
[R2-GigabitEthernet0/0]int g0/1
[R2-GigabitEthernet0/1]ip add 100.2.2.2 24
[H3C]sysname R3
[R3]int g0/0
[R3-GigabitEthernet0/0]ip add 100.2.2.3 24
[R3-GigabitEthernet0/0]int g0/1
[R3-GigabitEthernet0/1]ip add 100.3.3.3 24
[R3-GigabitEthernet0/1]int loop 0
[R3-LoopBack0]ip add 192.168.2.1 32
[R3-LoopBack0]int loop 1
[R3-LoopBack1]ip add 192.168.3.1 32
[R4]int g0/0
[R4-GigabitEthernet0/0]ip add 100.3.3.4 24
[R4-GigabitEthernet0/0]int loop 0
[R4-LoopBack0]ip add 192.168.4.1 32
[R4-LoopBack0]int loop 1
[R4-LoopBack1]ip add 192.168.5.1 32
2、配置RIP
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]un summary
[R1-rip-1]net 192.168.0.0
[R1-rip-1]net 192.168.1.0
[R1-rip-1]net 100.1.1.0
[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]un summary
[R2-rip-1]net 100.1.1.0
3、配置OSPF
[R2]ospf 1
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255
[R3]ospf 1
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]a 1
[R3-ospf-1-area-0.0.0.1]net 100.3.3.0 0.0.0.255
[R4]ospf 1
[R4-ospf-1]a 1
[R4-ospf-1-area-0.0.0.1]net 100.3.3.0 0.0.0.255
[R4-ospf-1-area-0.0.0.1]net 192.168.4.0 0.0.0.255
[R4-ospf-1-area-0.0.0.1]net 192.168.5.0 0.0.0.255
4、在 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.1 0.0.0.0
[R2-acl-ipv4-basic-2000]rule permit source 192.168.3.1 0.0.0.0
步骤 2:在 R2 上创建路由策略,关联 ACL
[R2]route-policy o2r permit node 10
Routing policy node created.
[R2-route-policy-o2r-10]if-match ip add acl 2000
步骤 3:在 RIP 中引入 OSPF 路由,调用路由策略,只引入 R3上的业务网段
[R2]rip 1
[R2-rip-1]import-route ospf route-policy o2r
步骤 4:在 OSPF 中引入 RIP 路由
[R2]ospf 1
[R2-ospf-1]import-route rip
效果测试:在 R1 上查看路由表,发现只学习到了 R3 的业务网段路由,在 R3 上查看路由表,学习到了 R1 上的业务网段路由
5、使用路由过滤,使 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
[R4-ospf-1]filter-policy prefix-list guolv import
效果测试:在 R4 上查看路由表,发现已经无法学习到 R1 的业务网段路由
6、OSPF 区域中不能出现 RIP 协议报文
分析:由于 R2 要通过 g0/0 口和 R1 运行 RIP,所以需要在 RIP 中宣告 g0/0 口所在网段,但是 RIP 只能进行主类网络宣告,而连接 OSPF 区域的 g0/1 口和 g0/0 口属于同一个主类网络,所以会造成 g0/1 口被迫宣告进 RIP,导致 RIP 向 OSPF 区域发送协议报文
这里需要在 R2 的 RIP 协议中,把连接 OSPF 区域的接口配置为静默接口
在 R2 的 RIP 中,把 g0/1 口配置为静默接口
[R2]rip 1
[R2-rip-1]silent-interface g0/1