上午刚到公司,刚开始刷头条,某客户电话就来了。
客户:我们这里网络出问题了,出口路由器访问断断续续,上外网不受影响,能帮忙远程看看吗?
我:好,给个远程
故障现象:电脑ping出口路由器时,时断时续,SSH无法连接路由器。
截图如下:
故障现象截图
客户存档核心区域拓扑图如下:
客户核心区域网络拓扑
排查过程:
1、根据故障现象,结合之前的工作经验,首先怀疑网络中可能存在环路。环路有一个典型的现象就是导致访问核心交换机或者其他设备的时候ping包会出现大延时或者连续丢包。
核心交换机排查:
通过查看核心交换机的日志信息,发现网络环境中确实存在环路。通过日志提示,逐级排查后,解决了环路影响。但是解决后,问题依然存在。问题是由于其他原因引起的,继续进行问题定位。
问题不在核心交换机上,利用网络中常用的逐级排查思路进行继续定位。
2、 出口路由器排查:
由于是ping路由器内网口地址有异常,需要确认,出现异常的时候,ping包有没有到达路由器的内网口。
由于无法通过SSH访问路由器,选择通过console口登录设备。登录路由器后,先看设备的日志是否有异常(通常网络异常时,日志会有比较直观的提示)。经查询,路由器的日志没有任何异常。查看设备的流表信息,发现用户的ping包可以正常到达路由器内网口,且路由器有做正常的回复。至此,排除路由器问题。
注:流表为某厂商路由器特有功能,详细功能不做赘述。
3、 防火墙排查:
3.1、先对防火墙的安全策略进行查看,确认是否有安全策略影响到了ping包的数据转发。查看后确认所有策略均未影响到数据转发。
3.2、利用wireshark抓包工具,通过对防火墙设备的上下联口进行抓包分析,发现ping包的的转发没有异常,排除防火墙问题。如下图所示:
防火墙抓包页面
防火墙上联口ping包分析页面
防火墙下联口ping包分析页面
4、核心交换机抓包分析
由于上联路由器与防火墙设备均无异常,则继续往下排查,看核心是否有正常收到ping包的回包。通过对核心交换机上联口进行抓包后,确认核心交换机只有发包,没有回包。抓包结果如下图所示,ping包提示没有回复报文:
核心交换机上联口抓包结果
5、现场拓扑重新梳理
至此就比较奇怪了,按照存档的拓扑图,防火墙与核心交换机之间是通过光纤跳线进行连接的。难道是光纤跳线进行了数据丢弃?但是只是丢弃了部分数据,链路故障的话,应该是全部丢弃的才对。与客户的运维工程师沟通后发现,原来最近客户在测某厂商的WAF,位置刚好在核心交换机与防火墙之间。到这里基本判定是由于该厂商的WAF策略导致的数据丢弃。指导运维工程师跳过WAF后,ping包正常。
现场实际拓扑结构中加入了测试WAF及WAF的对应位置
问题最终解决:
运维工程师与某厂商技术工程师联系后,进行了最终定位。问题是由于路由器的内网口数据量较大,WAF判定网络受到了攻击,而路由器为攻击源,将路由器内网口地址加入了动态黑名单。由WAF工程师将路由器内网口地址加入白名单后问题解决。
其实问题不是很麻烦,但是由于没有在现场,不了解现场的实际情况,而走了不少弯路。后续再有类似问题的时候,就能多长点记性,提前跟客户沟通看网络最近是否有做过什么改动,以更快速的定位问题原因。