Description | This article describes how to troubleshoot the error 'fragments expired, drop' on the FortiGate device. |
Scope | FortiOs v72.0 and later, FortiOs version 7.4.0 and later. |
Solution |
When the traffic reaches the FortiGate interface, under certain circumstances, it is possible to see the following messages on the forward traffic logs:
date=2024-06-08 time=11:25:37 id=7400852525072519546 itime="2024-06-08 11:25:37" euid=3 epid=1034 dsteuid=3 dstepid=93053 logflag=2 logver=702081639 type="traffic" subtype="forward" level="warning" action="deny" policyid=0 srcip=172.31.75.152 dstip=192.168.70.162 srcport=1812 dstport=38230 trandisp="noop" duration=0 proto=17 sentbyte=0 rcvdbyte=0 sentpkt=0 rcvdpkt=0 logid=0000000007 service="udp/38230" app="udp/38230" appcat="unscanned" srcintfrole="undefined" dstintfrole="undefined" policytype="policy" eventtime=1723145252950481176 srccountry="Reserved" dstcountry="Reserved" srcintf="unknown-0" dstintf="unknown-0" msg="fragments expired, drop" tz="-0500" devid="FG4H1E5619905803" vd="root" dtime="2024-06-08 11:25:37" itime_t=1723145257 devname="HA-FGT01"
date=2024-06-08 time=11:26:49 id=7400852318914085551 itime="2024-06-08 11:26:49" euid=3 epid=1034 dsteuid=3 dstepid=93053 logflag=2 logver=702081639 type="traffic" subtype="forward" level="warning" action="deny" policyid=0 srcip=172.31.75.152 dstip=192.168.70.162 srcport=1812 dstport=38230 trandisp="noop" duration=0 proto=17 sentbyte=0 rcvdbyte=0 sentpkt=0 rcvdpkt=0 logid=0000000007 service="udp/38230" app="udp/38230" appcat="unscanned" srcintfrole="undefined" dstintfrole="undefined" policytype="policy" eventtime=1723145204950504081 srccountry="Reserved" dstcountry="Reserved" srcintf="unknown-0" dstintf="unknown-0" msg="fragments expired, drop" tz="-0500" devid="FG4H1E5619905803" vd="root" dtime="2024-06-08 11:26:49" itime_t=1723145209 devname="HA-FGT01" 'fragments expired, drop' message means that some of the fragments of a fragmented packet were not received by the kernel within the allowed time window. So, FortiGate was not able to reassemble and process the packet.
The fragmented time window is 30 seconds and it is defined on /proc/sys/net/ipv4/ipfrag_time:
FGVM04-HA01 (global) # fnsysctl cat /proc/sys/net/ipv4/ipfrag_time
To see the fragmented packets it is necessary to do a sniffer on the FortiGate interface:
2024-06-08 11:25:37.844539 port5 -- 172.31.75.152.1812 -> 192.168.70.162.38230: udp 1490 (frag 50456:1480@0+)
In the above capture, the total payload is 1490 bytes, so the packet was fragmented into two packets (1480 bytes and 10 bytes).
|
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2024 Fortinet, Inc. All Rights Reserved.