网络工程师应知必会的网络故障排查手段,你用过几个?

news2024/11/23 17:08:39

你们好,我的网工朋友。

网络排错对于网络工程师或运维人员甚至对很多人(搞IT的朋友们)都是基操。

所以知道网络排错的详细流程和流程中每一步的原理,就显得很关键了。

当网络出现问题时,你能迅速排查出网络问题所在吗?找出来了,又能够快速解决网络问题吗?

其实关于网络排错的方法,网络上已经有大部分的资料,但大多数都停留在文字层面,对其中涉及的一些基本原理并没有提及,因此实用性并不大。

所以今天就给你来一篇,图文并茂并有一定技术性的网络排错文章,让你真正掌握一套系统的网络排错方法!

今日文章阅读福利:《网络常见故障排除方法 .ppt》

私信我,备注“故障”,再给你来份基本故障排障的ppt,更清晰明了地学习排障技巧啊。

01 网络排错的必备条件

为什么要先讲必备条件?

因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的使用上,而是一套系统的方法。

如果没有这些条件,真的不能保证下面聊的这些可以听得懂,并且能运用到实际当中,所以还是先看看这些基础的条件吧。

01 熟悉 OSI 七层模型与 TCP/IP 协议栈

这应该是网络排错要知道的最基本的知识了。

无论是 OSI 七层模型还是 DoD 模型,都是用来描述网络通信的一个过程,以让我们对网络数据的发送和接收有一个大致的认识。

OSI 七层模型对应 OSI 七层模型的协议,DoD 模型对应 DoD 模型的协议,也就是 TCP/IP 协议栈。

TCP/IP 协议栈里面的协议就显得十分重要了。

比如 DNS、TCP、UDP、IP、ICMP、ARP,这些最基本的应该得知道吧,我们不需要像《TCP/IP 协议栈》中说得的那么细;

但至少,对于这些协议的基本功能我们是必须得要知道的,这些就不是一两句可以说清楚的了。

02 了解网络通信的基础设备和其对应的 OSI 层次

像交换机、三层交换机、路由器、防火墙这些最基本的网络设备应该要有些了解,尤其是它们对应的 OSI 层次以及作用;

比如普通的二层交换机对应 OSI 七层模型中的数据链路层,它可以隔绝冲突域,同时可以通过虚拟局域网技术(VLAN)来隔绝广播域,二层交换机通过二层地址即 MAC 地址来实现数据帧的转发;

再比如路由器,它对应网络层,可以提供路由寻址的功能等等。

03 了解中小型企业网络的基本架构

一般中小型企业网络的基本架构都是这样的:接入层 -- 汇聚层 -- 核心层 -- 网络出口。

下面给个图:

如果网络环境比较庞大,汇聚层和核心层都会有,像这里的话,就直接没有汇聚层,不过思想是一样的。

下面讲的排错其实都是针对用户 PC 来说明的,事实上,数据中心中的网络排错也是类似的。

不管网络环境多么复杂,其实简化下来跟这个都是差不多的。

04 知道常用的网络排错命令

如果用户使用的是 Windows 操作系统,那么下面的这些命令就很重要了:

如果使用的是 Linux 操作系统,那么也有对应的相关命令。

其实说到底就是要熟悉你所使用的设备,当然,在实际网络排错的过程中,如果只是为了测试网络通信是否正常,你可以换上你熟悉的设备操作。

05 清楚知道网络排错的一个重要原则

网络排错,不就是要判断网络哪里出了问题,因此,你就必须要知道数据的走向。

所以一个重要原则是:关注数据的走向。

下面讲的网络排错思路其实就是通过追踪数据的走向来一步步缩小网络故障点的,因此,时刻记住这一点非常非常重要!

这也是为什么上面需要让你了解中小型企业网络的基本架构了。

02 网络排错的基本思路

基本思路如下,这跟网上的大多数人写的应该是差不多的。
1. 检查物理链路是否有问题
2. 查看本机 IP 地址、路由、DNS 的设置是否有问题
3. 测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试
4. 测试 ping 公网 ip 的通畅情况(平时要记几个外部 IP)
5. 测试 DNS 的通畅情况,可以直接 ping 网站地址

03 网络排错详细步骤

为了更好的讲述网络排错的过程和思路,假设我们有下面的一个网络环境:

(说明:虽然是假设,但实际上该网络环境是通过 GNS3 联动虚拟机和真实网络架设起来的,所以是可以真实参考的)

下面,我们就以上面这个网络环境为例子,详细介绍我们的网络排错思路;

每一步要怎么做,每一步为什么要这样做以及这样做之后我们可以得到什么信息,都会做一个说明。

01 检查物理链路是否有问题

这一步是我个人认为在做网络排错时必须要做的第一步!

经常会听朋友说,领导的电脑上不了网,需要过去排错,搞了老半天,还发现不了问题,最后在几经绝望之时,竟然发现网线都没接上电脑。

这就真的是悲剧了,浪费了很多时间不说,这样的网络排错思路本来就是有错误的。

因为也许不是每个人都可以去机房查看交换机的接线情况,所以这一步,我们排查的重点范围就应该放在如下面图所示的地方:

在这一步,下面几点是需要注意排查的:

1. 确认电脑本身的网卡有没有问题
2. 确认接的网线有没有问题
3. 本机所连接的交换机(如果可以去机房查看的话)

如果上面这几点排查都没有问题了,那么就是该网络环境中的其他设备问题了。

这一范围的排查相对比较简单,因为只涉及到物理链路的连接问题。

对于这种测试,可以考虑使用测线器,但个人的建议是,拿一台配置正确的笔记本来做测试也未尝不可。

02 查看本机 IP 地址、路由、DNS 的设置是否有问题

上面第一步,物理链路的排查没有问题了,也就是说,电脑接上网线之后,电脑有反应了,可以识别,但是网络还是不通,来到这一步,就应该先把注意的范围放在电脑的设置上面了。

这一步,我们关注的重点是:

1. IP 地址设置

如果采用的是 DHCP 自动获取的方法,那么这时候只需要看自己本机的设置上有没有开启自动获取 IP 的设置以及有没有开启相关的服务;

如果用的是静态 IP,那么就必须要注意 IP 地址的填写有没有错(一般网络管理人员给的)、IP 地址的子网掩码有没有问题(这很重要,对于静态 IP,很多人在这里设置错误,建议是,最好把 IP 地址、VLSM 这方面的知识学一下)。

一般可以用下面的命令查看:

2. 路由设置

对于服务器、PC,一般是指默认网关的设置了;对于路由器本身或三层交换机,那就是静态路由或动态路由的设置问题了。

3. DNS 设置

主要是要确保所设置的 DNS 服务器地址到底有没有提供域名解析服务或者是否出现了故障,至于如何判断,后面会给出方法,这里关注的是,你得设置一个正确的 DNS 服务器地址或可以自动获取。

在 windows 上面你可以通过下面的命令查看:

03 测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试

在上面的网络环境中,在网络通的情况下,我们在电脑上使用命令 tracert -d 命令,会得到下面的结果:

通过这个测试结果,我们可以清楚地知道电脑在访问互联网时,数据的走向情况:

根据这个数据走向,我们就可以得到一个重要的思路,就是根据数据走向来检测网络的通畅情况!

因此,我们可以分两步:

1. 先测试电脑到网关 192.168.2.254 的通畅情况

我们可以在自己的电脑上自己 ping 网关的地址,看是否有响应。

一般这样的判断方法是比较快的,但有时候,无论怎样 ping 都不能,那么则可能有以下的几种情况:

a. 网关设备做了禁止 ping 的设置
b. 网关接口或网关设备出现故障

对于 a,一般很少会在这些设备在做 ping 的限制操作,实在是没有太大的必要这样做,当然,网络安全等要求十分严格的除外。

ping 通 192.168.2.254 网关后,再 ping 一下 172.16.13.1 以确认电脑到整个网关设备都没有问题。

对于 ping 不通的时候,我个人还建议在电脑上执行如下操作:

即查看电脑本身有没有获取到网关的 MAC 的地址,显然,如果没有网关的 MAC 地址,那也是不可能 ping 通网关的;

在排除了前面电脑设置的问题后,你可以猜测是网关设备出了问题,这时就可以联系网络工程师对网关设备进行测试了。

2. 测试到其它路由器的通畅情况

前面一步没有问题了,也就是电脑到网关通信正常了,再测试网关到出口路由器的通畅情况:

这里,我们使用 tracert -d 命令就可以了:

当然,如果发现不通,那么则可能是下面的情况:

a. 网关设备与路由器之间的物理链路问题
b. 网关设备与路由器之间的设置问题,比如路由协议、接口配置之类的

出现上面的情况,那就是网络工程师的问题了,当然,如果你是网络工程师,应该要马上查看一下设备的状态,看是不是设备哪里出现问题了。

上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如 NAT 与默认路由等的设置,那么我们大致可以知道:

内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。

04 测试 ping 公网 ip 的通畅情况(平时要记几个外部 IP)

来到这一步的时候,就说明前面三步是没有问题的。

也就是说,本地局域网络的通信是正常的,这时要做的就是判断本地局域网络与外网(公网)之间的通信有没有问题了:

这里采取的是直接 ping 公网地址的方法,是为了排除 DNS 的影响(万一你的 DNS 设置又有问题)。

至于要 ping 什么样的公网地址,个人建议是,可以 ping 一些没有禁止 ping 的公共 DNS 服务器地址,比如 114.114.114.114 和 8.8.8.8 的:

这样之后,基本上就可以确定网络是没有问题的了。

当然,这里并没有提到出口放置防火墙的情况,实际上,思路是一致的。

但是,你需要考虑的是,你的访问数据有没有被防火墙给过滤掉,是数据出去的时候过滤了,还是数据回来的时候过滤了?

由于还要涉及到防火墙的设置,这里就不再提及了,只是仍要注意这一点就是了。

05 测试 DNS 的通畅情况,可以直接 ping 网站地址

如题,可以直接 ping 网站地址,看有没有回显 IP 地址,至于通不通是另外一回事,只要可以回显 IP 地址,那么 DNS 就没有问题了。

不过这里仍然要说一下 nslookup 这个命令,这是一个非常好用的命令,我平常自己在网络排错时,基本上都会用到:

当然也可以像下面这样使用:

使用 nslookup 命令,作用有二:

1. 帮你测试你设置的 DNS 服务器有没有问题
2. 在不考虑 DNS 服务器是否智能的前提下,你可以根据回显 IP 地址速度的快慢来大致判断 DNS 服务器的优劣情况

所以可以充分利用 nslookup 命令了。

04 最后的重要说明

其实基本上,一个相对完整的网络排错过程就应该如上面所说的了。

不过,是基本上的,因为上面的讲解,都几乎是假定你是没有权限进入机房查看网络设备的情况的。

事实上,你是根本不需要照搬来进行上面的全部步骤的,在实际排错的过程中,可能你用到的只是其中的一小部分而已;

毕竟,如果每次都这样下来,没有谁是不会疯掉的,因为一些很简单的问题也要这样折腾,那就是太浪费时间了!

但是,上面的方法,只是提出一种网络排错的思路,希望按照这个思路可以判断出网络的问题出现在哪里,至于如何去解决,这中间真的又涉及到太多太多的经验问题。

其实整个下来,个人觉得,最重要的仍然不是技术本身,而是在网络排错过程当中的一个思路,思路决定出路,这可以让自己在网络排错的过程中时刻保持清醒的头脑,这一点很重要。

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1258930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytorch深度学习实战2-1:详细推导Xavier参数初始化(附Python实现)

目录 1 参数初始化2 Xavier参数初始化原理2.1 前向传播阶段2.2 反向传播阶段2.3 可视化思考 3 Python实现 1 参数初始化 参数初始化在深度学习中起着重要的作用。在神经网络中,参数初始化是指为模型中的权重和偏置项设置初始值的过程。合适的参数初始化可以帮助模型…

阿里云服务器部署node和npm

目录 1.链接服务器2.找到node 下载地址3获取链接地址4下载到linux5.解压6.重命名 解压后的文件7.配置环境变量7.1复制当前的bin目录7.2vim /etc/profile7.3在按下ESC按键 8.重启环境变量9.输入node10.npm配置加速镜像 1.链接服务器 2.找到node 下载地址 https://nodejs.org/d…

C++——解锁string常用接口

本篇的内容是记录使用string接口的测试与使用,方便后续使用时查阅使用 首先介绍 string::npos; size_t(无符号整型)的最大值。NPOS 是一个静态成员常量值,具有 size_t 类型元素的最大可能值。当此值用作字符串成员函数中 len&am…

希宝猫罐头怎么样?专业人士告诉你性价比高的猫罐头推荐

作为一家经营猫咖店已有6年的店长,我在这段时间里接触过不少于30种不同的猫罐头。在猫罐头上我还是有话语权的。通过本文,我将与大家分享值得购买的猫罐头,分享猫罐头喂养的技巧。那么希宝猫罐头表现怎么样呢? 希宝猫罐头可是采用…

Python GUI 图形用户界面程序设计,Python自带 tkinter 库

文章目录 前言GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集…

【多线程】-- 04 静态代理模式

多线程 3 静态代理 这里以一个现实生活中的例子来解释并实现所谓的静态代理模式,即结婚者雇用婚庆公司来帮助自己完成整个婚礼过程: package com.duo.lambda;interface Marry {void HappyMarry();//人生四大乐事:久旱逢甘霖;他…

自动化测试|我为什么从Cypress转到了Playwright?

以下为作者观点: 早在2019年,我就开始使用Cypress ,当时我所在的公司决定在新项目中放弃Protractor 。当时,我使用的框架是Angular,并且有机会实施Cypress PoC。最近,我换了工作,现在正在使用R…

springboot自定义更换启动banner动画

springboot自定义更换启动banner动画 文章目录 springboot自定义更换启动banner动画 📕1.新建banner🖥️2.启动项目🔖3.自动生成工具🧣4.彩蛋 🖊️最后总结 📕1.新建banner 在resources中新建banner.txt文…

C#——多线程之异步调用容易出现的问题

C#——多线程之异步调用容易出现的问题 Q1:For中异步调用函数且函数输入具有实时性 Q1:For中异步调用函数且函数输入具有实时性 在项目进行过程中,发现For中用异步调用带有输入参数的函数时,会由于闭包特性,以及Task.…

ssm+vue的公司安全生产考试系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的公司安全生产考试系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…

C#从零搭建微信机器人(二)分词匹配组件【jieba】的使用

上篇文章我们讲解了微信机器人的环境搭建及演示,这期我们来说一下其中在模糊匹配搜索时用到的Segement子项目,也就是其中的中文分词匹配器。 一、原理介绍: 其实这个子项目中的分词插件和solr的IK分词器类似,都是可以支持将一句…

TP4066L是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。

TP4066L 采用ESOP8/DFN2*2-8封装 1A线性锂离子电池充电器 描述: TP4066L是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。其底部带有散热片的ESOP8DFN2*2-8封装与较少的外部元件数目使得TP4066L成为便携式应用的理想选择。TP4066L可以适合USB电源和适…

桐庐县数据资源管理局领导一行莅临美创科技并带来感谢信

11月23日,浙江桐庐县数据资源管理局党组成员、副局长朱勃一行到访美创科技总部参观交流,并带来感谢信,对美创圆满完成护航亚运政务外网数据网站安全保障工作表示充分肯定。美创科技联合创始人、副总裁胡江涛等进行热情接待并开展交流座谈。 图…

微信ipad协议8.0.37/8.0.40新版本

功能如下,如有定制功能请在官网联系我们。 登录 创建新设备 获取登录er维码 执行登录 注销登录 消息 消息回调 消息撤回 发送app类型消息 发送小程序 发送CDN文件 发送CDN图片 发送CDN视频 发送emoji 发送文件 发送图片 发送链接 发送消息 发送视频 发送语音 …

2021年全国a级景区数据,shp+csv数据均有

大家好~这周将和大家分享关于文化旅游和城乡建设相关的数据,希望大家喜欢~ 今天分享的是2021年全国a级景区数据,数据格式有shpcsv,几何类型为点,已经经过清洗加工,可直接使用,以下为部分字段列表&#xff…

无人机遥控器方案定制_MTK平台无人设备手持遥控终端PCB板开发

随着科技的不断发展和无人机技术的逐步成熟,无人机越来越受到人们的关注。作为一种高新技术,无人机的应用范围不断拓展,包括农业、环境监测、城市规划、运输物流等领域。同时,无人机的飞行控制技术也得到了不断的优化和提升。 早…

前端管理制度

数据运营中心的管理形式: 数据运营中心的管理形式 竖向是各小组 横向是项目管理 负责人的定位: 只是工作的内容不同,没有上下级之分 帮助组员找到适合的位置,帮助大家解决问题,给大家提供资源 前端组的工作形式&am…

Doris-Routine Load(二十七)

例行导入(Routine Load)功能为用户提供了一种自动从指定数据源进行数据导入的功能。 适用场景 当前仅支持从 Kafka 系统进行例行导入,使用限制: (1)支持无认证的 Kafka 访问,以及通过 SSL 方…

二维码智慧门牌管理系统:实现高效信息管理

文章目录 前言一、 功能升级优势 前言 随着科技的飞速发展和人们生活节奏的加快,传统的门牌管理系统已经不再适应现代社会的需求。为了解决这一问题,全新的二维码智慧门牌管理系统升级解决方案应运而生,为用户带来前所未有的便捷与高效。 一…

1m照片手机怎么拍?一分钟解决!

我们都知道现在的手机像素特别好,随便拍一张照片都是2-3MB,有时候上课或者会议要拍很多照片,这些照片其实又不需要如此清晰,就会特别占内存,下面就向大家介绍三种好用的办法。 方法一:拍完照后手机截图进行…