一、问题描述
1.网络环境
该单位网络结构如下图所示:
图 1
从结构图上可以看出,用户在进行互联网Web访问时,除经过接入层交换机和核心交换机外,中间还经过了一个流控设备和一个防火墙。
2.故障现象
部分用户在进行互联网访问时,可以正常打开2-3个页面,之后再也无法正常打开其它Web页面,而这些用户在访问单位内部网页时,速度却很快,访问也都很正常。
二、分析过程
1.故障点分析
用户在访问互联网Web页面时,数据包只经过了交换机、流控和防火墙,由于用户在访问单位内部网页时都很正常,并且交换机并未对这些用户进行策略上的限制,只是进行单纯的数据转发。因此,我们定位出以下几个可疑故障点:
图 2
2.设备部署
从故障现象,我们定位了流控设备和防火墙这两个可疑故障点。首先我们跳过流控设备,使核心交换机和防火墙直接相连,此时,我们让那些故障用户进行互联网Web页面的访问,发现问题依旧存在。那么,我们得出结论,故障问题与流控设备无关。
由于防火墙工作在路由模式下,我们无法将其透明过去,只能通过抓取数据包的方式,来确定故障产生的原因。所以,开启防火墙的抓包功能,并在防火墙后端利用科来网络分析系统抓取通信的数据包。
图 3
3.数据包分析
故障用户通过访问互联网,我们进行数据包的抓取。下图是在防火墙后端抓取的数据包:
图 4
从上图可以看出,用户在访问Web页面时,主机向外网地址发送了TCP的SYN同步请求,但是没有外网地址对主机的SYN/ACK回应数据包,TCP会话的三次握手都没有建立成功,这导致了页面无法打开的故障现象。
下图是防火墙本身抓取的数据包:
图 5
通过防火墙本身抓取的数据包,我们同样可以看出,防火墙能收到内网主机访问外网的TCP SYN同步请求数据包(图中S代表SYN数据包),同样没有SYN/ACK的回应数据包,TCP三次握手没有建立成功。
4.分析结论
通过上面的分析,我们可以得出故障是由防火墙引起的,它丢掉了所有外网地址对内网主机的回应数据包。这一现象可能是防火墙的性能或者配置不当引起的。
三、分析总结
通过数据包的分析,发现故障问题的产生是由防火墙引起的。通过与防火墙厂商配合,最终解决了这一问题。下图是问题解决后在防火墙上抓取的数据包:
图 6