admin管理员组

文章数量:1602034

一、问题描述

某次用户桌面使用一次,一线反映,某限制组内互相无法通信,使用飞秋传送文件失败;登录故障vm测试,ping本机ip地址报:一般故障


ping作为常用的一个网络通信协议,它是TCP/IP协议的一部分,ping命令使用的是检测源和目的ip间导通性测试的icmp协议,属于三层网络ip层协议。适用于windows和linux以及unix。可根据reply 反馈结果,来检查网络是否通畅或者网络连接的速度(time)是否正常。

我们ping的过程,无论是源主机发出request请求还是目的主机回reply的过程,都是首先根据目的ip查找本地路由表,确定下一跳的出口,然后根据下一跳的ip在arp缓存里确定是否有下一跳ip的mac地址,没有就发出arp请求去查找。有的话,二层和ip层组包发出。源主机ping发出含一串数据的包request消息,封装在二层上,对方收到后,把这串包原路反射送回来,源pc收到后,认为是对方可达。所以它涉及二层的mac地址和ip层的交互。当对方存在问题时(ip地址不存在,没有路由等),对方的ip或者经过的网络节点会返回icmp的差错消息给终端源ip。使用的端口和ip要根据节点的路由表进行确定,发起方根据返回结果来产生回显,若在ping的request消息发出,等待一段时间,win默认是5s,没有收到回复,发起方显示超时time out(linux环境默认定时器是1秒,这种情况没有任何显示)。

二、分析处理

1)ping localhost测试正常

本地网卡功能及网络协议状态测试验证:

ping 127.0.0.1 ,若无法ping通,则本地tcp/ip协议栈有问题
若提示为:no route to host,则说明网卡不能正常工作
若提示为:transmit failed error code,则说明网卡驱动有问题
若提示为:time out 说明路由器中有该路由,但是由于其他原因导致包无法传送
若提示为:destination host unreachable 说明路由器中无该路由

2)ping限制网站域名,测试正常

3)可能原因如下:

1.操作系统安装了第三方杀毒或安全防护软件;
2.操作系统TCP/IP协议栈损坏,如注册表损坏;
3.组策略中设置了错误的IP安全策略;
4.服务器上启用了路由和远程访问功能,但配置未正确配置;
5.问题主机与其他主机不在同一个安全组,即相当于你把本机隔离了,安全组出去本地网卡去其他主机是要过安全组的;
6.Ping不通也可能是ARP故障:主机在发出ping命令时,request在封装ICMP报文时需要MAC地址,如果对应的MAC地址不存在,则需要进行ARP学习,ARP学习失败会导致Ping报文被丢弃,从而Ping不通。常见ARP问题导致Ping不通,都是因为设备未正确进行ARP学习。
7、由于VLAN问题引起Ping不通(云上对应安全组),常见一般有3种:接口未加入已经规划好的VLAN;接口的链路类型配置不正确;VLANIF接口的状态不为UP,或配置的IP地址不正确。
8、路由问题导致的ping不通,常见有以下三种:没有去目的网段的路由;目的设备没有回程路由;设备的路由表已经超规格/超限。
9、访问控制ACL导致的Ping不通,为了保护设备安全或业务需要,如果目标设备上配置了访问控制,则可能会导致Ping不通。
10、局域网中Ip地址或者mac地址冲突导致。

4)因防火墙关闭后测试未果,排除防火墙,TCP协议栈事件台中未有明显提示,但是IP安全策略,本次确实应用了,结合步骤2中的测试,初步判断是此原因导致;

5)调整IP策略,域成员主机刷新组策略,重启测试正常,如下所示:


注意:IP策略修改后必须取消分配后再重新分配才能生效。

6)如果还不行,尝试排除路由问题,执行:

开始 > 管理工具 > 路由和远程访问,禁用本地路由和远程访问,或者在所有任务中单击 停止



7)如果还不行,尝试重置TCP/IP协议栈处理:

以管理员身份运行执行:netsh int ip reset c:\resetlog.txt

:重置命令运行时,它会覆盖以下注册表项,这两种由 TCP/IP:

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
SYSTEM\CurrentControlSet\Services\DHCP\Parameters

这与删除并重新安装 TCP/IP 的效果相同。若要成功运行手动命令,您必须指定netsh操作将被记录在日志文件的名称。(此日志文件称为"resetlog.txt")

Netsh winsock show catalog //显示所有 Winsock LSP 的列表


Winsock LSP DLL 可以加载到 某客户端(比如SQL Server )进程中,并且可以在客户端应用程序和 服务器之间的 Winsock 级别拦截和监视网络通信(包括 TDS 数据包)。当网络监视代理安装在server上并且托管服务提供商选择此计算机来监视网络使用以监视性能计数器时,就会发生客户端与server之间通信异常的问题,可以将加载到相关进程的lsp项排除。

8)附录:命令示例:

#批量ping指定网段IP,查看网络连通状态:
set ipstr=192.168.3.
for /l %i in (1 1 30) do ping -n 5 %ipstr%%i
#使网络延时9秒
ping -n 9 127.1 & echo
#-w 参数表示等待目标设备响应的超时时间,单位为毫秒
ping -w 5000 192.168.3.10   #将ping请求的超时时间设置为5000毫秒
#-l 参数表示发送icmp数据包的大小,(默认是32字节),-n 参数表示发送echo请求的次数
ping -l 24 -n 9 127.0.0.1  #发送24个字节大小的数据包,ping 9次

9)ping 工具

1、PingStatus(网络连接监测工具)是一款windows环境下极为强大的检测ping的网络连接监测工具。有图形界面,绿色中文版下载完成后都不需要安装,即可使用。它可以帮助监控Internet连接,并确定是否有造成高ping或数据丢失,监视Internet连接通过注册ping和发送的数据包的数量以及哪些报文丢失,从而帮助确定最佳上传或下载限制。该应用需要在windows上安装.NET框架。

三、附录:其他ping测试常见故障


 
1)Request timed out:请求超时

a.对方已关机

b.对方与自己不在同一网段内,通过路由也无法找到对方,及时对方可能确实是存在的。

c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置),即禁止ping;

判断对方是否存在,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

d.错误IP地址配置导致(地址重复);正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:

A. 主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

B. 主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。

e. 问题主机与其他主机不在同一个安全组,即相当于你把本机隔离了,安全组出去本地网卡去其他主机是要过安全组的;

2)Destination host Unreachable:目标主机不可达

对方与自己不在同一网段内,而自己又未设置默认的路由,或者网络上根本没有这个地址,如果网线出了故障也可能;现场遇到过一个子网内无法ping通,报:Destination host Unreachable的情况,后来发现,主机的该网卡非处于一个vlan所致。

这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中都具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

3)Bad IP address:地址错误

这个信息表示当前可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

4)Source quench received:源主机报告假死

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

5)Unknown host:未知主机

这种出错信息表明,远程主机的主机名/FQDN不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其主机名不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

6)No answer:无响应

这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

Ping 127.0.0.1:验证本地循环地址,如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

7)no rout to host:网卡工作不正常

8)transmit failed,error code:10043网卡驱动不正常

9)unknown host name:DNS配置不正确

10)ping显示:一般故障

1、windows系统安装了第三方杀毒或防火墙打开不正确的设置导致。
2、windows系统TCP/IP协议栈损坏,如注册表损坏。
3、windows安全组策略中设置了错误的IP安全策略。开始>运行,执行secpol.msc命令,打开本地安全设置界面。 单击IP 安全策略查看。
4、服务器上启用了路由和远程访问功能,但配置未配置正确。

11)ping显示:路由不可达

1、中间链路存在端口block;
2、存在ARP攻击或者其他攻击报文;
3、配置了错误的静态路由或者静态ARP;
4、存在IP地址冲突。

13)无法访问目标主机

目的ip和源ip是同一网段的,ping的结果是“无法访问目标主机” ,属于ping的请求没有发出,返回会显示“无法访问目标主机"。跨网段出现无法访问目标主机,说明请求没有成功发出,获取不了目的ip地址与mac地址。如ping的请求已经成功发出,但目标主机没有回复,ping的结果一般是“超时或者time out” ;若跨网段ping不通,结果显示是“time out”,表示ping的request消息已经发出,目的ip的网关已经获取到目的ip的mac地址,但是目的主机没有回复,或源主机无法收到。这是应该检查回程路由和节点回程路由。

本文标签: 故障异常测试网络ping