您当前的位置:首页 > 计算机 > 网络通信

设备出现无法访问故障,单向能ping通问题排查解决过程

时间:02-12来源:作者:点击数:

对方设备掩码设置255.255.255.252造成ping不通time out

公司一个设备有问题要进行复现,拿到后不知道ip地址,无法通过web来查看配置,通过串口看配置文件后看到管理口snmp的ip是management-port ip address 172.26.0.214 255.255.255.252,看到这里觉得是个b类地址,pc配置一个172.16.0.145的ip后去ping。发现不通,显示time out。但从设备串口上执行ping主机pc的ip却可以ping通,无法用telnet和web进行访问,为什么?

ping出现time out的可能原因有:

1、目的设备防火墙拦截的ping的request消息,导致高层无法收到,所以不回ping的reply消息。

2、跨网段环境中存在ip冲突,导致网关把ping的request消息发给其他mac地址。

3、也与目的主机的路由相关,没有回程路由,如同网段可能掩码错误,没有配置网关的情况。

4、回程路由指向其他ip地址,导致源ip没有收到ping的reply消息。

5、ping消息的入接口和回程出接口不是设备的同一接口等等原因造成。

查看arp缓存发现arp有的,如下图:

奇怪,查看arp发现对方的设备已经给回arp请求了,用windump抓包看看。

发现对方arp响应已经发出,pc的ping的request消息已经发出,但icmp的reply消息没有,

问题在设备侧,为啥没回ping的reply消息?串口登录设备查看设备的路由

发现直连的outband的路由是172.26.0.212/30,就是掩码是255.255.255.252,就是掩码是在第四段变化,ip与掩码得出网络地址。网络地址算法如下:

172 26 0 214 第四段 1101 0110

255 255 255 252 掩码 1111 1100

172 26 0 212 结果 1101 0100 网络地址是172.26.0.212

而pc配置的地址172.16.0.145与255.255.255.252与的结果是172.16.0.144,显然不上同一网段的地址,没有对应的回车路由,符合原因3的可能,所以ping设备snmp口ip会出现没有响应。

设备的掩码是30位,主机位是2位,子网的ip个数是2^2=4个,所以网络地址172.26.0.212,广播地址是172.16.0.215,这两个地址不可用,可用ip访问是172.26.0.213和172.26.0.214,设备用了214这个地址,所以pc应该配213这个地址。

重新去ping,结果如下:

抓包显示如下:

可以看到arp消息均正常,ping的包正常,ping的序号请求,应答序号正常。

对于设备ping出来,携带的源ip172.26.0.214,与255.255.0.0的pc掩码与,结果是172.26.0.0的网络地址,显然和172.26.0.145是一个网段,pc会响应ping的request消息。所以设备能ping通pc。

问题解决。

知识点:

  1. 对arp消息的响应,只判断ip是否是自己,是就回复arp请求。
  2. 路由的查询是用目的ip和自身的掩码进行相与,得出结果去查路由表项,直连路由表优先。查出有直连路由,用直连接口的ip发出arp请求,得到对方mac地址后,发出数据包。
  3. 掩码不同,得出网络地址不同。如pc的掩码可以是8,只要第一段是172的ip都认为是同一网段,发出arp查询消息。而设备掩码是30位,网络地址就具体到第四段的值。
  4. 网络地址和广播地址是配置不到pc的网口上去的。如下图:
/

5、ping的回显time out证明已经发出的request消息出去,没有收到响应而已。

6、可用ip的范围是网络地址+1,到广播地址-1。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门