HCHTech
Well-Known Member
- Reaction score
- 4,197
- Location
- Pittsburgh, PA - USA
In troubleshooting a problem for a client recently, I've uncovered a gap in my understanding (I know, "What, only one?") 
So, I know how to find the most efficient MTU for a particular WAN connection, that's networking 101 stuff:
ping -f -l xxxx www.somewebsite.com
Adjust 'xxxx' until you find the highest number that does not produce the result that "Packet needs to be fragmented."
Then, add 28 bytes to that number for the headers to get your answer. Plug that into your router settings and go about your merry way.
When setting up site-to-site VPNs, though, things get more complicated. The amount of space needed for the headers varies depending on the type of encryption used, among other things. The list I found in a Sonicwall technote is:
I don't know about other firewall makes, but with Sonicwalls, you cannot set a separate MTU for VPN traffic, there is only one setting for the WAN connection. So if you configure that 1427 MTU to get the most efficient VPN, you are also reducing the MTU for all non-VPN traffic. I honestly don't know if this unavoidable inefficiency for the non-VPN traffic is worth worrying about, and I also don't know what kinds of problems happen when the MTU is lower than necessary.
Further - what about the connection on the other end of the VPN Tunnel? If the most efficient VPN calculated for that end is, say 1385, does that mean that you should reduce the MTU setting for BOTH firewalls to the lowest value determined on either end of the tunnel? This would seem obvious since the traffic has to go back and forth through both firewalls, but I couldn't find anything addressing this fact.
Still further - if you have more than one site-to-site VPN setup (my client has one for a remote backup server and another one for a satellite office, for example, giving me 3 firewalls in the dance), do you test everything, then set the MTU on all of the firewalls to the lowest value determined on any of them? This is making my head swim.

So, I know how to find the most efficient MTU for a particular WAN connection, that's networking 101 stuff:
ping -f -l xxxx www.somewebsite.com
Adjust 'xxxx' until you find the highest number that does not produce the result that "Packet needs to be fragmented."
Then, add 28 bytes to that number for the headers to get your answer. Plug that into your router settings and go about your merry way.
When setting up site-to-site VPNs, though, things get more complicated. The amount of space needed for the headers varies depending on the type of encryption used, among other things. The list I found in a Sonicwall technote is:
- Any time you add another outer IPv4 header adds 20 bytes.
- IPSec encryption performed by the DMVPN adds 73 bytes for ESP-AES-256 and ESP-SHA-HMAC overhead (overhead depends on transport or tunnel mode and the encryption/authentication algorithm and HMAC).
- MPLS adds 4 bytes for each label in the stack.
- IEEE 802.1Q tag adds 4 bytes (Q-in-Q would add 8 bytes).
I don't know about other firewall makes, but with Sonicwalls, you cannot set a separate MTU for VPN traffic, there is only one setting for the WAN connection. So if you configure that 1427 MTU to get the most efficient VPN, you are also reducing the MTU for all non-VPN traffic. I honestly don't know if this unavoidable inefficiency for the non-VPN traffic is worth worrying about, and I also don't know what kinds of problems happen when the MTU is lower than necessary.
Further - what about the connection on the other end of the VPN Tunnel? If the most efficient VPN calculated for that end is, say 1385, does that mean that you should reduce the MTU setting for BOTH firewalls to the lowest value determined on either end of the tunnel? This would seem obvious since the traffic has to go back and forth through both firewalls, but I couldn't find anything addressing this fact.
Still further - if you have more than one site-to-site VPN setup (my client has one for a remote backup server and another one for a satellite office, for example, giving me 3 firewalls in the dance), do you test everything, then set the MTU on all of the firewalls to the lowest value determined on any of them? This is making my head swim.