华为防火墙故障案例:网络访问慢
现象描述
FW作为中间设备的场景下,用户访问网页慢,报文延时大等。
原因分析

- 丢包
报文在网络链路上传输时,可能会有部分报文在链路中被丢弃,无法及时到达对端,导致通信两端都在等待接收对端的报文,于是出现网络访问慢的现象。
借助流量统计确定是否存在丢包及产生丢包的设备,如果存在丢包,进一步确认丢包原因,根据丢包原因进行相应处理。
- ARP冲突
ARP冲突时,ARP表项存在漂移现象,报文有时无法转发到正确的目的地,只有报文正确转发出去了,网络才能通,因此,在用户端会出现访问网络慢的现象。
- 安全策略阻断部分流量导致访问网页慢。
在某些业务场景下,用户上网时可能需要向多个Web服务器(对应不同的IP地址)请求资源,若安全策略只放行到部分IP地址的流量,则可能导致部分资源请求不到。客户端重连多次失败后,才会向下一个Web服务器请求资源,于是出现了访问慢的情况
- 未配置长连接。
在某些特殊业务场景中,一条会话的两个连续报文可能间隔时间很长,如果没有配置长连接,会话老化后,需要重新建立连接,可能会出现访问慢的现象,这种场景下,就需要配置长连接。
- 接口过载保护阈值设置过高。
- ARP冲突
- 延时
首先通过在终端上执行tracert命令,确认延时大的设备,然后在该设备上确定延时原因。对于FW,通常CPU使用率高会导致报文延时。
C:\Users\ccpladmin>tracert www.google.com Tracing route to www.google.com [1.1.1.1] over a maximum of 30 hops: 1 5 ms 5 ms 4 ms 10.1.1.1 //从左到右分别表示:序号、最快时间、平均时间、最慢时间、链路上设备的IP地址。 2 * * * Request timed out. //*号表示超时,一定时间内,没有返回任何时间信息,所以用*号来代替。 3 4 ms 2 ms 2 ms 10.2.1.1 4 2 ms 3 ms 2 ms 10.1.2.1 5 2 ms 2 ms 2 ms 172.16.1.1 6 83 ms 163 ms 243 ms 172.16.2.1 //第6跳,延时较大,请排查该设备。 7 3 ms 5 ms 3 ms 192.168.1.1 8 3 ms 3 ms 4 ms 192.168.2.1 ... 21 * * * Request timed out. 22 * * * Request timed out. 23 4 ms 4 ms 4 ms 1.1.1.1 Trace complete. C:\Users\ccpladmin>
操作步骤
- 检查FW的日志缓冲区信息,查看是否存在ARP冲突日志。若存在ARP冲突,则根据日志中提示的冲突MAC地址找到冲突设备,隔离该设备后,观察是否还存在网络访问慢的现象,如果不存在,则说明是该设备导致,需要对该设备进行相应处理。
<sysname> display logbuffer %2018-05-07 21:33:20 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx) %2018-05-07 21:33:15 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx) %2018-05-07 21:33:10 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx) %2018-05-07 21:33:05 sysname %%01ARP/4/ARP_DUPLICATE_IPADDR(l): Received an ARP packet with a duplicate IP address from the interface. (IpAddress=192.168.1.1, InterfaceName=Ethernet0/0/0, MacAddress=0024-xxxx-xxxx)
- 结合业务场景,查看安全策略的配置是否合理。
在某些业务场景下,用户上网时可能需要向多个Web服务器(对应不同的IP地址)请求资源,若安全策略只放行到部分IP地址的流量,则可能导致部分资源请求不到。客户端重连多次失败后,才会向下一个Web服务器请求资源,于是出现了访问慢的情况。通过在用户端抓包确定用户端是否会向多个IP地址发起请求。
这种场景下,需要先配置较宽泛的安全策略放行指定域间流量,观察访问慢的现象是否消失。若现象消失,则确认是该原因引起。再根据实际业务流向将安全策略修改为明细安全策略,允许用户上网的流量通过。
- 结合业务场景,判断是否需要配置长连接。如果需要,先配置精确的安全策略,用于匹配需要长时间保持会话的流量,然后在安全策略中启用长连接并配置合理的长连接老化时间。
在某些特殊业务场景中,一条会话的两个连续报文可能间隔时间很长,如果没有配置长连接,会话老化后,需要重新建立连接,可能会出现访问慢的现象,这种场景下,就需要配置长连接。
例如,客户端访问SQL数据库的场景中,FW作为中间设备,客户端和服务器之间通过心跳报文来探测连接是否正常,通常两次心跳报文之间间隔时间较长。如果FW上没有配置相应的长连接,则可能出现后续的心跳报文没有匹配到相应的会话而被丢弃。此时,需要重新建立连接,就会出现用户访问SQL数据库变慢或使用该数据库服务的应用程序报错的现象。
- 查看接口的过载保护阈值配置。通常情况下,建议将接口的过载保护阈值配置为90%。
在Web界面,选择
,单击接口所在行的,进入接口配置界面,查看过载保护阈值的配置。
- 检查FW的日志缓冲区信息,查看是否存在数据面CPU高的告警。
<sysname> display logbuffer %2017-01-03 16:39:58 sysname %%01SYSTEM/2/DATAPLANECPU(l): The dataplane CPU usage exceeded the threshold (90%). The dataplane CPU usage was 99%.
若存在,再执行display cpu-usage命令查看哪些进程占用了较高的CPU,针对不同原因采取相应措施。
如下示例表明fpath.out(转发进程)或nge.out(内容安全过滤进程)占用过高的CPU。
<sysname> display cpu-usage CPU Usage Stat. Cycle: 10 (Second) CPU Usage : 82.2% Max: 96.6% Management-plane CPU Usage: 11.9% Data-plane CPU Usage : 99.5% CPU Usage Stat. Time : 2018-04-26 14:27:58 CPU utilization for ten seconds: 82.2% : one minute: 82.8% : five minutes: 81.9% PID ProcessName CPU Runtime State 718 fpath.out 47.5% 68063937 S 311 vrp 2.8% 2598048 S 720 gm.out 2.1% 3083493 S 667 vrpio_s 0.2% 414173 S 737 nge.out 50.6% 105723 S
若是fpath.out占用较高CPU,则表示业务量过大,可考虑使用处理性能更高的型号替换该FW。
若是nge.out占用较高CPU,则可执行engine bypass命令将IAE(Intelligent Awareness Engine,智能感知引擎)手动设置为Bypass状态后测试。
更多原因及处理方法请参考故障案例:CPU使用率高。
- 查看安全策略中是否启用了内容安全检测。若已启用,在允许的情况下,执行engine bypass命令将IAE手动设置为Bypass状态,若此时上网恢复正常,则表明是该原因引起。然后关闭Bypass状态后,配置明细安全策略,仅对需要进行内容安全检测的流量启用相应的内容安全检测功能。
在安全策略中启用了IPS、AV 、URL filter、文件过滤等内容安全检测功能后,匹配了安全策略的所有流量会上送IAE处理,IAE会针对流量的应用层信息进行检测和处理。当IAE处理的流量很大时,可能会影响用户的上网速度。