# 路由过滤&路由引入实验

# 一、实验拓扑

注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在 192.168.1.0/24 网段,则其 IP 地址为 192.168.1.3/24,以此类推

# 二、实验需求

  1. 按照图示配置 IP 地址,R1,R3,R4 上使用 loopback 口模拟业务网段
  2. R1 和 R2 运行 RIPv2,R2,R3 和 R4 运行 OSPF,各自协议内部互通
  3. 在 RIP 和 OSPF 间配置双向路由引入,要求除 R4 上的业务网段以外,其他业务网段路由都引入到对方协议内部
  4. 使用路由过滤,使 R4 无法学习到 R1 的业务网段路由,要求使用 prefix-list 进行匹配
  5. 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