当前位置: 首页 > Linux

运维工程师必备技能:网络排查思路详解

时间:2023-04-06 23:17:06 Linux

首先衷心希望本文能给需要进行网络排查的朋友们带来实际帮助,希望大家耐心阅读。网络故障排查对于网络工程师或者运维人员,甚至是很多人(搞IT的朋友)来说都是非常重要的,所以了解网络故障排查的详细过程以及过程中每一步的原理是非常重要的。当出现问题时,我们可以快速找出网络问题出在哪里,从而快速解决网络问题。这里说的网络排查应该适合大多数对网络有一定了解的人。其实网络上已经有大部分关于网络故障排除方法的资料,但个人认为太多只是停留在文字上。层次上,涉及到的一些基本原理都没有提到,实用性不是很强。在此希望能写一篇图文并茂,有一定技术水平的网络排查文章给大家,让大家真正掌握一个系统。网络故障排除方法。本文思路之一:1.网络故障排除的必要条件2.网络故障排除的基本思路3.网络故障排除的详细步骤4.最后重要说明1.网络故障排除的必要条件为什么需要必要条件?因为这里所说的网络排查并不仅仅停留在使用某个小命令,而是一套系统的方法。没有这些条件,我实在不敢保证你能看懂下面的内容,并能应用到实践中,所以先来看看这些基本条件吧。1、熟悉OSI七层模型和TCP/IP协议栈这应该是网络故障排除最基本的知识。OSI七层模型和DoD模型都是用来描述一个网络通信的过程,这样我们就有了一个发送和接收网络数据的大概过程。OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,即TCP/IP协议栈。TCP/IP协议栈中的协议很重要,比如DNS、TCP、UDP、IP、ICMP、ARP,最基本的应该都知道,我们不需要像《TCP/IP协议 栈》说的那么详细,但至少,我们必须知道这些协议的基本功能。我认为他们中的一两个人不能说清楚。还是那句话,自己百度。2、了解网络通信的基本设备及其对应的OSI等级。交换机、三层交换机、路由器、防火墙等最基本的网络设备应该有所了解,尤其是它们对应的OSI层次和功能,比如普通的二层交换机对应OSI七层中的数据链路层——层模型。它可以隔离冲突域,同时可以通过虚拟局域网技术(VLAN)隔离广播域。再比如路由器,它对应于网络层,可以提供路由寻址等功能。或许你不需要了解的那么详细,但是我想你应该知道一个大概的流程。3、了解中小企业网络的基本结构,就是知道上面提到的网络设备一般是怎么连接的。如果是在实际环境中排查问题,应该了解当前网络的基本结构。这里简单提一下,一般的中小企业网络的基本架构是这样的:接入层-汇聚层-核心层-网络出口。这里有一张图:如果网络环境比较大,汇聚层和核心层都会存在。像这里直接没有聚合层,但是思路是一样的。下面介绍的故障排除实际上是针对用户PC的。事实上,数据中心的网络故障处理也大同小异。再复杂的网络环境,其实简化后也差不多这样。4.了解常用的网络故障排除命令。如果用户使用的是Windows操作系统,则以下命令非常重要:如果用户使用的是Linux操作系统,则有相应的相关命令。其实说到底,还是要熟悉自己使用的设备。当然,在实际网络排查过程中,如果只是测试网络通信是否正常,可以更换自己熟悉的设备。5、清楚了解网络故障排除的一个重要原则网络故障排除不仅仅是判断网络哪里出了问题,所以必须知道数据的走向。所以这个重要的原则就是:注意数据的方向。下面说的网络排查思路,其实就是通过跟踪数据的走向,逐步缩小网络故障点。因此,牢记这一点非常非常重要!这就是为什么上面需要让大家了解中小企业网络的基本结构。2.网络排查基本思路基本思路如下,应该和网上大部分人写的差不多。(1)检查物理链路是否有问题(2)检查本地IP地址、路由、DNS设置是否有问题(3)测试网关或路由器的通畅性。先测试网关再测试路由器,逐级测试(4)测试ping公网ip是否流畅(一般记住几个外网IP)(5)测试DNS是否流畅,可以直接ping下面的网站address第三部分是对以上基本思路的详细描述。三、网络故障排除的详细步骤为了更好的描述网络故障排除的过程和思路,假设我们有如下网络环境:(注:虽然是假设,但实际上网络环境是博主链接虚拟机器通过GNS3设置的是真实网络,所以可以作为真实参考)下面,我们就以上面的网络环境为例,详细介绍一下我们的网络排查思路,每一步怎么做,为什么以及我们为什么这样做我们将解释我们之后可以获得哪些信息。(1)检查物理链路是否有问题。这一步是我个人认为在进行网络排查时必须要做的第一步!经常听朋友说领导的电脑不能上网,需要过去排查。折腾了半天,还是找不到问题所在。最后几经无奈,发现网线并没有连接到电脑上。这真是悲剧,更何况还浪费了很多时间,这种网络排查思路本来就是错误的。因为可能不是每个人都能去机房检查交换机的接线,所以在这一步中,我们考察的重点应该放在下图所示的地方:在这一步中,需要注意以下几点检查:1.确认电脑本身的网卡是否有问题。2.确认连接的网线没有问题。3、机器连接的开关(如果可以去机房检查一下)。其他设备的问题。这个范围内的故障处理比较简单,因为只涉及物理链路连接问题。对于这种测试,可以考虑使用线路测试仪,但我个人的建议是,最好还是带一台配置合理的笔记本电脑进行测试。(2)检查机器的IP地址、路由、DNS设置是否有问题。上面第一步,物理链路检查没有问题,即电脑接上网线后,电脑有反应,可以识别。但是网络还是不行。来到这一步,我们首先要注意电脑的设置。在上一步中,我们的重点是:1、如果IP地址设置采用的是DHCP自动获取的方式,那么此时你只需要检查一下你机器的设置中是否开启了自动获取IP,是否开启了自动获取IP。它已启用。如果你使用的是静态IP,那么一定要注意IP地址是否填写有误(一般网管给的),IP地址的子网掩码是否有问题(这个是非常重要,对于静态IP,这里很多人会犯错,建议最好学习一下IP地址和VLSM的知识)。一般可以使用如下命令查看:相关设置可以在自己的电脑环境中查看。2.路由设置对于服务器和PC,一般是指默认网关的设置;对于路由器本身或者三层交换机来说,是设置静态路由还是动态路由的问题。3、DNS设置主要是保证设置的DNS服务器地址不提供域名解析服务或者是否失效。至于如何判断,后面会给出方法。这里的重点是你要设置一个正确的DNS服务器,地址可能会自动获取。在Windows上,可以通过以下命令查看:(3)测试网关或路由器的通畅性。先测试网关再测试路由器,逐层测试以上网络环境。联网后,我们在电脑上使用命令tracert-d得到如下结果:通过这个测试结果,我们可以清楚的知道电脑上网时数据的方向:根据数据,我们可以得到一个重要的思路,就是根据数据的方向来检测网络的平滑度!因此,我们可以分为两步:1.首先测试电脑到网关192.168.2.254的通畅性。我们可以在自己的电脑上ping一下网关的地址,看看有没有反应:一般这种判断的方法比较快,但是有的时候怎么ping都不通。那么可能会出现以下几种情况:a.网关设备已设置禁止pingb.网关接口或网关设备故障。对于a来说,一般这些设备很少会被限制ping操作,因为目前网络上很多路由器或者交换机等设备的监控都是通过ping操作来完成的。ping完192.168.2.254网关后,再次ping172.16.13.1,确认电脑和整个网关设备之间没有问题。当ping不通时,个人建议在电脑上进行如下操作:检查电脑本身是否已经获取到网关的MAC地址。显然,如果没有网关的MAC地址,是无法ping通网关的。排除之前电脑设置的问题后,可以猜测是网关设备有问题。这时可以联系网络工程师对网关设备进行测试。2、测试其他路由器的流畅度。上一步没有问题,就是电脑和网关通信正常,接下来测试网关到出口路由器的通畅性:这里,我们可以使用tracert-d命令:当然,如果发现失败,那么可能是以下情况:a.网关设备与路由器之间的物理链路问题b.网关设备与路由器之间的设置问题,如路由协议、接口配置等。如果出现以上情况,那就是网络工程师的问题了。当然,如果你是网络工程师,应该第一时间检查设备的状态,看看是不是设备有问题。以上步骤完成,假设你的出口路由器设置没有问题,比如NAT和默认路由的设置等,那我们就可以大致知道内网的一次基本通信是正常的(至少你的电脑是这样的)和出口路由器)通信没问题),我们要看看电脑能不能上网。(4)测试ping公网ip是否流畅(一般需要记住几个外网IP)。走到这一步,说明前三步没有问题。这时候要做的就是判断局域网与外网(公网)的通信是否有问题:这里采用直接ping公网地址的方式,排除DNS的影响(万一你的DNS设置有问题),至于ping什么样的公网地址,我个人的建议是可以ping一些不禁止ping的公网DNS服务器地址,比如114.114.114.114和8.8.8.8:这之后基本可以确定网络没问题了。当然,这还没有提到在出口处放置防火墙的情况。其实思路是一样的,但是你要考虑的是你访问的数据有没有被防火墙过滤,是数据出去的时候过滤,还是数据回来的时候过滤?由于还涉及到防火墙的设置,这里就不多说了,不过这一点还是要注意的。当然也不排除是ISP这边的问题,那就打电话问吧。(5)测试DNS的通畅性,可以直接ping网站地址如题,可以直接ping网站地址,看是否有IP地址回显。有个问题,不过这里还是想说一下nslookup命令,这是一个非常有用的命令。我通常在排查网络问题时使用它。二:1.帮你测试一下你设置的DNS服务器是否有问题2.不考虑DNS服务器是否智能,你可以根据速度来大致判断DNS服务器的优劣回显IP地址,因此您可以完全使用nslookup命令。4.最后,重要说明。其实基本上,一个比较完整的网络排查流程应该就是上面说的了。不过基本上是,因为上面的解释几乎都是假设你没有权限进入机房查看网络。设备的状况。事实上,你根本不需要复制上面所有的步骤。在实际的故障排除过程中,您可能只会用到其中的一小部分。毕竟,如果你每次都这样做,没有人是错的。不会很抓狂,因为一些很简单的问题还要这么折腾,时间太长了!不过,以上方法只是网络排查的一种思路,希望能根据这种思路,判断出网络的问题出现在什么地方,至于怎么解决,真的涉及太多很多经验问题(其实遇到问题可以百度)。其实我个人认为最重要的不是技术本身,而是技术本身。网络故障排除过程中的一个思路,思路决定出路,让您在网络故障排除的过程中时刻保持清醒的头脑,这一点非常重要!我不是专攻网络的(折腾了一段时间)这一块,也就是说,我不是网络工程师(不可能),但是在实际过程中要处理很多网络故障.一年多下来,积累的经验勉强可以称为经验吧。去年,我公司引进了一款由国内科研人员开发的运维工具——猎豹安全。从此,我们的技术开发人员从技术运维升级到服务运维。猎豹安全提供主机服务器的远程运维和安全监控的实时告警。具有运维监控、威胁检测、自定义告警、订阅推送等功能。无广告,盈利,集运维监控+威胁检测运维产品于一体。从那以后,我们公司的网络故障几乎没有影响到业务,所以我们还是想把不专业的事情交给专业的人去做。写这篇文章是对自己的一个总结,希望能对有需要的朋友有所帮助。