2023年12月23日发(作者:)
防火墙丢包故障排查一、开始
防火墙丢包问题定位故障的思路是:首先确定发生丢包的具体位置和丢弃报文方向,然后再具体分析产生丢包的原因。在现场条件允许的前提下,最好先利用交换机流量统计策略或抓包等方式判断丢包发生的准确位置,确认是否防火墙造成;然后再版权所有:杭州华三通信技术有限公司
依次对防火墙的端口状态、CPU/内存、配置等进行检查;如果防火墙出现临时性丢包,则应重点检查在发生丢包时,会话表项统计及快速转发统计,如果这些统计值出现异常,往往是由于突发性的异常流量短时间内在防火墙上创建了大量无用会话表项,影响了防火墙转发性能导致,通过合理地优化配置或消除攻击源即可解决。1、是否本防火墙丢包 通常情况下,丢包类问题是网络工程师利用ICMP
Ping测试发现的。在现场条件允许的前提下,建议对Ping测试的数据包实施流量统计,以明确丢包问题是否发生在本防火墙设备上。安全产品目前不支持流量统计功能,因此需要在相连的上下行交换机端口上进行操作,防火墙插卡可以直接在宿主路由交换主机与防火墙单板的内联接口上进行操作。对于无法在路由交换设备上实施流量统计的组网情形,可以通过在流量入/出防火墙的端口位置抓包,通过对比进入防火墙之前和经过防火墙之后的报文情况来判断数据包经防火墙转发后,是否出现了丢包、乱序等异常现象。 命令: acl number xxxx rule x permit icmp 0
0 traffic classifier xxxx if-match acl xxxx traffic behavior xxxx
accounting qos policy xxxx classifier xxxx behavior xxxx qos apply policy xxxx inbound
qos apply policy xxxx outbound display qos policy interface xxxx
例如:通过在宿主交换机与防火墙插卡的内联接口Ten5/0/1双方向配置流量统计策略,可以观察10.0.0.1(客户端)与172.16.0.1(服务器)之间的Ping报文在经过防火墙转时,是否存在丢包。具体配置方法为先创建两条ACL,分别匹配正反方向的ICMP报文,然后配置流量统计策略,应用在内联口上。注意,要对上行方向经过防火墙前/后,以及下行方向经过防火墙前/后的报文分别进行统计,这样不仅可以一次性判断防火墙是否有丢包,还可以判断在哪个方向上存在丢包。注意,ACL规则的配置必须精确,否则会使统计策略匹配无关报文,影响统计结果和问题判断。
版权所有:杭州华三通信技术有限公司
流量统计策略配置完成后,再次进行ping测试,然后查看统计结果。通过对比双向的报文收发统计,就可以判断总共发送至防火墙多少个报文,从防火墙转发回交换机多少个报文。如果从防火墙接收的报文个数少于发送至防火墙的报文个数,则说明本防火墙确实存在丢包。如果防火墙未丢包,但Ping发起方至Ping响应方统计到的报文个数少于Ping操作的报文数,则可以判断丢包是出现在Ping发起方与防火墙之间的某个位置;反之,则丢包是出现在Ping响应方与防火墙之间的某个位置。
如示例所示,从客户端向服务器端总共ping
10次,Ping测试结果显示通了9次,1次超时。交换机上的流量统计策略结果显示,正方向10个报文全部转发给了防火墙,并且从防火墙接收到10个报文;而反方向交换机仅向防火墙转发了9个报文,并且从防火墙也接收到了9个报文。该结果证明,网络中确实存在丢包问题,但不是防火墙引起的;更进一步地,可以初步判断丢包是发生在服务器与防火墙之间的某个位置上。
版权所有:杭州华三通信技术有限公司
2、排查其他设备问题
若确认丢包问题不是本防火墙引起,应进一步排查其他设备问题。判断丢包发生的具体位置及方向仍可参考步骤1中提供的思路及方法。建议采用分段排查法,逐步缩版权所有:杭州华三通信技术有限公司
小范围。如果最终定位丢包确由非H3C品牌设备引起,建议及时联系相应的技术服务团队分析处理。3、检查设备端口状态统计
检查防火墙端口物理层、链路层状态是否正常,检查端口的速率、双工协商状态,注意同时检查对端接口的相关属性是否与本端协商一致。检查端口出方向队列是否发生拥塞、是否出现错包等。若端口状态异常或入方向错包统计持续增加,应优先检查物理线路是否存在故障,建议通过替换法进行对比测试。 命令:display interface x
例如:在CLI界面下检查防火墙端口GigabitEthernet 0/1的状态和统计信息。
4、检查CPU/内存利用率
检查设备CPU/内存利用率,确认设备是否出现业务繁忙。若CPU利用率持续超过20%,可参考安全云图——CPU利用率高进行排查,同理,对于内存高问题可参考安全云图——内存利用率高进行排查。 命令: display cpu-usage display memory
版权所有:杭州华三通信技术有限公司
例如:在CLI界面下查看CPU/内存利用率。
H3C Comware
V5平台防火墙基于多核多线程硬件架构设计,可通过高级命令查看到各CPU硬件线程的负载情况。通常情况下各硬件线程负载相对平均。如果发现某个CPU线程负载始终远高于其他线程,则很可能是由于网络中存在单个流量较大的异常会话,当这条流量调度至该线程处理后造成其负载过大,超过了单个CPU线程的处理能力。针对这种情况,比较有效的方法是通过抓包等手段先查看具体的异常流量,判断其来源,然后再通过黑名单、域间策略、攻击防范、路由交换设备上的包过滤策略等手段屏避该流量;如果异常流量来源自内网,建议直接找出并消除攻击源。 命令: tshow
mainboard cpu-usage all
例如:在CLI界面下查看CPU各硬件线程负载情况。在本例中13号线程负载持续达到99%,说明该线程负载过大,经抓包确认防火墙端口持续接收到大流量重复的ARP报文,进一步对网络进行排查时发现防火墙下联二层网络存在环路,于是产生了ARP报文风暴。二层环路复制产生的报文全部相同,因此在CPU多核调度时都上送了单个硬件线程处理,这时如果还有其他普通业务报文也调度至该硬件线程时便会出现丢弃问题。
版权所有:杭州华三通信技术有限公司
5、检查虚拟分片重组
若Ping测试结果显示设备可以正常转发一般长度IP报文(小于1500字节),随机丢弃大报文(大于1500字节),设备同时上报IP分片攻击日志(atckType=Frag
Flood),这时应检查虚拟分片重组功能是否已经启用,配置参数是否合理。默认情况下每个安全区域可同时处理64个IP大包,每个报文最多可以分16个分片,重组时限为3秒。根据以太网类型链路MTU
1500字节粗略计算,防火墙默认配置下可以转发长度为1500*16=24000字节的IP包,更大的IP包会判定为分片攻击并被防火墙丢弃处理。在多数场景中,可以将虚拟分片重组功能的“分片队列数”调整至1024,将“分片报文数”调整至64,老化时间保持不变,然后再进行测试确认。这类问题通常是工程师Ping大包测试时发现的,而一般的业务流通常是TCP或UDP协议承载,TCP业务可以通过调整TCP
MSS参数控制报文不在IP层进行分片操作,UDP业务通常都是小包也不会在IP层进行分片,所以通常不涉及。如果网络中存在IPSec业务流,应当注意进行调整,避免IPSec封装后的报文超过MTU值在IP层分片后,由于防火墙虚拟分片重组功能而丢弃。
命令: ip virtual-reassembly max-fragments xxx max-reassemblies xxxx
例如:在CLI界面下,进入Untrust区域视图,使能虚拟分片重组功能配置并调整参数。Web配置界面中也可以进行相关配置及参数修改。
版权所有:杭州华三通信技术有限公司
6、检查会话统计
防火墙从业务端口接收到报文后,会利用防火墙会话表项对该报文是否符合协议状态机、是否为域间策略所允许等进行一系列检查,对检查不通过的报文将丢弃处理。在正常运行过程中,防火墙会不断地新建会话表项和保持会话表项,如果防火墙在会话表项老化时间内,始终没有再接收到双向业务报文时还会主动删除该会话表项。在防火墙的会话表统计信息中,网络管理员可以查看到本防火墙的新建连接速率、当前并发连接总数、接收报文统计、丢弃报文统计等。通过将新建连接速率、当前并发连接总数与日常运维过程中所观察记录的数据做对比,可以判断防火墙是否正在受到异常流量攻击,是否创建了大量的无效会话。 命令: display session statistics
例如:某防火墙在正常运行过程中,管理员通过命令观察到会话统计信息如下所示。其中,会话表项总数为4.7万,TCP连接8159个,半开连接1757个;防火墙会话表项每秒新建约1600个,各项数据符合预期,实际网络业务运行正常。
在某时间点用户反馈网络突然出现丢包问题,通过命令观察到如下所示的会话统计信息。其中,会话总数已经激增到135.8万,其中TCP连接132万,而TCP半开连接就版权所有:杭州华三通信技术有限公司
有131万,TCP半开连接比率高达99.3%;此时防火墙会话表项每秒新建连接数也达到6.5万,远远高于日常观察值。从以上信息可以判断,目前网络中存在典型的TCP
SYN
Flood攻击流量。针对这类攻击,可以先利用当前设备的会话表项详细信息来分析特点和来源,如果攻击是来源于网络外部或Internet的,一般通过启用攻击防范手段来防御,方法包括黑名单、域间策略、流量异常检测等;如果攻击是来源于网络内部的,最好的方法就是直接找到这个内部攻击源并消除之。
7、检查快速转发 H3C Comware
V5平台防火墙支持报文快速转发特性。当防火墙接收到业务报文后,将优先通过快速转发处理;不支持快速转发的业务流再按照普通流程处理。防火墙快速转发状态统计中,包括是否已经启用快速转发功能等非常详细的相关信息。在进行丢包问题排查时,主要关注的统计项为“Forward packets”——经快速转发处理的报文个数;“Up packets”——经普通流程转发的报文个数;“Up
failed packets”——转发丢弃的报文个数。如果“Up failed
版权所有:杭州华三通信技术有限公司
packets”计数增长较快,可以尝试对防火墙实施配置优化,以期让更多的业务报文经快速转发流程处理来提高性能。主要的优化方法包括,关闭不使用的ALG协议模块、取消不必要的QoS策略、减少频繁的ARP和路由表项震荡、配置目的安全区域为Local的阻断域间策略(注意允许管理流量通过)以加固防火墙自身安全、调短会话表项生存时间以加快无效会话的老化删除等等。 命令: display ip fast-forwarding statistics
例如:通过命令查看当前设备快转状态,其中经快速转发处理报文12339个,普通转发流程处理报文1056个,没有出现转发丢弃报文。
请拨打热线400-810-0504版权所有:杭州华三通信技术有限公司


发布评论