0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网络排错的必备条件

Linux爱好者 来源:xpleaf 作者:xpleaf 2021-01-19 16:50 次阅读

明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。

有了这个技能,如果以后发生领导、妹子电脑上不了网的情况,你上去就是一顿操作,稳稳的~~

网络排错的必备条件 为什么要先讲必备条件?因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的使用上,而是一套系统的方法,如果没有这些条件,真的不能保证下面聊的这些可以听得懂,并且能运用到实际当中,所以还是先看看这些基础的条件吧。

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

这应该是网络排错要知道的最基本的知识了。 无论是OSI七层模型还是DoD模型,都是用来描述网络通信的一个过程,以让我们对网络数据的发送和接收有一个大致的认识。OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,也就是TCP/IP协议栈。 TCP/IP协议栈里面的协议就显得十分重要了,比如DNS、TCP、UDP、IP、ICMP、ARP,这些最基本的应该得知道吧,我们不需要像《TCP/IP协议栈》中说得的那么细,但至少,对于这些协议的基本功能我们是必须得要知道的,这些就不是一两句可以说清楚的了,计网里也都学了~

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

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

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

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

b31f9490-5787-11eb-8b86-12bb97331649.jpg

如果网络环境比较庞大,汇聚层和核心层都会有,像这里的话,就直接没有汇聚层,不过思想是一样的。下面讲的排错其实都是针对用户PC来说明的,事实上,数据中心中的网络排错也是类似的。不管网络环境多么复杂,其实简化下来跟这个都是差不多的。

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

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

b34477ec-5787-11eb-8b86-12bb97331649.png

如果使用的是Linux操作系统,那么也有对应的相关命令。其实说到底就是要熟悉你所使用的设备,当然,在实际网络排错的过程中,如果只是为了测试网络通信是否正常,你可以换上你熟悉的设备操作。

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

网络排错,不就是要判断网络哪里出了问题,因此,你就必须要知道数据的走向。 所以一个重要原则是:关注数据的走向。 下面讲的网络排错思路其实就是通过追踪数据的走向来一步步缩小网络故障点的,因此,时刻记住这一点非常非常重要!这也是为什么上面需要让你了解中小型企业网络的基本架构了。 网络排错的基本思路 基本思路如下,这跟网上的大多数人写的应该是差不多的。 (1)检查物理链路是否有问题 (2)查看本机IP地址、路由、DNS的设置是否有问题 (3)测试网关或路由器的通畅情况。先测网关然后再测路由器,一级一级地测试 (4)测试ping公网ip的通畅情况(平时要记几个外部IP) (5)测试DNS的通畅情况,可以直接ping网站地址 网络排错的具体步骤 为了更好的讲述网络排错的过程和思路,假设我们有下面的一个网络环境: (说明:虽然是假设,但实际上该网络环境是通过GNS3联动虚拟机和真实网络架设起来的,所以是可以真实参考的)

b372ad9c-5787-11eb-8b86-12bb97331649.jpg

下面,我们就以上面这个网络环境为例子,详细介绍我们的网络排错思路,每一步要怎么做,每一步为什么要这样做以及这样做之后我们可以得到什么信息,都会做一个说明。

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

这一步是我个人认为在做网络排错时必须要做的第一步!经常会听朋友说,领导的电脑上不了网,需要过去排错,搞了老半天,还发现不了问题,最后在几经绝望之时,竟然发现网线都没接上电脑。这就真的是悲剧了,浪费了很多时间不说,这样的网络排错思路本来就是有错误的。 因为也许不是每个人都可以去机房查看交换机的接线情况,所以这一步,我们排查的重点范围就应该放在如下面图所示的地方:

b398db02-5787-11eb-8b86-12bb97331649.png

在这一步,下面几点是需要注意排查的: 1. 确认电脑本身的网卡有没有问题2. 确认接的网线有没有问题3. 本机所连接的交换机(如果可以去机房查看的话) 如果上面这几点排查都没有问题了,那么就是该网络环境中的其他设备问题了。这一范围的排查相对比较简单,因为只涉及到物理链路的连接问题。 对于这种测试,可以考虑使用测线器,但个人的建议是,拿一台配置正确的笔记本来做测试也未尝不可。

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

上面第一步,物理链路的排查没有问题了,也就是说,电脑接上网线之后,电脑有反应了,可以识别,但是网络还是不通,来到这一步,就应该先把注意的范围放在电脑的设置上面了。 这一步,我们关注的重点是: 1. IP地址设置 如果采用的是DHCP自动获取的方法,那么这时候只需要看自己本机的设置上有没有开启自动获取IP的设置以及有没有开启相关的服务; 如果用的是静态IP,那么就必须要注意IP地址的填写有没有错(一般网络管理人员给的)、IP地址的子网掩码有没有问题(这很重要,对于静态IP,很多人在这里设置错误,建议是,最好把IP地址、VLSM这方面的知识学一下)。 一般可以用下面的命令查看:

b3c369a8-5787-11eb-8b86-12bb97331649.png

2. 路由设置 对于服务器、PC,一般是指默认网关的设置了;对于路由器本身或三层交换机,那就是静态路由或动态路由的设置问题了。 3. DNS设置 主要是要确保所设置的DNS服务器地址到底有没有提供域名解析服务或者是否出现了故障,至于如何判断,后面会给出方法,这里关注的是,你得设置一个正确的DNS服务器地址或可以自动获取。在windows上面你可以通过下面的命令查看:

b3eaab58-5787-11eb-8b86-12bb97331649.jpg

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

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

b40f9a58-5787-11eb-8b86-12bb97331649.png

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

b4371ede-5787-11eb-8b86-12bb97331649.jpg

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

b44ae086-5787-11eb-8b86-12bb97331649.jpg

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

b46665a4-5787-11eb-8b86-12bb97331649.jpg

一般这样的判断方法是比较快的,但有时候,无论怎样ping都不能,那么则可能有以下的几种情况: a. 网关设备做了禁止ping的设置b. 网关接口或网关设备出现故障 对于a,一般很少会在这些设备在做ping的限制操作,实在是没有太大的必要这样做,当然,网络安全等要求十分严格的除外。ping通192.168.2.254网关后,再ping一下172.16.13.1以确认电脑到整个网关设备都没有问题。 对于ping不通的时候,我个人还建议在电脑上执行如下操作:

b4911fb0-5787-11eb-8b86-12bb97331649.png

即查看电脑本身有没有获取到网关的MAC的地址,显然,如果没有网关的MAC地址,那也是不可能ping通网关的,在排除了前面电脑设置的问题后,你可以猜测是网关设备出了问题,这时就可以联系网络工程师对网关设备进行测试了。 2. 测试到其它路由器的通畅情况 前面一步没有问题了,也就是电脑到网关通信正常了,再测试网关到出口路由器的通畅情况:

b4bb3e9e-5787-11eb-8b86-12bb97331649.jpg

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

b4da4280-5787-11eb-8b86-12bb97331649.png

当然,如果发现不通,那么则可能是下面的情况: a. 网关设备与路由器之间的物理链路问题b. 网关设备与路由器之间的设置问题,比如路由协议、接口配置之类的 出现上面的情况,那就是网络工程师的问题了,当然,如果你是网络工程师,应该要马上查看一下设备的状态,看是不是设备哪里出现问题了。 上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如NAT与默认路由等的设置,那么我们大致可以知道,内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。

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

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

b5041966-5787-11eb-8b86-12bb97331649.jpg

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

b5156068-5787-11eb-8b86-12bb97331649.jpg

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

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

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

b52aaa68-5787-11eb-8b86-12bb97331649.jpg

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

b546fc22-5787-11eb-8b86-12bb97331649.jpg

使用nslookup命令,作用有二: 1.帮你测试你设置的DNS服务器有没有问题2.在不考虑DNS服务器是否智能的前提下,你可以根据回显IP地址速度的快慢来大致判断DNS服务器的优劣情况 所以可以充分利用nslookup命令了。 最后重要说明 其实基本上,一个相对完整的网络排错过程就应该如上面所说的了,不过,是基本上的,因为上面的讲解,都几乎是假定你是没有权限进入机房查看网络设备的情况的。 事实上,你是根本不需要照搬来进行上面的全部步骤的,在实际排错的过程中,可能你用到的只是其中的一小部分而已,毕竟,如果每次都这样下来,没有谁是不会疯掉的,因为一些很简单的问题也要这样折腾,那就是太浪费时间了!但是,上面的方法,只是提出一种网络排错的思路,希望按照这个思路可以判断出网络的问题出现在哪里,至于如何去解决,这中间真的又涉及到太多太多的经验问题。其实整个下来,个人觉得,最重要的仍然不是技术本身,而是在网络排错过程当中的一个思路,思路决定出路,这可以让自己在网络排错的过程中时刻保持清醒的头脑,这一点很重要。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87451
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1273

    浏览量

    78307
  • DNS服务器
    +关注

    关注

    0

    文章

    21

    浏览量

    8393

原文标题:有了这篇网络排错思路大总结:帮了不少女同事

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔发布23.40.0版无线蓝牙驱动,提升低功耗蓝牙连接性能

    具体更新内容如下:首先,针对BR/EDR与LE双模式连接问题进行了优化;其次,对“周期性广播广告数据信息”功能进行改良,此举有助于提高平台功耗节能效果,实为LE Audio Aura音频共享功能的必备条件
    的头像 发表于 04-11 11:42 204次阅读

    LED恒流驱动芯片SM2188EN:满足LED灯具出口欧盟所需的ERP能效认证标准和要求

    LED灯具是一种节能环保的照明产品,因其高效节能、长寿命等优点而备受消费者青睐,成为照明市场的主流产品。作为LED灯具出口欧盟市场的必备条件,ERP能效认证标准和要求对LED灯具的能效性能提出了严格的要求。
    的头像 发表于 12-20 16:17 305次阅读
    LED恒流驱动芯片SM2188EN:满足LED灯具出口欧盟所需的ERP能效认证标准和要求

    家庭必备的4G路由器-轻松畅享无限网络

    在如今信息化高度发展的社会,家庭的网络需求也越来越高。而4G无限路由器的出现,为我们提供了一个解放网络的新方式,成为了家庭必备的利器,让家庭网络畅通无阻,让我们轻松畅享无限
    的头像 发表于 11-21 14:40 192次阅读

    安全标准是消费物联网的必备条件

    随着越来越多的设备连接起来,物联网(IoT)遭受安全威胁的可能性也在增加。这使得全球各地政府部门和监管机构都重视起来,开始采取诸如网络安全立法等行动来保护消费者,同时也激励制造商优先考虑网络
    发表于 11-13 09:40 167次阅读

    网络拓扑图怎么画最好?

    掌握专业的拓扑绘制技巧是从事数通工程的一个基本要求,一个专业的、规范的网络拓扑不仅仅能够清晰的、直观的呈现网络的逻辑结构,更有利于项目实施、运维管理、排错等等,也能够很好的呈现数通工程师的职业软技能。
    的头像 发表于 10-31 17:04 548次阅读
    <b class='flag-5'>网络</b>拓扑图怎么画最好?

    运维中网络故障排错汇总案例

    无论是OSI七层模型还是DoD模型,都是用来描述网络通信的一个过程,以让我们对网络数据的发送和接收有一个大致的认识。OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,也就是TCP/IP协议栈。
    发表于 10-30 12:24 289次阅读
    运维中<b class='flag-5'>网络</b>故障<b class='flag-5'>排错</b>汇总案例

    单片机上电后没有反应,如何排错调试?

    单片机上电后没有反应,如何排错调试?
    发表于 10-20 07:01

    如何基于STM32CubeIDE中的设备配置创建Vision项目

    必备条件-ARM软件: ARM Keil MDK v 5.28a或更高版本。 对于SMT32 F0/L0/G0设备,请使用为这些系列提供的免费MDK版本。 目标设备系列的设备系列包。 -STM32软件
    发表于 09-01 11:57

    安全标准是消费性物联网的必备条件,了解新法规的六个关注面向!

    当前各国新的立法旨在为所有联网装置制定通用的网络安全标准。每当新技术出现时,安全和保障立法当然必须跟上,任何延迟都可能使消费者面临更高的风险。同样地,对于当今的物联网市场来说,有必要加强相关的安全
    的头像 发表于 08-28 16:10 295次阅读

    SystemC循环模型11.2版用户指南

    查看本节中使用ARM SystemC周期模型的前提条件。 有关以下必备条件的详细信息,请参阅周期模型系统C运行时安装指南(101146): ·您的环境中必须安装受支持的周期模型SystemC
    发表于 08-12 06:21

    想要“发点横财”的必备条件,最简单的金属探测器挖到了什么

    DIY电子技术工业控制
    学习电子知识
    发布于 :2023年08月08日 01:07:56

    晶振原厂告诉你:优质晶振的5个必备条件

    市面上的晶振,有些是以次充好,让采购者在选型时很难分辨晶振的好坏。今天扬兴晶振原厂教大家如何区别优质晶振与劣质的频率元件。
    的头像 发表于 07-13 16:10 1112次阅读
    晶振原厂告诉你:优质晶振的5个<b class='flag-5'>必备条件</b>

    为什么电流检测是协作式移动机器人的必备条件

    移动机器人通常在主电源轨上使用 48 V 至 80 V 的锂离子电池运行,并且可能会在主电源轨上遇到超过 150 A 的高浪涌电流。移动机器人上的辅助电源轨可以利用 3.3 V 至 80 V 之间的任何电压为照明、电机、视觉系统、CPU、内存和其他相关子系统等外围设备供电。次级电源轨上的电流水平通常要低得多,在数十安培的范围内。   另一方面,协作机器人通常在24 V至60 V之间工作。系统内的电流水平(特别是电动机中的电流)通常为每个节点约20 A或更低。精确的电流测量在协作机器人中更为重要,因为高精度提供了严格的系统控制,以实现机器人的安全高效操作。
    的头像 发表于 06-04 14:22 1068次阅读
    为什么电流检测是协作式移动机器人的<b class='flag-5'>必备条件</b>

    PCB电路板焊接:必备条件与关键因素

    PCB(Printed Circuit Board)电路板焊接是现代电子行业中最重要的生产环节之一,它决定了电子设备性能的稳定性和可靠性。PCB电路板焊接的成功,依赖于许多关键因素,其中包括焊接材料的选择、焊接设备的性能、焊接过程的控制、以及焊接环境等多个条件。接下来,我们将详细地探讨这些
    的头像 发表于 05-31 10:43 1170次阅读
    PCB电路板焊接:<b class='flag-5'>必备</b>的<b class='flag-5'>条件</b>与关键因素

    计算机网络系统中如何进行网络排错

    为什么还要必备条件?因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的使用上,而是一套系统的方法,如果没有这些条件,我真的不能保证下面讲的这些你可以听得懂,并且能运用到实际当中,所
    的头像 发表于 05-09 16:03 500次阅读
    计算机<b class='flag-5'>网络</b>系统中如何进行<b class='flag-5'>网络</b><b class='flag-5'>排错</b>