一.实验拓扑
二.实验需求
1. R4 为 ISP,仅配置 IP 地址,与直连设备使用公有 IP
需求分析
- R4 是模拟的 ISP 路由器,不参与动态路由协议(如 OSPF),仅负责提供连接。
- R4 与其他设备(如 R3、R12)之间的链路使用公有 IP 地址,模拟公网环境。
- R4 的环回地址(如 4.4.4.4)需要被全网访问,因此需要确保其他设备能通过路由找到该地址。
实现逻辑
- 在 R4 上配置接口 IP 地址,但不启用任何动态路由协议。
- 其他设备(如 R3、R12)需要通过静态路由或动态路由(如 OSPF)将 R4 的环回地址注入路由表。
2. R3-R5 、R6、R7 为 MGRE 环境,R3 为中心站点
需求分析
- MGRE(多点 GRE)是一种隧道技术,允许多个分支站点通过一个中心站点(R3)通信。
- R3 作为中心站点,R5、R6、R7 作为分支站点,通过 GRE 隧道连接到 R3。
- MGRE 环境需要支持动态路由协议(如 OSPF),以实现分支站点之间的通信。
实现逻辑
- 在 R3 上配置 MGRE 隧道接口,并指定源接口(如连接 R4 的接口)。
- 在 R5、R6、R7 上配置 GRE 隧道接口,指向 R3 的公有 IP 地址。
- 在 MGRE 隧道接口上启用 OSPF,确保分支站点之间可以学习路由。
3. 整个 OSPF 环境 IP 基于 172.16.0.0/16 划分;R12 有两个环回,其他路由器均有一个环回 IP
需求分析
- OSPF 的路由环境基于 172.16.0.0/16 网段划分,确保 IP 地址规划合理。
- R12 有两个环回接口(如 172.16.12.1/32 和 172.16.12.2/32),其他路由器各有一个环回接口(如 R3 的环回为 172.16.3.3/32)。
- 环回地址用于测试路由可达性和 OSPF 邻居关系。
实现逻辑
- 为每个路由器的环回接口分配唯一的 IP 地址,并在 OSPF 中宣告。
- 确保 OSPF 的网络划分清晰,避免 IP 地址冲突。
4. 所有设备均可访问 R4 的环回
需求分析
- R4 的环回地址(如 4.4.4.4)需要被全网访问,包括 OSPF 环境中的所有路由器。
- 由于 R4 不参与 OSPF,需要通过其他方式(如静态路由或默认路由)将 R4 的环回地址注入 OSPF 环境。
实现逻辑
- 在 R3 和 R12 上配置静态路由,指向 R4 的环回地址。
- 在 OSPF 中通过默认路由注入 (如 default-information originate)或静态路由重分发,使其他设备能够访问 R4 的环回。
5. 减少 LSA 的更新量,加快收敛,保障更新安全
需求分析
- OSPF 的 LSA(链路状态通告)更新量过大可能导致网络性能下降。
- 加快收敛速度可以减少网络故障时的恢复时间。
- 保障更新安全可以通过 OSPF 认证实现,防止非法路由器注入错误路由。
实现逻辑
- 减少 LSA 更新量 :
- 使用 OSPF Stub 区域或 Totally Stub 区域,减少外部路由的传播。
- 在 MGRE 环境中,将 R3 作为 ABR(区域边界路由器),过滤不必要的 LSA。
- 加快收敛 :
- 调整 OSPF 计时器(如 Hello 和 Dead 时间)。
- 使用 BFD(双向转发检测)加速故障检测。
- 保障更新安全 :
- 启用 OSPF 认证(如 MD5 认证),确保只有合法路由器可以参与 OSPF。
6. 全网可达
需求分析
- 所有设备(包括 OSPF 环境中的路由器和 R4)之间需要能够互相通信。
- 需要确保路由表完整,没有黑洞路由。
实现逻辑
- 通过 OSPF 学习内部路由,通过静态路由或默认路由访问外部网络(如 R4 的环回)。
- 使用ping测试全网可达性。
三.实验思路
1. 网络拓扑角色划分
- R4:模拟 ISP,仅配置 IP 地址,不参与动态路由。
- R3:MGRE 中心站点,连接 R5、R6、R7,并作为 OSPF 的核心路由器。
- R5 、R6、R7:MGRE 分支站点,通过 GRE 隧道与 R3 通信。
- R12:连接 R4,拥有两个环回接口,参与 OSPF。
- 其他路由器:各有一个环回接口,参与 OSPF。
2. IP 地址规划
-
IP:R4 与直连设备(如 R3、R12)之间使用 IP
-
IP:OSPF 环境基于 172.16.0.0/16 划分,包括环回接口和 GRE 隧道接口。
-
172.16.0.0/16
-
172.16.0.0/19----area0
-
172.16.0.0/24----骨干
-
172.16.0.0/30----R3-R4
-
172.16.0.4/30----R4-R6
-
172.16.0.8/30----R4-R7
-
45.0.0.0/30----R4-R5
-
100.1.1.0/24----R5环回
-
172.16.32.0/19----area1
-
172.16.32.0/24----R1
-
172.16.33.0/24----R2
-
172.16.34.0/24----R3
-
172.16.35.0/24----骨干
-
172.16.35.0/29
-
172.16.64.0/19
-
172.16.64.0/24
-
172.16.66.0/30
-
172.16.65.0/24
-
172.16.66.4/30
-
172.16.65.0/24
-
172.16.96.0/24----R7环回
-
172.16.98.0/30----R7-R8
-
172.16.97.0/24----R8环回
-
172.16.98.4/30----R8-R9
-
172.16.128.0/24----R9环回
-
172.16.130.0/30----R9-R10
-
172.16.129.0/24----R10环回
-
3. 路由协议选择
-
MGRE 环境:使用 GRE 隧道 + OSPF 实现分支站点与中心站点的通信。
-
OSPF 优化 :
- 划分区域(如 Area 0 为骨干区域,其他区域为 Stub 区域)。
- 调整 OSPF 计时器(Hello 和 Dead 时间)以加快收敛。
- 启用 OSPF 认证以保障更新安全。
四.实验步骤
配置IP地址同时进行OSPF宣告
PS:R4的S接口是连接公网的,不可宣告!
R1

R2

R3

R4

ISP

R6

R7

R8

R9

R10

R11

R12

OSPF 配置
在各个路由器上进行OSPF配置,由于area 4 是远离骨干的特殊区域所以不能直接进行宣告,且由于area 3需要进行优化,所以让R9成为ASBR设备进行双向重发布(不使用Vink是因为使用Vink可能会产生换路问题,且area 3需要优化),在配置R12时顺便将RIP同时进行配置与宣告。
R1
r1\]ospf 1 router-id 1.1.1.1 \[r1-ospf-1\]a 1 \[r1-ospf-1-area-0.0.0.1\]network 172.16.32.1 0.0.0.0 \[r1-ospf-1-area-0.0.0.1\]network 172.16.35.1 0.0.0.0 R2 \[r2\]ospf 1 rou \[r2\]ospf 1 router-id 2.2.2.2 \[r2-ospf-1\]a 1 \[r2-ospf-1-area-0.0.0.1\]network 172.16.33.1 0.0.0.0 \[r2-ospf-1-area-0.0.0.1\]network 172.16.35.2 0.0.0.0  R3 \[r3\]ospf 1 rou \[r3\]ospf 1 router-id 3.3.3.3 \[r3-ospf-1\]a 1 \[r3-ospf-1-area-0.0.0.1\]network 172.16.35.3 0.0.0.0 \[r3-ospf-1-area-0.0.0.1\]network 172.16.34.1 0.0.0.0 \[r3-ospf-1-area-0.0.0.0\]network 172.16.0.1 0.0.0.0  R4 \[r4\]ospf 1 router-id 4.4.4.4 \[r4-ospf-1\]a 0 \[r4-ospf-1-area-0.0.0.0\]network 172.16.0.2 0.0.0.0 \[r4-ospf-1-area-0.0.0.0\]network 172.16.0.5 0.0.0.0 \[r4-ospf-1-area-0.0.0.0\]network 172.16.0.9 0.0.0.0  R6 \[r6\]ospf 1 router-id 6.6.6.6 \[r6-ospf-1\]a 0 \[r6-ospf-1-area-0.0.0.0\]network 172.16.0.6 0.0.0.0 \[r6-ospf-1-area-0.0.0.2\]network 172.16.66.1 0.0.0.0 \[r6-ospf-1-area-0.0.0.2\]network 172.16.64.1 0.0.0.0  R7 \[r7\]ospf 1 router-id 7.7.7.7 \[r7-ospf-1\]a 0 \[r7-ospf-1-area-0.0.0.0\]network 172.16.0.10 0.0.0.0 \[r7-ospf-1\]a 3 \[r7-ospf-1-area-0.0.0.3\]network 172.16.96.1 0.0.0.0 \[r7-ospf-1-area-0.0.0.3\]network 172.16.98.1 0.0.0.0  R8 \[r8\]ospf 1 router-id 8.8.8.8 \[r8-ospf-1\]a 3 \[r8-ospf-1-area-0.0.0.3\]network 172.16.98.2 0.0.0.0 \[r8-ospf-1-area-0.0.0.3\]network 172.16.97.1 0.0.0.0 \[r8-ospf-1-area-0.0.0.3\]network 172.16.98.5 0.0.0.0  R9 \[r9\]ospf 2 router-id 9.9.9.9 \[r9-ospf-2\]area 4 \[r9-ospf-2-area-0.0.0.4\]network 172.16.128.1 0.0.0.0 \[r9-ospf-2-area-0.0.0.4\]network 172.16.130.1 0.0.0.0  R10 \[r10\]ospf 1 router-id 10.10.10.10 \[r10-ospf-1\]a 4 \[r10-ospf-1-area-0.0.0.4\]network 172.16.129.1 0.0.0.0 \[r10-ospf-1-area-0.0.0.4\]network 172.16.130.2 0.0.0.0 R11 \[r11\]ospf 1 router-id 11.11.11.11 \[r11-ospf-1\]a 2 \[r11-ospf-1-area-0.0.0.2\]network 172.16.65.1 0.0.0.0 \[r11-ospf-1-area-0.0.0.2\]network 172.16.66.5 0.0.0.0 R12 \[r12\]ospf 1 router-id 12.12.12.12 \[r12-ospf-1\]a 2 \[r12-ospf-1-area-0.0.0.2\]network 172.16.66.6 0.0.0.0 \[r12-rip-1\]ver 2 \[r12-rip-1\]network 10.0.0.0  **检查OSPF邻居** R1  R2  R3 R4  R8  R9  R10  R12  **连通性测试** 由于该实验设备太多,**不展示所有设备的测试** R1pingR3的环回  R3pingR6的环回  **配置缺省路由** **R4** 在R4上配置一条0.0.0.0的缺省路由指向R5的 4/0/0方向 \[R4\]ip route-static 0.0.0.0 0 45.0.0.2 通过pingR5的环回检测是否可通,可通则没问题  **OSPF** **优化部分** **路由汇总** **域间路由汇总** 因为域间路由汇总是针对骨干区域(area 0)的优化,所以配置域间路由汇总的应该是与area 0直连(直接相连的)的区域,即区域1、2、3;那么则在这三个区域的ABR上进行配置: **Area 1** **的ABR** \[r3\]ospf 1 \[r3-ospf-1\]a 1 ---配置路由汇总在区域1做的原因是因为R3上的明细路由是通过区域1的1/2类LSA学到的 \[r3-ospf-1-area-0.0.0.1\]abr-summary 172.16.64.0 255.255.224.0 **Area 2** **的ABR** \[r6\]ospf 1 \[r6-ospf-1\]a 2 \[r6-ospf-1-area-0.0.0.2\]abr-summary 172.16.64.0 255.255.224.0 **Area 3** **的ABR** \[r7\]ospf 1 \[r7-ospf-1\]a 3 \[r7-ospf-1-area-0.0.0.3\]abr-summary 172.16.96.0 255.255.224.0 **查表** 在R4上查OSPF表,发现三个区域已经汇总  **域外路由汇总** 非直连的远离骨干区域则为域外路由汇总 **RIP** **区域的ASBR** \[r12\]ospf 1 \[r12-ospf-1\]asbr-summary 10.1.0.0 255.255.252.0 **OSPF 2** **区域的ASBR** \[r9\]ospf 1 \[r9-ospf-1\]asbr-summary 172.16.128.0 255.255.224.0 **查表** 在R4上查OSPF表,发现RIP区域和OSPF 2区域都已汇总   **做特殊区域** 区域1可以做成完全末梢区域、区域2可以做成完全NSSA区域、区域3也可以做成完全NSSA区域、区域4则不能做特殊区域(因为区域4上ospf 2的**骨干区域** !**骨干区域不能做成特殊区域!!!**) **Area 1** ----- R1 ----- \[r1\]ospf 1 \[r1-ospf-1\]a 1 \[r1-ospf-1-area-0.0.0.1\]stub ----- R2 ----- \[r2\]ospf 1 \[r2-ospf-1\]a 1 \[r2-ospf-1-area-0.0.0.1\]stub ----- R3 ----- \[r3\]ospf 1 \[r3-ospf-1\]a 1 \[r3-ospf-1-area-0.0.0.1\]stub no-summary **Area 2** ----- R6 ----- \[r6\]ospf 1 \[r6-ospf-1\]a 2 \[r6-ospf-1-area-0.0.0.2\]nssa no-summary ----- R11 ----- \[r11\]ospf 1 \[r11-ospf-1\]a 2 \[r11-ospf-1-area-0.0.0.2\]nssa ----- R12 ----- \[r12\]ospf 1 \[r12-ospf-1\]a 2 \[r12-ospf-1-area-0.0.0.2\]nssa **Area 3** ----- R7 ----- \[r7\]ospf 1 \[r7-ospf-1\]a 3 \[r7-ospf-1-area-0.0.0.3\]nssa no-summary ----- R8 ----- \[r8\]ospf 1 \[r8-ospf-1\]a 3 \[r8-ospf-1-area-0.0.0.3\]nssa ----- R9 ----- \[r9\]ospf 1 \[r9-ospf-1\]a 3 \[r9-ospf-1-area-0.0.0.3\]nssa **查表** 在R2/12/9上   **做完特殊区域后的缺省下放** **在R9上下放缺省(OSPF 2)** ----- R9 ----- \[r9\]ospf 2 \[r9-ospf-2\]default-route-advertise 下放完毕,我们在R10上查看是否有缺省路由  有,则下方成功 但因为有了缺省,R10能通过缺省获取R9的所有路由,所以R9上的一个重发布就不用执行了,故我们undo一下 \[r9-ospf-2\]undo import-route ospf 1 **在R4上下放缺省** 目前我们做完了私网的所有包括优化,所以我们可以正式下放缺省路由了 \[r4\]ospf 1 \[r4-ospf-1\]default-route-advertise 那么这样对于与R4直连的区域而言,就有了缺省,下面举例R3的查表:  **加快收敛配置** **修改network-type类型** 加快收敛操作即把此图的多个两个端点链路修改成P2P类型,如遇一点对多点,则修改为P2MP类型即可,因为P2P不需要选举DR和BDR,这样即可加快收敛 ----- R3-R1/2 ----- \[r3\]int g0/0/0 \[r3-GigabitEthernet0/0/0\]ospf network-type p2mp \[r1\]int g0/0/0 \[r1-GigabitEthernet0/0/0\]ospf network-type p2mp \[r2\]int g0/0/0 \[r2-GigabitEthernet0/0/0\]ospf network-type p2mp ----- R3-R4 ----- \[r3\]int g0/0/1 \[r3-GigabitEthernet0/0/1\]ospf network-type p2p \[r4\]int g0/0/1 \[r4-GigabitEthernet0/0/1\]ospf network-type p2p ----- R4-R6 ----- \[r4\]int g0/0/2 \[r4-GigabitEthernet0/0/2\]ospf network-type p2p \[r6\]int g0/0/1 \[r6-GigabitEthernet0/0/1\]ospf network-type p2p ----- R4-R7 ----- \[r4\]int g0/0/0 \[r4-GigabitEthernet0/0/0\]ospf network-type p2p \[r7\]int g0/0/0 \[r7-GigabitEthernet0/0/0\]ospf network-type p2p ----- R6-R11 ----- \[r6\]int g0/0/0 \[r6-GigabitEthernet0/0/0\]ospf network-type p2p \[r11\]int g0/0/0 \[r11-GigabitEthernet0/0/0\]ospf network-type p2p ----- R11-R12 ----- \[r11-GigabitEthernet0/0/0\]int g0/0/1 \[r11-GigabitEthernet0/0/1\]ospf network-type p2p \[r12\]int g0/0/0 \[r12-GigabitEthernet0/0/0\]ospf network-type p2p ----- R7-R8 ----- \[r7\]int g0/0/1 \[r7-GigabitEthernet0/0/1\]ospf network-type p2p \[r8\]int g0/0/0 \[r8-GigabitEthernet0/0/0\]ospf network-type p2p ----- R8-R9 ----- \[r8-GigabitEthernet0/0/0\]int g0/0/1 \[r8-GigabitEthernet0/0/1\]ospf network-type p2p \[r9\]int g0/0/0 \[r9-GigabitEthernet0/0/0\]ospf network-type p2p ----- R9-R10 ----- \[r9\]int g0/0/1 \[r9-GigabitEthernet0/0/1\]ospf network-type p2p \[r10\]int g0/0/0 \[r10-GigabitEthernet0/0/0\]ospf network-type p2p **修改hello时间** 改完network-type后确实加快了收敛,但是P2P和P2MP类型的hello时间和dead时间是比ospf原本的要长的,所以为了完成加快收敛的要求,我们还要修改其hello与dead时间(但修改只用改hello时间,因为dead时间随hello时间变化,无需修改) 由于修改hello时间的配置思路与上面的"修改network-type类型"思路类似,所以这里就只展示R3-R1/2区域的修改配置指令,其余路由器配置同理,不做赘述 ----- R3-R1/2 ----- \[r1\]int g0/0/0 \[r1-GigabitEthernet0/0/0\]ospf timer hello 10 -- hello时间统一修改成10s,如还想再快,缩短时间即可 \[r2\]int g0/0/0 \[r2-GigabitEthernet0/0/0\]ospf timer hello 10 \[r3\]int g0/0/0 \[r3-GigabitEthernet0/0/0\]ospf timer hello 10 **配置OSPF认证** 一般情况下,ospf的认证只在骨干区域0配置即可,故我们在此只配置区域0的 ----- Area 0 ----- \[r4\]ospf 1 \[r4-ospf-1\]a 0 \[r4-ospf-1-area-0.0.0.0\]authentication-mode md5 1 cipher 123456 \[r3\]ospf 1 \[r3-ospf-1\]a 0 \[r3-ospf-1-area-0.0.0.0\]authentication-mode md5 1 cipher 123456 \[r6\]ospf 1 \[r6-ospf-1\]a 0 \[r6-ospf-1-area-0.0.0.0\]authentication-mode md5 1 cipher 123456 \[r7\]ospf 1 \[r7-ospf-1\]a 0 \[r7-ospf-1-area-0.0.0.0\]authentication-mode md5 1 cipher 123456 **保障更新安全** **配置NAT** 配置NAT来访问外网环境 \[r4\]acl 2000 \[r4-acl-basic-2000\]rule permit source 172.16.0.0 0.0.255.255 \[r4\]int s4/0/1 \[r4-Serial4/0/1\]nat outbound 2000 R1pingISP  R10的环回上进行ping测试  都可通,则配置无误 至此,整个OSPF综合实验配置完毕。