首页 > 其他分享 >网络故障排查的方法

网络故障排查的方法

时间:2024-03-22 16:34:40浏览次数:287  
标签:网络故障 故障 是否 ping 网络 网卡 排查 方法

网络是一切系统赖以正常工作的基础设施,所以保证主机的连通性是一切工作得以开展的前提。由于网络协议和设备所具有的复杂性,很多故障解决起来是有麻烦的。从大多数情况看,网络故障主要分为硬件故障软件故障两种。

     物理故障又主要分为网卡物理损坏、链路故障等原因。其中网卡物理损坏是指网卡设备由于使用中发生电子元件损坏而造成的网卡设备无法继续使用的情况;链路故障很多时候表现为网现或者水晶头在制作过程中出现线路问题,或由于线路老化等原因物理链路断开,从而使无法物理连通的情况。

    软件故障主要表现为网卡驱动故障,也就是操作系统对于网卡驱动的不兼容,这个问题往往需要通过需要安装对应的网卡设备驱动来完成。

基于以上两点,将网络在故障时采用的步骤总结如下:

第一步 确认网卡本身是否能正常工作,ping 127.0.0.1,看是否能ping通,这里的127.0.0.1称为回环接口,是TCP/IP协议栈正常工作的前提。若果ping不同说明TCP/IP协议栈有问题。不过,出现这种现象的概率比较低。
第二步是确认网卡是否出现了物理或驱动故障,使用ping本机IP的方式,如果能ping的通说明本地设备和驱动都正常。
确认是否能ping通同网短的其他主机。这一步主要是确认二层网络设备(比如交换机或者HUB)工作是否正常。如果ping不通往往说明二层网络上出现了问题,可能涉及交换机的端口工作模式、vlan划分等因素。
确认能否ping通网关,若果数据包能正常到达网官,说明主机和本地网络都正常。
确认是否能ping通公网上的IP,若果可以说明本地的路由设置正确,否则就要确认路由设备是否做了正确的nat或路由设置。
确认是否能ping通公网上的某个域名,若果能ping通说明DNS部分设置正确。


物理机和虚拟机ping不同的原因,总结如下:
7. 看网线是否插好
8. 看物理网卡的状态
9. 看两者是否在同一网段
10. 看桥接
11. 更换网卡
 网络管理员会经常遇到网络连接故障,假如没有工具常常不知道如下手进行故障排除,下面介绍六个排查的基本步骤。

  可以了解如何通过正确的工具并按照6个简单的步骤操作来简化识别、隔离和解决边缘交换机和用户计算机之间的问题。
  第1步:检验电缆
  首先,检查计算机与网络插口之间的电缆。对于10/100网络环境,只需一种能检查开路、短路和布线的工具即可工作。而对于千兆以太网,则还需检查电缆中是否存在串扰和阻抗故障。我们推荐使用电缆鉴定测试器,它可在实时网络中测试串路和阻抗故障。
  第2步:确认连接到交换机
  将便携式网络工具(而不是问题计算机)连接到办公室线路,检查是否可以建立链路。如果端口被管理员关闭,则工具将无法连接。接着,检查端口配置以确保端口可用且已按正确的VLAN进行配置。为获得最佳结果,应使用可支持10/100/Gig 连接的工具。不过,通常 10/100 连接的工具即可工作。
  第3步:申请DHCP 地址
  一旦建立链路之后,即可使用工具从服务器申请DHCP地址。应确保分配的地址与相应的子网相符;检验子网掩码;确认默认网关和DNS 服务器地址。如果工具未能从服务器获得响应,它应该可以通过分析广播流量检测出相应的子网。通过从交换机获得的 Cisco 发现协议 (CDP) 报告,检查工具所连接的交换机端口,并确认子网配置。
  通过ES2网络通来检验是否能够正常接入网络,并顺利获得IP地址
  第4步:Ping网络上的设备
  一旦获取DHCP地址之后,即可使用工具ping 一台局域网外的设备。这可确认 DHCP 服务器的指定配置是否正确以及网络流量是否被正确地路由发送。这时,网络连接已经过测试,因此计算机可重新连接到网络。对于持续性网络连接问题,最好在计算机和网络之间在线连接工具以进行附加的诊断。
  第5步:检验速度/双工模式设置
  某些链路性能故障如双工模式不匹配、速度不匹配以及静态配置IP地址等都只能进行在线检测。因此,我们强烈推荐使用具有在线检测功能的工具。在计算机和网络之间以在线方式连接工具。确认所连接交换机端口的速度设置和双工模式设置与相应计算机的设置相符。如果检测到双工模式不匹配,则确认计算机和交换机端口是否均已被设成自动协议。
  通过NetTool网络万用表在线测试两端网络设备的连接状态,获得电平,收发线对,双工,适应速率
  第6步:网络流量监控
  通过在线工具检查计算机是否成功地向DHCP服务器申请并接收到地址。这种工具应能同网络建立独立的连接,然后再与计算机建立连接。接着,使用计算机连接到电子邮件服务器或应用服务器,并通过工具监控网络流量。查找过多的广播、冲突或错误。一旦检验完所有这些参数之后,计算机与网络之间的链路即可取消。假如故障仍然存在,则可能需要使用更加精密的网络诊断工具。

 网络故障排错思路
网络故障发生时, 可以按照收集信息、分析现象,提出假设,验证假设,分析根因、制定解决方案,并执行验证。

1.1 收集信息
收集信息包括以下信息:

故障现象。故障是什么现象,是完全中断时断时续,还是还是丢包,抖动;
故障发生时间。故障是什么时候发生的,是一直存在还是刚刚发生,故障发生前是否由变更,变更是否可能导致故障;
故障范围;故障产生的范围,是所有人所有业务都受到影响,还是局部影响,故障范围是否由共性,例如都经过一个路由器,一条链路,一个接口;
1.2 分析现象,提出假设
收集到信息后,需要将故障现象转化成网络专业中的现象,进行分析,并得提出假设。例如基站掉站转化成基站网管平面到基站控制器管理面之间不通,可能是因为路由丢失;某基站下无法发送短信转换成该基站下无法发送大包数据,可能是因为端到端MTU不满足业务需求。
如果故障和业务紧密相关,且网络连通性没有问题,此时就需要对业务由深刻理解和积累,才能得出合理,专业的假设。一些业务故障发生后,如果在业务层面排查没有没有问题,网络工程师可以今早参与到其中,一方面是为了尽快确保网络没有故障,另一方面是避免到最后发现是网络问题导致被动。

1.3 验证假设,分析根因
提出假设后,开始对假设对假设进行验证,如果假设得到证实,则需要分析故障出现的根本原因,并提出解决方案,如果假设不成立,则需要针对收集的信息对进一步分析,提出假设。

继续以基站断站为例,第二步分析后提出的假设是路由丢失导致基站断站,开始对基站控制器管理面到基站的沿途的路由进行检查,确保每一跳都由去程和回城路由,如果发现某一跳路由缺少,需要进一步分析根本原因。

如果检查过后,发现假设不成立,则需要回到第2步,甚至第1步,重新进行采集和收集。

1.4 制定解决方案,并执行验证
得出根本原因后,开始制定解决方案,在制定和执行解决方案时,必须遵循以下原则:

确保执行方案不会造成更大故障;
执行方案可回退;
执行解决方案前,需要保存当前业务,网络状态,以便执行后进行对比;
每次只执行一个操作,并观察业务;
如果解决方案部署后仍无法解决,考虑是否需要回退;
如果无法解决方案执行后,仍然无法解决,需要从新进行分析和假设。

1.5 故障总结
故障解决后,需要对故障进行总结,总结内容包括:

故障产生的原因。故障是人为导致故障还是非人为导致。如果是人为故障,是否因为变更导致的故障故障,如果是,需要检查遵循了变更流程,如果遵循了变更流程,则需要了解变更方案是否经过审核,测试,是否遵循变更步骤等。如果是非人为原因,则考虑分析现有网络,设备,线路是否有足够能力在一定程度上保证网络可靠性。
故障是否及时发现。现有监控工具是否能够及时发现故障,现有流程是否能使得故障及时有人处理,及时上报,升级;
改进措施。如果是人为导致故障,则考虑如何从权限,流程,测试,自动化上避免故障再次发生,如果是非人非考虑如何从网络弹性设计,网络自愈方面考虑避免故障发生。
2 故障排除方法和工具
故障处理时,可以使用的工具包括:syslog,监控系统,wireshark,设备自带命令等;
故障处理的方法包括:自顶向下,自底向上,从网络层开始,分段法,替换法,比较法等。

2.1 故障处理工具
处理故障过程中,要善于利用现有的工具和系统,例如监控系统,常见的开源监控系统包括zabbix, cacti,open-falcon, 普罗米修斯等。cacti功能简单,可以用于网络建设初期快速部署的场景,随着网络规模和需求的增加,cacti在多厂商设备支持和监控项支持上就显得不足,此时zabbix是一个很好的选择,可以自定义监控模板,监控项,并且提供API接口;open-falcon和普罗米修斯是新出现的开源项目,可以进一步支持自定义功能。

syslog目前没有发现很好用的开源系统,大家可以推荐。

除了syslog和监控日志,其他常见的工具包括filezilla,用于测试FTP上传下载,使用过程中需要注意将多线程上传打开;wireshark用于抓包分析报文;cli中的ping ,traceroute, debug,也可以再特定情况下使用。

2.2 故障处理方法
2.2.1 自顶向下
顾名思义,自顶向下是指从TCP/IP协议栈顶部向下排查,通常是定位了故障点后对单个节点进行排查。自顶向下方法适用于应用层或传输层出现故障的场景,例如网络可达但应用不可用,例如无法连接FTP服务器,无法连接数据库等。如果应用层无相应,则可以向下检查传输层,TCP三次握手流程等。
常用的工具包括使用wireshark抓包,检查数据包交互流程。

2.2.1 自底向上
从TCP/IP协议栈底部向上排查。从物理层开始,向上排查。物理层通常检查是否有CRC,error包,光功率,双工速率是否匹配等。如果物理层无问题,再检查数据链路层,通常检查MAC地址是否正确学习,VLAN是否允许,是否STP震荡等内容。

2.2.2 从网络层开始
顾名思义,就是从网络层开始排查问题,网络层主要关注是否有路由,路由下一跳是否正确,路由是否稳定,是否有地址冲突等问题,排查网络层后,可根据情况,向上或向下检查TCP/IP其他协议栈问题。根据个人的实际经验,从网络层开始排查常用,也最高效。

2.2.3分段法
分段法最常用于性能问题的排查,将流量经过的路径进行分段排查。例如,A-B-C-D的网络连接,下载速率无法满足要求,可以采取的排查办法是,先测试从A-B,是否满足要求,如果满足再测试A-C,如果无法满足,问题大概率出现在B-C段,再对B-C段进行排查。

使用分段法排查性能问题可能会出现一种情况,就是A-B-C测试不满足要求,但是A-B,B-C都满足要求,这中情况下,就要分析分段测试的设备是否正确,是否遗漏了设备,或分段结合部是否有问题。

2.2.4 替换法
替换法是指将怀疑有问题的部件替换,检查故障是否消除,如果消除,很可能是原有部件有问题。通过某块办卡接入网络的服务器连接失败率很高,可以考虑将该办卡下的服务器迁移到另一台机器或办卡,观察连接失败率是否有变化。

2.2.5 对比分析法
对比分析法是指对比有故障设备和无故障设备的相同点和不同点,得出初步判断,并采取措施;例如50%的基站无法正常提供4G服务器,另外50%基站4G业务正常,可以对比两部分基站有什么不一样的地方,通过对比发现了故障的50%的基站都最终都汇聚到了一台网关,正常的基站汇聚到另一台网段,根据整个现象,再对比两台网关配置,状态差异,就可以很快地位出故障。

3 小结和思考
网络故障排除不仅靠处理故障时的思路和方法,更多的是靠的时日常积累。从个人角度看,工程需要日常熟悉各业务流程,才能迅速将用户上报的故障转换成网络问题,开始进行排查;同时需要熟练掌握网络中应用的各种技术,才能提供合理假设,对故障节点进行分析,得出结论。个人的经验是,像数据包一样,走一遍设备对数据包的处理流程。

从组织角度看,网络建设和运维过程中,如果建立了完备的工具,系统和基线,同样有利于快速定位和解决故障。

与业务故障不同,网络故障通常是通过告警,日志,或用户保障发现,如何像业务一样建立各种指标,指标异常时及时同时告警,是另一个值得深入研究和探讨的方向。当前实践虽然已经有了流量,CPU,内存等指标,但仍远远不足。
 

排查故障的5个步骤:
1、Ping 127.0.0.1 检查IP协议栈
2、Ping 当前主机IP 检查网卡
3、Ping 默认网关   检查本地网络 
4、Ping 远程服务器 检查远程物理网络
5、检查DNS设置

参考:https://www.cnblogs.com/zhuhuibiao/p/16476280.html

https://www.cnblogs.com/lihaihui1991/p/15575158.html (命令)

标签:网络故障,故障,是否,ping,网络,网卡,排查,方法
From: https://www.cnblogs.com/klb561/p/18089772

相关文章

  • 稳定性方法论:可灰度 & 可监控 & 可回滚
    业务系统核心目标是挣钱,系统稳定性建设核心是防止丢钱(丢钱逻辑如下图所示),站在公司的角度看,产品功能建设和系统稳定性是同等重要。  前段时间写了《稳定性治理框架》,该文章在稳定性建设的理论和实践基础上,抽象出稳定性治理的框架,希望建立一个稳定性治理的标准动作、最......
  • C#_继承_多态_抽象类_虚方法_密封类_静态类
    文章目录前言类的继承继承类的构造函数子类访问父类访问修饰符测试多态_函数重载多态_运算符重载可重载与不可重载的运算符抽象类虚方法new和override密封类和静态类结构体上期习题答案本期习题前言C#是面向对象的编程语言,面向对象编程的四项基本原则:抽象:将......
  • JQuery 点击不同Button进不同方法
    <scripttype="text/javascript"src="/js/jquery-3.2.0.min.js"></script> <scripttype="text/javascript">//$(document).ready(function(){//$("#showPwd").click(function()......
  • iOS应用审核问题解决方案及优化方法 ✨
     摘要本文将针对iOS应用提交审核时可能遇到的问题,如“你必须在Xcode中添加com.apple.developer.game-center密钥”,以及突然间提交送审报错情况进行探讨。通过大量查询资料和尝试,结合案例分析,提供了解决方案和优化方法,帮助开发者成功通过应用商店审核。 引言在iOS应用开发......
  • 内核源码编译错误及解决方法
    参考资料:https://blog.csdn.net/zhoukaiqili/article/details/126191871https://blog.csdn.net/weixin_42792088/article/details/121657463 1、bc:notfound问题原因:缺少bc命令行工具,bc是一个用于数学计算的命令行工具,它在Linux和Unix系统上广泛使用。bc代表"基本计算器......
  • windows通过命令行修改RDP端口的方法
    在Windows系统中,通过命令行修改RDP端口,可以使用以下步骤:打开命令提示符窗口。你可以使用WIN+R快捷键打开“运行”对话框,输入“cmd”并按Enter键。输入以下命令并按Enter键来修改RDP端口:进入cmd regadd"HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\WinSt......
  • 企业怎么选型人力资源管理系统?告诉你3点好方法
    企业在选择人力资源管理系统的时候可以根据自身需求对比来选择。除此之外,有一些品牌的人力资源管理系统功能比较全面且均衡,能够涉及到人力资源管理和企业事务管理的方方面面。目前市面上有多种人力资源管理系统,在功能上大同小异,但各家都有各家的侧重点,比如某些人力资源管理......
  • 关于RK1808/RK1806和RV1109/RV1126 NPU升级方法
    一、注意事项本工程主要为RockchipNPU提供驱动、示例等。**RK3399Pro用户态的库及驱动不在本工程**,请参考:https://github.com/airockchip/RK3399Pro_npuRK3566/RK3568/RK3588/RV1103/RV1106请参考:https://github.com/rockchip-linux/rknpu2二、RKNNToolkit在使用RKNNA......
  • 学浪视频下载到电脑方法
    有很多人买了学浪的课程,花了好多钱,而且有时间限制,我该如何下载到本地电脑进行观看,并且画质要求高清这是这篇文章所需要用到的工具链接:https://pan.baidu.com/s/1y7vcqILToULrYApxfEzj_Q?pwd=kqvj 提取码:kqvj --来自百度网盘超级会员V10的分享1.首先解压好我给你们准......
  • Ubuntu2204 GUI root用户无法登录的处理方法
    Ubuntu2204GUIroot用户无法登录的处理方法背景今天上午同事cloneubuntu2204之后想通过GUI登录修改IP以及进行一些安全设置发现root用户登录输入密码后就会返回登录界面.会进入一个无线死循环的额状态.这里记录一下进行地址设置和解决root登录的问题.解决IP地址的设......