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

ping回显time out,远程访问故障问题处理过程

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

有同事反馈用公司的192.168.192.0/19的网段的ip通过vpn无法访问北京的虚拟机172.16.1.46,但访问另一个虚拟机172.16.1.143是可以的,问如何排查定位?

自己ping了一下,并pathping跟踪经过的节点。如下图:

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

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

2、跨网段环境中存在ip冲突或一设备多网卡,接在同一交换机下,回答了访问的arp请求,把错误的mac给了源主机,导致网关把ping的request消息发给其他mac地址。

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

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

5、ping消息的入接口和回程出接口不是设备的同一接口,设备开启方向路由检测导致的不回包。

6、环境中传输有问题,误码过高或者带宽被占用,导致节点压包,丢包。

Ping的结果是time out,跟踪发现经过节点4后,就没有回包了,感觉应该是对方服务器的回程路由或者防火墙问题,因为这个172.16.1.46这个设备在北京的访问是正常的,而且节点也没有icmp的主叫不可达之类的消息过来。

同事登录服务器,检查路由如下:

看到,包是从em1的172.16.1.0进来的,而路由表里有一个与之匹配掩码长的路由是192.168.0.0/16,走em2,判断一般linux系统,开启反向路由检测功能,就是收到包后检查回程路由的出口是否和入口是同一个接口,不是的话,就舍弃。这个time out应该是这样。

考虑到原来做的路由不知道作用是啥,于是决定加一条回程路由指向172.16.1.1,于是添加192.168.192.0/19的回程路由,指向172.16.1.1,走em1接口。

如何添加一个掩码为19位的路由,比192.168.0.0/16优先,结果ping正常。

总结:

  1. ping回显time out不外乎3种情况,一是ping的request消息没有到达目的主机发到其他地方去了,二是目的目的主机防火墙拦截ping request消息,导致应用层没有收到。三是没有回程路由,或者回程路由指向其他地方,包回到其他地方去了,或者回程路由和入口路由不在同一接口,系统丢弃了该包。
  2. 路由查询次序是掩码长的优选匹配。
  3. 反向路由检测功能,如果2个网卡在一个Lan里面,那么服务器可能从eth0或者eth1发现网关, 如果一个包从eth0进入了, 而网关在eth1上, 那么从eth1是出不去的, 就不通了. 反向路由检查要求从哪里来的才能回哪去。
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门