单向能ping通问题原因查找

两个测试设备,192.168.104.100和192.168.3.100要测试相互访问,发现前者ping后者出现time out,后者ping前者正常导通。如下图:

单向能ping通问题原因查找_第1张图片

单向能ping通问题原因查找_第2张图片

奇怪,出现time out的原因:

 分为前向问题和后向问题,前向发的有问题,导致目的方没收到,前向目的设备开启防火墙,拦截导致没收到。后向回的有问题,导致前向没收到等原因。

1、ping的request发的路由有问题,发到其他地方,导致对方没有收到。

2、对方收到request消息,但开启了防火墙,拦截了ping的request消息,导致高层没有收到,因此不回ping 的reply消息,导致发出方等待超时,显示time out。

3、目的方路由问题,收到request消息,但reply回到其他地方,导致发出方收不到reply,超时显示time out。或者没有回程路由,掩码错误等问题导致。

 4、跨网段环境中存在ip冲突,目的网关的mac地址缓存被更新。导致网关把ping的request消息发给其他mac地址,导致目的设备根本没收到ping的request消息。

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

192.168.3.100能ping通192.168.104.100,感觉是单向能ping通问题,检查一下192.168.3.100上的防火墙是否打开?

运行friewall.cpl,发现防火墙是关闭的,因此排除可能性2。

决定在发出方和接受方同时抓包,看看前向request对方是否收到?

抓包发现,开始ping时,192.1683.3.100没有收到任何icmp消息的包,难道符合可能性1?

查看192.168.104.100侧的抓包:

双网卡,打开两个网卡的抓包

单向能ping通问题原因查找_第3张图片

发现ping出不通源mac和ping入导通的目的mac不一致,如下图:

单向能ping通问题原因查找_第4张图片

ping不通的目的mac发到这个mac地址

单向能ping通问题原因查找_第5张图片

 检查不通时发现发到这个ip地址上去了

 192.168.209.1         c8-50-e9-67-fa-0c单向能ping通问题原因查找_第6张图片

 单向能ping通问题原因查找_第7张图片

而应该走这个网卡:

单向能ping通问题原因查找_第8张图片

 ping入导通的源mac是上图的mac192.168.104.1     c4-a5-59-3d-b3-38,目的mac是 00-E0-4C-68-05-D5

单向能ping通问题原因查找_第9张图片

检查路由:

单向能ping通问题原因查找_第10张图片

符合情况1,前向发错了地方。

用强制指定ip,发现正常。

单向能ping通问题原因查找_第11张图片

看wireshark抓包:

单向能ping通问题原因查找_第12张图片

 

 

显然是 windows操作系统中跃点数低的路由优先使用这样的规则没生效导致的问题,具体原因不详。

你可能感兴趣的:(服务器,linux,网络)