If the fragment numbers seem high, run this tcpdump command to see all fragmented
packets and figure out where they are coming from:
tcpdump -eni any '((ip[6:2] > 0) and (not ip[6] = 64))'
Any traffic appearing in this output is fragmented; notice that the -e option will also
show you the source MAC address of the entity that sent the fragmented packet to the
firewall, in order to help you trace the fragmented packet back to its origin. The only
way to correct this situation is to ensure a consistent MTU value is in use throughout
your internal and DMZ networks. In the real world when a large amount of internal
traffic is improperly fragmented, it is usually due a misconfigured MTU on a router
somewhere. I’ve seen correcting an internal MTU issue such as this make a huge
difference in firewall performance. Of course there are situations where low MTUs are
legitimately present due to legacy private network connections to partners or vendors (i.e.
56Kbps lines, dialup lines & ISDN).
If you are concerned about fragments impacting the performance of the firewall, it is
possible to forbid IP fragments from crossing the firewall at all.
WARNING:If a large portion of your network’s legitimate production traffic is fragmented,
forbidding fragments on the firewall will cause a massive outage. Run the tcpdump
command mentioned earlier and MAKE SURE that you don’t have legitimate production
traffic in your network that is fragmented before you decide to try forbidding IP
fragments!
Fragments can be disabled in the R77.30 SmartDashboard under the IPS
tab...Protections...IP Fragments...(IPS Profile in use by your firewall)...Forbid IP
Fragments checkbox. In R80+ management the setting is located under “Inspection
Settings”.