同vlan部分虚拟机无法ping通网关

发布时间:  2016-10-24 浏览次数:  191 下载次数:  0
问题描述

环境描述:

防火墙旁挂在核心交换机CE12800上,下行接入交换机,业务网关在防火墙上。问题:接入交换机下的部分虚拟机无法访问网关。

拓扑为精简版:



同网段的部分虚拟机无法ping通网关,排除虚拟机自身问题,故障根因在网络部分。

在虚拟机上测试ping网关,显示信息如下:

Destination Host Unreachable:

告警信息


处理过程

1、在此虚拟机的接入交换机上配置同vlan的IP地址,查看是否能够ping通;若ping通继续下一步

2、在核心交换机上配置同vlan的IP地址,查看是否能够ping通;若ping通继续下一步

3、在虚拟机上ping测试发现ICMP包能够到达接入、核心,可以判定从核心到虚拟机之间的链路通讯是不存在问题的;

4、在虚拟机上ping防火墙的virtual-ip,发现无法ping通;ping物理IP地址,可以ping通。

根据1-4步的测试,我们可以初步的把问题定位在CE12800和防火墙之间。此时我们在CE12800上配置不通的地址ping测试virtual-ip的地址是否可以正常通讯,发现此时无法ping通virtual-ip地址。

5、在防火墙和CE12800上抓包、防火墙debug查看,分析报文信息。此时通过debug信息发现在ping virtual-IP的时候防火墙收到了CE12800的包,并且也正常的给了回包。

原理分析:能够正常的收到请求,并且给了回复的报文,但是CE12800和防火墙之间无法ping通virtual-ip。根据debug信息可以判定防火墙即收到了包也回了包,根据在CE12800抓包查看的结果是并没有收到回包,所以把问题缩小在CE12800和防火墙之间对接的问题上,而且极可能是由于硬件或者配置eth-trunk的问题导致的。

6、在CE12800和防火墙上分别查看对接接口的物理情况和接口情况,发现物理灯显示并不存在问题,在CLI界面查看接口详细信息,发现也并没有存在问题。所以最终将问题放在eth-trunk对接的问题上。

7、在CE12800上仔细查看配置信息,以及eth-trunk的状态信息,发现CE12800端捆绑了3个对接口,防火墙端捆绑了4个对接口。

根因

CE12800上做eth-trunk的时候,有一个对接端口没有加入到eth-trunk组里,导致当同段有部分IP地址访问网关的时候,出现了不通的现象。


解决方案

将CE12800上少的那个接口加入到Eth-trunk组里,并再次测试是否能够正常通讯。测试之后发现可以ping通网关,连通性正常。


建议与总结

做了eth-trunk之后,流量就会负载的发送到防火墙端,这样的话若两端eth-trunk组里的接口对接不上的话就会导致同段IP地址部分访问不了网关的情况出现。在防火墙上debug发现既收到echo request报文,也发送了ICMP的echo reply报文。但是在CE12800上并没有看到echo reply报文,就可以判定防火墙和CE12800之间对接出现了问题,再从物理层开始排查,一步一步就能发现故障根因的存在。

END