一 前置知识

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

像交换机、三层交换机、路由器、防火墙这些最基本的网络设备应该要有些了解,尤其是它们对应的OSI层次以及作用,比如普通的二层交换机对应OSI七层模型中的数据链路层,它可以隔绝冲突域,同时可能通过虚拟局域网技术(VLAN)来隔绝广播域,二层交换机通过二层地址即MAC地址来实现数据帧的转发;再比如路由器,它对应网络层,可以提供路由寻址的功能等等

2 中小型企业网络的基本架构

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

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

下面讲的排错其实都是针对用户PC来说明的,事实上,数据中心中的网络排错也是类似的。不管网络环境多么复杂,其实简化下来跟这个都是差不多的。

3 常用的网络排错命令

(1)如果用户使用的是Windows操作系统

4 网络排错的一个重要原则

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

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

下面讲的网络排错思路其实就是通过追踪数据的走向来一步步缩小网络故障点的,因此,时刻记住这一点非常非常重要!这也是为什么上面需要了解中小型企业网络的基本架构了。

5 网络排错基本思路步骤

步骤一:检查物理链路是否有问题

步骤二:查看本机IP地址、路由、DNS的设置是否有问题

步骤三:测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试IP)

步骤四:测试ping公网ip的通畅情况(平时要记几个外部公网ip)

步骤五:测试DNS的通畅情况,可以直接ping网站地址

二 网络排错基本思路详解

示例图

1 首先查看物理层问题

例如网线是否连接正确,物理链路是否有问题 这一步是我个人认为在做网络排错时必须要做的第一步!

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

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

  • 确认电脑本身的网卡有没有问题
  • 确认接的网线有没有问题(检查水晶头、网线的连接、网线的质量)
  • 本机所连接的交换机(如果可以去机房查看的话)

如果上面这几点排查都没有问题了,那么就是该网络环境中的其他设备问题了。这一范围的排查相对比较简单,因为只涉及到物理链路的连接问题。

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

查看本机配置,如ip地址和子网掩码是否设置正确 (ifconfig),默认网关是否设置正确 (route),域名服务器是否设置正确

然后要确认网卡本身是否能正常工作?利用ping工具可以确认这点。输入ping 127.0.0.1,然后看是否能正常ping通?这里的127.0.0.1被称为主机的回环接口,是TCP/IP协议栈正常工作的前提。如果ping不通,一般可以证实为本机TCP/IP协议栈有问题,自然就无法连接网络了。不过,出现这种现象的概率比较低。

要确认网卡是否出现了物理或驱动故障,使用ping本机IP地址的方式,如果能ping通则说明本地设备和驱动都正常。

(1) IP地址设置

如果采用的是DHCP自动获取的方法,那么这时候只需要看自己本机的设置上有没有开启自动获取IP的设置以及有没有开启相关的服务;如果用的是静态IP,那么就必须要注意IP地址的填写有没有错(一般网络管理人员给的)、IP地址的子网掩码有没有问题(这很重要,对于静态IP,很多人在这里设置错误)。

另外值得提的是,给电脑分配ip地址时,最好是绑定mac地址,避免用户私改ip地址,造成ip冲突。

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

(2) 路由设置

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

(3) DNS设置

主要是要确保所设置的DNS服务器地址到底有没有提供域名解析服务或者是否出现了故障,你得设置一个正确的DNS服务器地址或可以自动获取。

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

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

要确认是否能ping通同网段的其他主机。这一步主要是确认二层网络设备(比如交换机或者HUB)工作是否正常。如果ping不通往往说明二层网络上出现了问题,可能涉及交换机的端口工作模式,vlan划分等因素

要确认是否能ping通网关ip。如果数据包能正常到达网关,则说明主机和本地网络都工作正常。

(1)示例

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

数据的走向情况:

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

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

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

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

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

对于第一种,一般很少会在这些设备在做ping的限制操作,实在是没有太大的必要这样做,当然,网络安全等要求十分严格的除外。ping通192.168.2.254网关后,再ping一下172.16.13.1以确认电脑到整个网关设备都没有问题。

对于ping不通的时候,我个人还建议在电脑上执行如下操作:arp -a :网关地址和网关的mac地址。

即查看电脑本身有没有获取到网关的MAC的地址,显然,如果没有网关的MAC地址,那也是不可能ping通网关的,在排除了前面电脑设置的问题后,你可以猜测是网关设备出了问题,这时就可以联系网络工程师对网关设备进行测试了。

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

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

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

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

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

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

上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如NAT与默认路由等的设置没有问题,那么我们大致可以知道,内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。

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

确认是否能ping通公网上的iP,如果可以则说明本地的路由设置正确,否则就要确认路由设备是否做了正确的nat或路由设置。

来到这一步的时候,就说明前面三步是没有问题的,也就是说,本地局域网络的通信是正常的,这时要做的就是判断本地局域网络与外网(公网)之间的通信有没有问题了:

这里采取的是直接ping公网地址的方法,是为了排除DNS的影响(万一你的DNS设置又有问题),至于要ping什么样的公网地址,个人建议是,可以ping一些没有禁止ping的公共DNS服务器地址,比如114.114.114.114和8.8.8.8的:

这样之后,基本上就可以确定网络是没有问题的了。能ping通外网,说明网络是没有问题的,当然,这里并没有提到出口放置防火墙的情况,实际上,思路是一致的,但是,你需要考虑的是,你的访问数据有没有被防火墙给过滤掉,是数据出去的时候过滤了,还是数据回来的时候过滤了?由于还要涉及到防火墙的设置,这里就不再提及了,只是仍要注意这一点就是了。

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

确认是否能ping通公网上的某个域名,如果能ping通则说明DNS部分设置正确。

工作中主要遇到的情况多是ip地址冲突或mac地址发生冲突了,一般还是多借助wireshark抓包查看。通过查看arp包所回应的mac地址是否是正确的设备地址以检测是否是ip地址发生冲突;过滤物理mac地址,查看是否存在不同ip的情况以检测是否mac地址发生冲突。

可以直接ping网站地址,看有没有回显IP地址,至于通不通是另外一回事,只要可以回显IP地址,那么DNS就没有问题了,不过这里仍然要说一下nslookup这个命令,这是一个非常好用的命令,我平常自己在网络排错时,基本上都会用到:

也可以像下面这样使用

使用nslookup命令,作用有二:

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

网络故障排查简单思路(思路见目录)相关推荐

  1. K8S集群中Pod与Pod之间网络故障排查思路

    K8S集群中Pod与Pod之间网络故障排查思路 文章目录 K8S集群中Pod与Pod之间网络故障排查思路 1.Pod与Pod之间通信故障 2.Pod与Pod之间网络通信故障排查思路 1.Pod与Pod ...

  2. PLC故障排查步骤的思路和方法

    PLC故障排查步骤的思路和方法 PLC硬件损坏或软件运行出错的概率极低,检查故障时,重点应放在PLC的外围电气元件,PLC的故障大多数是外围接口信号故障,维修时,只要PLC有部分控制的动作正常,就不用 ...

  3. 【博客630】MTU网络问题排查及解决思路

    MTU网络问题排查及解决思路 前奏:什么是MTU ? 网络层发送数据包是有最大长度的,网络层从传输层接收到要发送的数据包时,它要判断向本地哪个接口发送数据,并查询该接口获得其最大传输单元MTU(Max ...

  4. 简单局域网网络故障排查和处置

    简单局域网网络故障排查和处置 一.了解基本网络构成 1. IP传输通信图 2.有线网络 (一)物理层面 (1)网线 (2)网线的制作 (3)网卡接口 (4)光纤 (5)光纤接口 (6)收发器 (7)集 ...

  5. 排查计算机故障的思路,电脑:网络故障排查方法

    在使用电脑时,都会使用到网络,但是经常会出现一些网络故障问题,一般点的网络问题都容易解决,今天介绍一下如何使用电脑的自带的网络故障和排除功能,对网络相关问题进行扫描,那么具体怎么操作了,喜欢有用的点赞 ...

  6. mac地址容量的作用_IP地址冲突网络故障排查案例

    前言 在大型网络中,网络互联设备数量众多,同时也趋于复杂,给运维工程师维护网络带来了较大的难度.当出现网络故障时,排查起来非常困难,具有一个较好的排查思路对于网络工程师极其重要. 本次分享一个在以太网 ...

  7. 网络故障排查常见方法

    网络故障的诊断 在故障不明的情况下,应先诊断硬件故障,后诊断软件故障:在突发网络故障时,合理是首先查看本机网络硬件是否工作正常. 常见排障命令 telnet:确认目标应用端口是否有监听. ping:确 ...

  8. 计算机网络故障排查工具,网络故障排查之路由器篇

    上一篇文章介绍了光猫的简单故障排查.网络故障简易排查篇之光猫故障判断.今天给大家介绍一下路由器的简单故障排查.今天先主要介绍通过手机进入路由器,查看路由的相关状态.以后单独写一篇从电脑进路由器. 光猫 ...

  9. linux网络95值工具,Linux下网络故障排查工具之ping|traceroute和tcptraceroute|mtr工具

    服务器运维人员在日常运维服务器的过程中经常会遇到服务器网络故障,有服务器硬件造成的,也有服务商网络问题造成的,也有区域网络问题造成的,这个时候就需要用到ping,traceroute,mtr这三个命令 ...

  10. 用终端访问路由器设置端口开发_网络故障排查最全总结!ONU、机顶盒、路由器常见网络问题及处理方法...

    无论是在项目中还是在家用网络中,我们总是会遇到一些奇怪的网络故障,网络突然变得很慢或者掉线,但又检查不出来什么原因,这样的问题相信很多弱电朋友都会遇到过,在我们弱电VIP群也是有不少朋友在项目中经常求 ...

最新文章

  1. 在Windows/Ubuntu上使用Visual Studio Code作为Go语言编辑器操作步骤
  2. 汉语(普通话)的音素对齐
  3. SystemCenter2012SP1实践(31)P2V迁移故障一则
  4. phoenixcard 获取下载脚本失败,请确认固件版本是否正确
  5. 以回调形式使用startActivityForResult方法,并解决Activity被回收的问题
  6. 数字图像处理资料集锦(Python、C++、Matlab)
  7. python代码直接关机_python实现电脑自动关机
  8. 给一个正在运行的Docker容器动态添加Volume
  9. CSS魔法堂:hasLayout原来是这样!
  10. Linux 五种I/O模型
  11. 大数据系统架构是什么
  12. Unity API学习笔记(2)-GameObject的3种Message消息方法
  13. python元胞转list_python元胞自动机的简单实现
  14. UVM:factory 机制
  15. 17届智能汽车竞赛无线充电组的方案研究(非正经)
  16. .net MVC全局定时器执行作业
  17. astropy.io.fits 教程
  18. TruckSim Quick Start Guide(TruckSim快速入门)
  19. 地图比例尺学习、超图最小可见比例尺和最大可见比例尺
  20. 可视化展示——实现论文引用关系动图展示

热门文章

  1. Gitee创建仓库拉人
  2. 上海计算机一级和四六级,大学英语六级比四级难多少?985学长含泪告诉你!
  3. 一键生成App图标所有尺寸的三个酷站分享
  4. draco压缩引擎学习笔记(二)
  5. Datawhale组队学习周报(第033周)
  6. 永川机器人博览会门票_2018世界机器人博览会门票价格
  7. 适合自己的网名测试软件,如何取个适合自己的网名?
  8. VUE(混入mixin、计算属性computed、监听watch)
  9. 开发板 linux 同步时间,arm开发板使用ntp与服务器同步时间
  10. 计算机进入安全模式,电脑无法进入安全模式怎么办