OSPF排错
目录
实验拓扑图
实验要求
实验排错
故障一
故障现象
故障分析
故障解决
故障二
故障现象
故障分析
故障解决
故障三
故障现象
故障分析
故障解决
故障四
故障现象
故障分析
故障解决
故障五
故障现象
故障分析
故障解决
故障六
故障现象
故障分析
故障解决
故障七
故障现象
故障分析
故障解决
实验拓扑图
实验要求
- 按照图示配置 IP 地址
- 按照图示分区域配置 OSPF,要求使用环回口作为 Router-id,ABR 的环回口只宣告进Area0
- 业务网段不允许出现协议报文
- R5 模拟互联网,内网通过 R1 连接互联网,在 R1 上配置默认路由并引入到 OSPF
- R1 上配置 EASY IP,两个业务网段都可以访问互联网
- 通过调整链路 Cost,避免网络中出现等价路由
- 为了实现 Area 0 快速收敛,
10.1.1.0/24
链路上修改 Hello time 为 5 秒 - 排除所有网络故障,使环境符合需求,并完成排错报告
实验排错
故障一
故障现象
R1和R2之间未建立OSPF邻居
R1和R3之间,R2和R4之间都未建立OSPF邻居
故障分析
R1和R2,R1和R3,R2和R4之间的OSPF宣告配置有问题
R2与R1相连的10.1.1.0网段被宣告到了area 1中,所以R1和R2未能建立起邻居关系
同理,R1和R3之间,R1上也未宣告连接R3的网段
故障解决
将R2上连接R1的网段宣告到区域1中
[R2-ospf-1-area-0.0.0.1]undo network 10.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.1]qu
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
故障二
故障现象
当我们将R1和R2之间的宣告配置修改正确之后,R1和R2之间区域0的邻居还是建立不起来
故障分析
建立OSPF邻居失败,我们可以通过命令去查看邻居建立失败的原因
[R2]display ospf statistics error
可以发现是由于以下三个主要原因,因为完成要求七中实现Area 0快速收敛,需要修改10.1.1.0/24这条链路的hello time为5s,但是只修改了R2这边的接口,R1这边的接口的dead time与R2的不相同,所以邻居建立失败。
故障解决
修改R2上10.1.1.0/24这条链路的接口的dead time 和 hello time与R1保持一致
[R1-GigabitEthernet0/1]ospf timer hello 5
[R1-GigabitEthernet0/1]undo ospf timer dead
可以看出R1和R2已经建立了OSPF邻接关系
[R1]display ospf peer OSPF Process 1 with Router ID 1.1.1.1Neighbor Brief InformationArea: 0.0.0.0 Router ID Address Pri Dead-Time State Interface4.4.4.4 10.1.1.2 1 15 Full/DR GE0/1
[R1][R2]display ospf peer OSPF Process 1 with Router ID 4.4.4.4Neighbor Brief InformationArea: 0.0.0.0 Router ID Address Pri Dead-Time State Interface1.1.1.1 10.1.1.1 1 20 Full/BDR GE0/1
[R2]
故障三
解决了故障二之后,我们发现R1和R2虽然建立了邻接,但是R1与R3,R2与R4之间的邻居始终未能建立。
故障现象
通过观察OSPF错误的原因发现一个是错误的area id造成,一个是hello time dead time造成,那么我们主要来看area id是否错误。
[R1]display ospf statistics error OSPF Process 1 with Router ID 1.1.1.1OSPF Packet Error Statistics 0 : Router ID confusion 0 : Bad packet0 : Bad version 0 : Bad checksum30 : Bad area ID 0 : Drop on unnumbered link0 : Bad virtual link 0 : Bad authentication type0 : Bad authentication key 0 : Packet too small0 : Neighbor state low 0 : Transmit error0 : Interface down 0 : Unknown neighbor187 : HELLO: Netmask mismatch 78 : HELLO: Hello-time mismatch3 : HELLO: Dead-time mismatch 0 : HELLO: Ebit option mismatch0 : DD: MTU option mismatch 0 : DD: Unknown LSA type0 : DD: Ebit option mismatch 0 : ACK: Bad ack0 : ACK: Unknown LSA type 0 : REQ: Empty request0 : REQ: Bad request 0 : UPD: LSA checksum bad0 : UPD: Unknown LSA type 0 : UPD: Less recent LSA
[R1]
故障分析
通过查看R1和R3在area 1的配置发现area id并没有配错。
那我们只能通过排查影响OSPF邻居建立的因素有哪些
- 宣告网段需要在同一个area id中
- 建立邻居关系的两个设备之间router id不能相同
- 宣告的网段子网掩码要相同
- 邻居之间链路hello time和dead time保持相同
- 验证密码一致
- 特殊区域一致
通过查看R1和R3相连链路接口的IP地址,发现它们的子网掩码长度不一致。所以这就是R1和R3之间未能建立邻居关系的真正原因
[R1-GigabitEthernet0/0]di th
#
interface GigabitEthernet0/0port link-mode routecombo enable copperip address 10.2.2.1 255.255.0.0
#
return
[R1-GigabitEthernet0/0][R3-GigabitEthernet0/0]display this
#
interface GigabitEthernet0/0port link-mode routecombo enable copperip address 10.2.2.3 255.255.255.0
#
return
[R3-GigabitEthernet0/0]
故障解决
修改R1接口的IP地址子网掩码长度
R1与R2和R3成功建立邻接关系
[R1]display ospf peer OSPF Process 1 with Router ID 1.1.1.1Neighbor Brief InformationArea: 0.0.0.0 Router ID Address Pri Dead-Time State Interface4.4.4.4 10.1.1.2 1 18 Full/DR GE0/1Area: 0.0.0.1 Router ID Address Pri Dead-Time State Interface3.3.3.3 10.2.2.3 1 37 Full/DR GE0/0
[R1]
故障四
故障现象
R2和R4之间的邻居关系无法建立
故障分析
在R1和R2建立邻接关系后,我们可以发现R2这台设备的router id为4.4.4.4,虽然在区域0中和R1建立邻接关系时,这个router id 只要不与R1的router id 相同就行,但是R2在区域1中和R4建立邻接关系时,R4的router id也是4.4.4.4,所以它们的router id相同,导致它们之间无法建立邻居关系。
故障解决
将R2的router id 改为2.2.2.2,需要将ospf进程重启之后新的router id才会生效。
可以看到R2在重启了进程之后,router id 修改成功并于R4建立了邻接关系
<R2>reset ospf process
Reset OSPF process? [Y/N]:y[R2]display ospf peer OSPF Process 1 with Router ID 2.2.2.2Neighbor Brief InformationArea: 0.0.0.0 Router ID Address Pri Dead-Time State Interface1.1.1.1 10.1.1.1 1 18 2-Way/ - GE0/1Area: 0.0.0.1 Router ID Address Pri Dead-Time State Interface4.4.4.4 10.3.3.4 1 38 Full/DR GE0/0
[R2]
故障五
故障现象
PC6和PC7无法ping通互联网的IP地址
故障分析
PC6和PC7没有配置IP地址和网关等信息
在R1上并没有配置默认路由连接互联网,从而也没有引入到OSPF中。所以PC无法通过网关访问到互联网
[R1]display ip routing-table Destinations : 24 Routes : 24Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 O_INTRA 10 1 10.1.1.2 GE0/1
3.3.3.3/32 O_INTRA 10 1 10.2.2.3 GE0/0
4.4.4.4/32 O_INTER 10 2 10.1.1.2 GE0/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE0/1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.255/32 Direct 0 0 10.1.1.1 GE0/1
10.2.2.0/24 Direct 0 0 10.2.2.1 GE0/0
10.2.2.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.2.255/32 Direct 0 0 10.2.2.1 GE0/0
10.3.3.0/24 O_INTER 10 2 10.1.1.2 GE0/1
10.4.4.0/24 O_INTRA 10 2 10.2.2.3 GE0/0
127.0.0.0/8 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.1.0/24 O_INTRA 10 2 10.2.2.3 GE0/0
192.168.2.0/24 O_INTER 10 3 10.1.1.2 GE0/1
202.1.1.0/24 Direct 0 0 202.1.1.1 GE0/2
202.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
202.1.1.255/32 Direct 0 0 202.1.1.1 GE0/2
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
[R1]
故障解决
在R3和R4这两个网关路由器上配置为dhcp服务器为PC6和PC7分发IP地址
[R3]dhcp enable
[R3]dhcp server ip-pool 1
[R3-dhcp-pool-1]network 192.168.1.0 mask 255.255.255.0
[R3-dhcp-pool-1]gateway-list 192.168.1.254
[R3-dhcp-pool-1]dns-list 8.8.8.8
[R3]dhcp server forbidden-ip 192.168.1.10 192.168.1.253[R4]dhcp server ip-pool 1
[R4-dhcp-pool-1]network 192.168.2.0 mask 255.255.255.0
[R4-dhcp-pool-1]gateway-list 192.168.2.254
[R4-dhcp-pool-1]dns-list 8.8.8.8
[R4-dhcp-pool-1]qu
[R4]dhcp server forbidden-ip 192.168.2.10 192.168.2.253
在R1上配置默认路由并引入到OSPF中
[R1]ip route-static 0.0.0.0 0 202.1.1.5
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]default-route-advertise
PC6ping通互联网
<H3C>ping 100.1.1.1
Ping 100.1.1.1 (100.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 100.1.1.1: icmp_seq=0 ttl=253 time=3.863 ms
56 bytes from 100.1.1.1: icmp_seq=1 ttl=253 time=2.676 ms
56 bytes from 100.1.1.1: icmp_seq=2 ttl=253 time=1.560 ms
56 bytes from 100.1.1.1: icmp_seq=3 ttl=253 time=2.423 ms
56 bytes from 100.1.1.1: icmp_seq=4 ttl=253 time=4.946 ms
PC7无法ping通互联网
故障六
故障现象
PC7无法ping通互联网
故障分析
在R1上配置的easy ip中,nat outbound 2000,acl 2000这个访问控制列表中,未运行PC7的业务网段流量通过。
[R1]acl number 2000
[R1-acl-ipv4-basic-2000]di th
#
acl basic 2000rule 0 permit source 192.168.1.0 0.0.0.255
#
return
[R1-acl-ipv4-basic-2000]
故障解决
在acl 2000中将PC7的业务网段流量放行
[R1]acl number 2000
[R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
PC7成功ping通
<H3C>ping 100.1.1.1
Ping 100.1.1.1 (100.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 100.1.1.1: icmp_seq=0 ttl=252 time=7.689 ms
56 bytes from 100.1.1.1: icmp_seq=1 ttl=252 time=5.409 ms
56 bytes from 100.1.1.1: icmp_seq=2 ttl=252 time=6.204 ms
56 bytes from 100.1.1.1: icmp_seq=3 ttl=252 time=5.938 ms
56 bytes from 100.1.1.1: icmp_seq=4 ttl=252 time=5.104 ms--- Ping statistics for 100.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.104/6.069/7.689/0.897 ms
<H3C>%Jan 31 11:35:37:680 2024 H3C PING/6/PING_STATISTICS: Ping statistics for 100.1.1.1: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 5.104/6.069/7.689/0.897 ms.
故障七
故障现象
通过对网关连接PC的链路抓包发现,网关仍然在不停的向PC发送OSPFhello包。
故障分析
并未对该链路接口进行静默接口配置
故障解决
对R3和R4连接PC的接口进行静默接口配置
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]silent-interface g0/2[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]silent-interface GigabitEthernet 0/2
相关文章:

OSPF排错
目录 实验拓扑图 实验要求 实验排错 故障一 故障现象 故障分析 故障解决 故障二 故障现象 故障分析 故障解决 故障三 故障现象 故障分析 故障解决 故障四 故障现象 故障分析 故障解决 故障五 故障现象 故障分析 故障解决 故障六 故障现象 故障分析 …...

day07-CSS高级
01-定位 作用:灵活的改变盒子在网页中的位置 实现: 1.定位模式:position 2.边偏移:设置盒子的位置 left right top bottom 相对定位 position: relative 特点: 不脱标,占用自己原来位置 显示模…...

05 MP之ActiveRecord模式+SimpleQuery
1. ActiveRecord ActiveRecord(活动记录,简称AR),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。 其目标是通过围绕一个数据对象, 进行全部的CRUD操作。 1.1 让实体类…...
git diff查看比对两次不同时间点提交的异同
git diff查看比对两次不同时间点提交的异同 用 git diff命令: git diff commit-id-1 commit-id-2 不同commit-id在不同的时间点提交产生,因为也可以认为git diff是比对两个不同时间点的代码异同。 git diff比较不同commit版本的代码文件异同_git diff c…...

基于muduo网络库开发服务器程序和CMake构建项目 笔记
跟着施磊老师做C项目,施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…...
前端支持下载模板、导入数据、导出数据(excel格式)
前言 xlsx是由SheetJS开发的一个处理excel文件的npm库,适用于前端开发者实现下载模板、导入导出excel文件等需求,演示的项目的技术栈为vue3 elementPlus 一. 引入xlsx 安装xlsx npm install xlsx引入xlsx import * as XLSX from xlsx;二. 下载模板 const han…...
编译Faiss-gpu【InterMKL】C++ 按步骤操作 基本不会有问题的 python原理相同。
编译Faiss-gpu C++ 基本介绍 使用Faiss版本【1.7.4】 该项目依赖于BLAS 组件 OpenBLAS 和 IntelMKL BLAS 【官方支持】 IntelMKL 会比 OpenBLAS 快的多。 【来自官方结论】 本机环境 Cuda :11.1 Cuda-Driver: 515 InterMKL: 2021.2.0 Faiss :1.7.4 注意:faiss仅…...
conn.execute的用法详解
conn.execute的用法详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将深入研究数据库连接中conn.execute的用法,解析它的功能、…...
GetBuffer() 与 ReleaseBuffer() 使用详解
GetBuffer() 与 ReleaseBuffer() 使用详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将深入研究在编程中常用的GetBuffer()与ReleaseBuff…...

Flink CEP(基本概念)
Flink CEP 在Flink的学习过程中,我们已经掌握了从基本原理和核心层的DataStream API到底层的处理函数,再到应用层的Table API和SQL的各种手段,可以应对实际应用开发的各种需求。然而,在实际应用中,还有一类更为复…...
[AIGC] Spring Gateway与 nacos 简介
文章目录 Spring Gateway简介主要特性优点总结 Nacos简介主要特性优点总结 Spring Gateway 简介 Spring Gateway是一个基于Spring Framework的工具,用于构建和管理微服务架构中的网关。它提供了一种简单而灵活的方式来路由和过滤请求,以及在微服务之间…...

2024-2-3-复习作业
1> 要求: 效果图: 2> 要求: 效果图: 3> 要求: 效果图: 源代码: #include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct Node {datatype data…...
【如何快速上手Vue.js框架——详细介绍】
如何快速上手Vue.js框架——详细介绍 1. 介绍2. 理解Vue.js的核心概念3. 搭建开发环境4. 创建第一个项目5. 学习基础6. 进阶概念7. 最佳实践和模式8. 构建和部署9. 持续学习10. 实际操作 1. 介绍 要快速上手Vue.js框架,可以按照以下步骤进行学习和实践:…...

1Panel应用推荐:青龙定时任务管理平台
1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…...

BUUCTF-Real-[struts2]s2-013
struts2的标签中 <s:a> 和 <s:url> 都有一个 includeParams 属性,可以设置成如下值none - URL中不包含任何参数(默认) get - 仅包含URL中的GET参数 all - 在URL中包含GET和POST参数 当includeParamsall的时候,会将本次…...

【实战知识】使用Github Action + Nginx实现自动化部署
大家好啊,我是独立开发豆小匠。 先说一下背景~ 我的小程序:豆流便签,目前使用云托管部署后端服务,使用轻量级服务器部署数据库和一些中间件。 因此服务器成本:云托管 + 云服务器 云托管每周花费5元,一个月就是50,一年就是500啊,所以这期准备把云托管优化掉! 1. 需…...

web前端--------渐变和过渡
线性渐变,是指颜色沿一条直线进行渐变,例如从上到下、从左到右。 当然,CSS中也支持使用角度来设置渐变的方向,角度单位为deg。 0deg,为12点钟方向,表示从下到上渐变。 90deg,为3点钟方向&…...

docker镜像结构
# 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝jar包 COPY docker-demo.jar /app.jar # 入口 ENTRYPOINT ["java", "-jar"…...

一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)
最近做了几个 WPF MudBlazor 的小东西,每次从头搭建环境比较繁琐,然鹅搭建过程还没啥技术含量,索性就直接做了个模板,方便以后使用。 1. 介绍 一个用来创建 .NET 8 WPF MudBlazor 的项目模板 适用于 VS2022 用法:…...

【数据结构与算法】之排序系列-20240203
这里写目录标题 一、628. 三个数的最大乘积二、645. 错误的集合三、747. 至少是其他数字两倍的最大数四、905. 按奇偶排序数组五、922. 按奇偶排序数组 II六、976. 三角形的最大周长 一、628. 三个数的最大乘积 简单 给你一个整型数组 nums ,在数组中找出由三个数组…...
C++ 中的 const 知识点详解,c++和c语言区别
目录 一。C 中的 const 知识点详解1. 基本用法1.1) 定义常量1.2) 指针与 const 2. 函数中的 const2.1)const 参数2.2)const 成员函数 3. 类中的 const3.1)const 成员变量3.2)const 对象 4. const 返回值5. …...

vite配置@别名,以及如何让IDE智能提示路经
1.配置路径(vite.config.js) // vite.config.js import { defineConfig } from "vite"; import vue from "vitejs/plugin-vue"; import path from "path";// https://vite.dev/config/ export default defineConfig({server: {port: 8080,},plu…...

如何用AI高效运营1000+Tiktok矩阵账号
在当今数字化的时代,Tiktok 矩阵账号运营成为了众多企业和个人追求流量与变现的重要手段。然而,面对众多的账号管理,如何高效运营成为了关键。此时,AI 工具的出现为我们提供了强有力的支持。 一、Tiktok 矩阵账号的重要性 Tiktok…...

学习路之php--性能优化
一、php周边优化 二、代码级优化 变量管理 及时unset()释放大数组/对象,减少内存占用局部变量访问速度比全局变量快约2倍,优先使用局部变量大数组采用引用传递(&$var)避免内存 循环优化 预计算循环次数: …...
SparkSQL 优化实操
一、基础优化配置 1. 资源配置优化 # 提交Spark作业时的资源配置示例 spark-submit \--master yarn \--executor-memory 8G \--executor-cores 4 \--num-executors 10 \--conf spark.sql.shuffle.partitions200 \your_spark_app.py 参数说明: executor-memory: 每…...
Q: dify前端使用哪些开发框架?
【回到目录】~~~~【回到问题集】 Q: dify前端使用哪些开发框架? A: 通过查看Readme.md,可以了解到使用以下框架 1. [Next.js] (https://nextjs.org/) React Framework 2. Node.js > v22.11.x 3. pnpm v10.x 4. Storybook UI component development 4. Je…...
Oracle杀进程注意事项
文章目录 一、哪些后台进程杀死会导致数据库重启二、杀死哪些后台进程会导致数据库关闭三、杀死哪些后台进程对数据库没有影响 一、哪些后台进程杀死会导致数据库重启 CKPT:检查点进程,checkpoint 检查点,检查点事件的责任是:标志…...
Apache DolphinScheduler 和 Apache Airflow 对比
Apache DolphinScheduler 和 Apache Airflow 都是开源的工作流调度平台,用于管理和编排复杂的数据处理任务和管道。以下是对两者在功能、架构、使用场景等方面的对比,用中文清晰说明: 1. 概述 Apache DolphinScheduler: 一个分布…...
JavaSec-SPEL - 表达式注入
简介 SPEL(Spring Expression Language):SPEL是Spring表达式语言,允许在运行时动态查询和操作对象属性、调用方法等,类似于Struts2中的OGNL表达式。当参数未经过滤时,攻击者可以注入恶意的SPEL表达式,从而执行任意代码…...

npm run dev 报错:Error: error:0308010C:digital envelope routines::unsupported
npm run dev时报错如下 原因:更换node版本导致 解决: 修改package.json文件,在相关构建命令之前加入 SET NODE_OPTIONS–openssl-legacy-provider 运行成功...