实验拓扑
IP地址规划
- 拓扑中的 IP 地址段采用:172.16.AB.X/24。
- 其中 AB 为两台路由器编号组合,例如:R3-R6 之间的 AB 为 36,X 为路由器编号,例如R3 的 X=3
- 所有路由器都有一个 loopback 0 接口,地址格式为:X.X.X.X/24,其中 X 为路由器编号。
- 各区网段均连接一台 PC,地址为 XX.XX.XX.0/24,A1 网段为 55.55.55.0/24 和 A2 网段为55.55.56.0/24。(请自行添加板卡连接 PC)
- 如无明确说明,在不影响需求的前提下可任意设置
- IP 地址详情如下表所示:
实验需求
- 所有区均用 PC 模拟,地址写法遵循 IP 地址规划中关于各区网段的规范配置;如无明确说明,禁止使用静态路由,禁止出现主机路由,禁止直接使用 ACL 过滤数据。
- 连通性:按照拓扑图配置 RIP /OSPF1 /OSPF 2 路由协议,关闭所有自动汇总,要求配置 RIP 使得路由器只向 RIP 路由器发送更新, OSPF1 和 2 手动指明 RID 为 loopback0,R2、 R4 做双向重分布,R6 把 RIP 重分布到 OSPF 1 开销为 2,要求全网 ping 通。
- A1 区有一 http server,IP 为 55.55.55.1/24 ,配置使得此 server 只对 I、II 区开放,对 III 区隐藏(注:filter-policy)。
- R4 上配置,要求 OSPF 1 重分布到 OSPF 2 时,B 区 metric 值为 100,类型为 E2;C 区 metric值为 200,类型为 E1,其他路由按照默认设置(注:route-policy)。
- R1 有如下网段:11.11.1.0/24、11.11.2.0/24、11.11.3.0/24(自行配置 PC 模拟),要求在 R2上配置最小路由汇总使得 III 区可以访问 R1 的这三个网段。
- R7 上有 D 区域 IP 为 77.77.77.0/24,在 R7 上配置使 R5 无法接收到 77.77.77.0/24 的路由,要求用前缀列表(注:filter-policy)。
- 要求 A1 到 F 区的数据流走 R4,A2 到 G 区的数据流走 R6。(PBR)
- 假设怀疑 E 区可能发生故障,现要求 A1 原本流向 E 区的数据流在 R4 上丢弃以免造成拥塞。
- R4 上配置,要求 R4 访问 G 区走 I 区 III 区路线其他照常。(要求:不用策略路由 PBR, 使用 TAG、route-policy 配合 perference 实现)
实验配置及其实验现象验证
需求1:所有区均用 PC 模拟,地址写法遵循 IP 地址规划中关于各区网段的规范配置;如无明确说明,禁止使用静态路由,禁止出现主机路由,禁止直接使用 ACL 过滤数据。
按照IP地址详情预配置IP地址
需求2:连通性:按照拓扑图配置 RIP /OSPF1 /OSPF 2 路由协议,关闭所有自动汇总,要求配置 RIP 使得路由器只向 RIP 路由器发送更新, OSPF1 和 2 手动指明 RID 为 loopback0,R2、 R4 做双向重分布,R6 把 RIP 重分布到 OSPF 1 开销为 2,要求全网 ping 通。(注意:华三路由引入时,只会引入路由表中标识为该路由协议的路由条目,不会将本地直连路由引入,故还需引入直连路由)
#R1
[R1] ospf 2 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1] area 1
[R1-ospf-1] area 3 [R1] int LoopBack 0
[R1-LoopBack0] ospf 2 area 0
[R1] int GigabitEthernet 0/1
[R1-GigabitEthernet0/1] ospf 2 area 0
[R1] int GigabitEthernet 0/2
[R1-GigabitEthernet0/2] ospf 2 area 1
[R1] int GigabitEthernet 5/0
[R1-GigabitEthernet5/0] ospf 2 area 1
[R1] int GigabitEthernet 5/1
[R1-GigabitEthernet5/1] ospf 2 area 1
[R1] int GigabitEthernet 0/0
[R1-GigabitEthernet0/0] ospf 2 area 3
#R2
[R2] ospf 2 router-id 2.2.2.2
[R2-ospf-2] area 0
[R2-ospf-2] import-route rip 1 //将 RIP 路由引入到 OSPF 网络中
[R2-ospf-2] import-route direct //引入直连 [R2] int GigabitEthernet 0/0
[R2-GigabitEthernet0/0] ospf 2 area 0 [R2] int GigabitEthernet 0/1
[R2-GigabitEthernet0/1] ospf 2 area 0 [R2] int LoopBack 0
[R2-LoopBack0] ospf 2 area 0
[R2] rip 1
[R2-rip-1] version 2 //指定全局 RIP 版本
[R2-rip-1] undo summary //关闭自动汇总
[R2-rip-1] network 192.168.23.0 //在指定网段使能 RIP
[R2-rip-1] import-route ospf 2 //将 OSPF 路由引入到 RIP 网络中
[R2-rip-1] import-route direct //引入直连
#R3
[R3] rip 1
[R3-rip-1] version 2
[R3-rip-1] undo summary
[R3-rip-1] network 192.168.23.0
[R3-rip-1] network 192.168.36.0
[R3-rip-1] network 33.0.0.0
[R3-rip-1] network 3.0.0.0
#R4
[R4] ospf 1 router-id 4.4.4.4
[R4-ospf-1] area 0
[R4-ospf-1] import-route ospf 2 //将 OSPF2 路由引入到 OSPF1 网络中
[R4-ospf-1] import-route direct //将直连引入 [R4] ospf 2 router-id 4.4.4.4[R4-ospf-2] area 3
[R4-ospf-2] import-route ospf 1 //将 OSPF1 路由引入到 OSPF2 网络中
[R4-ospf-2] import-route direct //将直连引入
[R4] int GigabitEthernet 0/0
[R4-GigabitEthernet0/0] ospf 2 area 3
[R4] int GigabitEthernet 0/1
[R4-GigabitEthernet0/1] ospf 1 area 0
[R4] int GigabitEthernet 0/2
[R4-GigabitEthernet0/2] ospf 1 area 0
[R4] int LoopBack 0
[R4-LoopBack0] ospf 1 area 0
#R5
[R5] ospf 1 router-id 5.5.5.5
[R5-ospf-1] area 1 [R5] int LoopBack 0
[R5-LoopBack0] ospf 1 area 1 [R5] int GigabitEthernet 0/0
[R5-GigabitEthernet0/0] ospf 1 area 1
[R5] int GigabitEthernet 0/1
[R5-GigabitEthernet0/1] ospf 1 area 1
[R5] int GigabitEthernet 0/2
[R5-GigabitEthernet0/0/2] ospf 1 area 1
#R6
#R6
[R6] ospf 1 router-id 6.6.6.6
[R6-ospf-1] area 0
[R6-ospf-1] import-route rip 1 cost 2 //RIP1 引入到 OSPF 1,开销为 2 [R6-ospf-1] import-route direct //引入直连
[R6] int LoopBack 0
[R6-LoopBack0] ospf 1 area 0
[R6] int GigabitEthernet 0/1
[R6-GigabitEthernet0/1] ospf 1 area 0
[R6] int GigabitEthernet 0/2
[R6-GigabitEthernet0/0/2] ospf 1 area 0
[R6] rip 1
[R6-rip-1] undo summary [R6-rip-1] version 2
[R6-rip-1] network 192.168.36.0
#R7
[R7] ospf 1 router-id 7.7.7.7
[R7-ospf-1] area 0
[R7-ospf-1] area 1
[R7] int GigabitEthernet 0/0
[R7-GigabitEthernet0/0] ospf 1 area 1
[R7] int GigabitEthernet 0/1
[R7-GigabitEthernet0/1] ospf 1 area 0
[R7] int GigabitEthernet 0/2
[R7-GigabitEthernet0/2] ospf 1 area 0
[R7] int GigabitEthernet 5/0
[R7-GigabitEthernet5/0] ospf 1 area 0
[R7] int LoopBack 0
[R7-LoopBack0] ospf 1 area 0
需求3:A1 区有一 http server,IP 为 55.55.55.1/24 ,配置使得此 server 只对 I、II 区开放,对 III 区隐藏(注:filter-policy)。(III 区域的 55.55.55.0/24 路由信息只能通过 R2 的重分布学习,通过 R2 发布 RIP 路由时使用路由过滤工具 filter-policy 不允许发送 55.55.55.0/24 路由,并允许发送其他路由即可实现需求。)
#R2
[R2]ip prefix-list A1 deny 55.55.55.0 24//匹配前缀信息为 55.55.55.0/24 动作为拒绝
[R2]ip prefix-list A1 permit 0.0.0.0 0 less-equal 32 //放行剩下的路由
[R2] rip 1
[R2-rip-1] filter-policy prefix-list A1 export
//在发布 RIP 路由时过滤
需求4:R4 上配置,要求 OSPF 1 重分布到 OSPF 2 时,B 区 metric 值为 100,类型为 E2;C 区 metric值为 200,类型为 E1,其他路由按照默认设置(注:route-policy)。(使用 route-policy 中的两个 node 分别对 B 区和 C 区的路由进行操作,最后添加一个 node 允许其他所有的路由不做任何操作通过 。)
#R4
[R4] ip prefix-list B index 10 permit 44.44.44.0 24 //匹配 B 区路由信息
[R4] ip prefix-list C index 10 permit 66.66.66.0 24 //匹配 C 区路由信息
[R4] route-policy B permit node 10
[R4-route-policy-B -10] if-match ip address prefix-list B
//条件语句:匹配前缀列表 B
[R4-route-policy-B -10] apply cost 100 //执行语句:cost100
[R4-route-policy-B -10] apply cost-type type-2 //执行语句:类型为 E2
[R4] route-policy B permit node 20
[R4] route-policy C permit node 10
[R4-route-policy- C-10] if-match ip address prefix-list C
[R4-route-policy- C-10] apply cost 200
[R4-route-policy- C-10] apply cost-type type-1
[R4] route-policy C permit node 20
[R4] ospf 2
[R4-ospf-2] import-route direct route-policy B
[R4-ospf-2] import-route ospf 1 route-policy C
验证:
需求5:R1 有如下网段:11.11.1.0/24、11.11.2.0/24、11.11.3.0/24(自行配置 PC 模拟),要求在 R2上配置最小路由汇总使得 III 区可以访问 R1 的这三个网段。
[r2]int g0/2
[r2-GigabitEthernet0/2]
[r2-GigabitEthernet0/2]rip su
[r2-GigabitEthernet0/2]rip summary-address 11.11.0.0 255.255.252.0
验证:
需求六:R7 上有 D 区域 IP 为 77.77.77.0/24,在 R7 上配置使 R5 无法接收到 77.77.77.0/24 的路由,要求用前缀列表(注:filter-policy)。(D 区域属于 OSPF 区域 0,R5 属于 OSPF 区域 1, 在 ABR 上可以使用 filter-policy 过滤 3 类LSA,过滤 R7 不将 3 类 LSA 中的 77.77.77.0/24 发布到 area 1 中)
#R7
[R7] ip prefix-list D index 10 deny 77.77.77.0 24 //排除 77.77.77.0/24 路由
[R7] ip prefix-list D index 20 permit 0.0.0.0 0 less-equal 32
[R7] ospf 1
[R7-ospf-1] area 0
[R7-ospf-1-area-0.0.0.0] filter prefix-list D export //通告的时候过滤
验证:[R7] display ospf lsdb self-originate //自身通告到 area1 的 LSA3 没有 77.77.77.0/24
需求七:要求 A1 到 F 区的数据流走 R4,A2 到 G 区的数据流走 R6。(PBR)
#R7
[R7] acl advanced name A1_F//配置 ACL,从 A1 到 F
[R7-acl-ipv4-adv-A1_F] rule 10 permit ip source 55.55.55.0 0.0.0.255 destination
22.22.22.0 0.0.0.255
[R7] acl advanced name A2_G //配置 ACL,从 A2 到 G
[R7-acl-ipv4-adv-A2_G] rule 10 permit ip source 55.55.56.0 0.0.0.255 destination
33.33.33.0 0.0.0.255
[R7] policy-based-route QWER permit node 10
[R7-pbr-QWER-10] if-match acl name A1_F //匹配感兴趣流
[R7-pbr-QWER-10] apply next-hop 172.16.47.4 //重定向下一跳
[R7-pbr-QWER-10] policy-based-route QWER permit node 20
[R7-pbr-QWER20] if-match acl name A2_G //匹配感兴趣流
[R7-pbr-QWER-20] apply next-hop 172.16.67.6 //重定向下一跳
[R7-pbr-QWER20] quit
[R7] int g0/0 //在接口入方向上应用 PBR
[R7-GigabitEthernet0/0] ip policy-based-route QWER
验证:
#全网开启 tracert 功能,在所有路由器配置以下两条指令,以 R1 为例
#R1
[R1] ip unreachables enable
[R1] ip ttl-expires enable
需求八:假设怀疑 E 区可能发生故障,现要求 A1 原本流向 E 区的数据流在 R4 上丢弃以免造成拥塞。
#R4
[R4] acl advanced name A1_E
[r4-acl-ipv4-adv-a_e]rule 10 deny ip source 55.55.55.0 0 .0.0.255 destination 11.
11.11.0 0.0.3.255
[R4-acl-ipv4-adv-A1_E] rule 20 permit ip source any destination any [R4] int GigabitEthernet 0/1 //在接口下基于 ACL 对报文进行过滤
[R4-GigabitEthernet0/1] packet-filter name A1_E inbound
需求九:R4 上配置,要求 R4 访问 G 区走 I 区 III 区路线其他照常。(要求:不用策略路由 PBR, 使用 TAG、route-policy 配合 perference 实现)
#R6
[R6] ospf 1
[R6-ospf-1] import-route rip 1 tag 33 cost 2 //引入时打上 tag33
R4
[R4] ip prefix-list G index 10 permit 33.33.33.0 24 //匹配前缀信息 33.33.33.0/24
[R4] route-policy G permit node 10
[R4-route-policy-G-10] if-match tag 33 //条件语句:匹配 tag33
[R4-route-policy-G-10] if-match ip address prefix-list G //条件语句:匹配前缀列表 G
[R4-route-policy-G-10] apply preference 100 //执行语句:优先级改为 100
[R4] route-policy G permit node 20 //其他的路由不做操作
[R4] ospf 1
[R4-ospf-1] preference ase route-policy G //此处加上 ase 是针对外部路由来修改