Tools

MTU and MSS calculator

Start with the real link MTU, stack the tunnels your traffic crosses, and get the inner MTU, the TCP MSS, a don't-fragment ping to prove it and the rules to clamp it.

Your link

Tunnels, outermost first

For the commands

Total overhead
0
Inner MTU
0
TCP MSS, IPv4
0
TCP MSS, IPv6
0
How each layer reduces the MTU
LayerBytesMTU left

How to read the result

The inner MTU is the largest packet your applications can send through the whole stack without anything being fragmented or dropped. The TCP MSS is that figure minus the IP and TCP headers: 40 bytes for IPv4 and 60 for IPv6. If the MSS your hosts advertise is higher than this, large packets can vanish and you get the classic symptom of small requests working while big downloads and some websites hang.

Overheads for IPsec ESP are worst case, because ESP pads each packet to a boundary and the real figure depends on the packet size and cipher. Using the worst case means the result is safe rather than optimal. For the full story, including why Path MTU Discovery breaks and how to find the real number on a live link, read MTU, MSS and tunnels.