MTU Dropped after VPN Connection

Alright, so I have successful forwarded all the Xbox Traffic through VPN. However there is a problem regarding MTU. Without the VPN, the Xbox tests the connection and the MTU is 1480. After the OpenVPN connection the xbox test reports an MTU of 1368. The min MTU for xbox to function properly with multiplayer gaming is 1384.

Here is the ovpn config file:

config openvpn 'ProtonVPN_Austria'
	option client '1'
	option dev 'tun0'
	option proto 'udp'
	option remote 'at.protonvpn.com 1194'
	option remote_random '1'
	option resolv_retry 'infinite'
	option nobind '1'
	option cipher 'AES-256-CBC'
	option auth 'SHA512'
	option comp_lzo 'yes'
	option verb '3'
	option tun_mtu_extra '32'
	option persist_tun '1'
	option persist_key '1'
	option reneg_sec '0'
	option remote_cert_tls 'server'
	option auth_user_pass '/etc/openvpn/pass.auth'
	option pull '1'
	option fast_io '1'
	option ca '/etc/openvpn/certificate.ca'
	option key_direction '1'
	option tls_auth '/etc/openvpn/tls-auth.key'
	option tun_mtu '1500'
	option mssfix '1460'
	option enabled '1'

How to solve this issue and get an MTU higher than 1384?

You have set "tun_mtu_extra" to 32 bytes, and that is exactly the difference you are experiencing. I'm no expert and I do not know why you choosed that value, but I would try to lower it and see if everything works.

1 Like

I have already done that as shown in the configuration above. What value? 1384? It is what Microsoft says.

Undo it or lower then, as @eduperez advises.

Why do you even have the setting?

This is defiantly wrong, as it's 20 higher than your Internet service (1480).

What kind if Internet service do you have: Cable, DSL, PPPoE, Ethernet?

The configuration above says "option tun_mtu_extra '32'", I would try with 16 instead.

1 Like

I have set 'tun_mtu' to 1480 first. then I have tried both lowering 'tun_mtu_extra' to 16 and removing the option. Both still yield MTU 1368. I have also removed the mssfix option. Nothing. I am on a PPPoE connection. I have this option because it was present in the OVPN file by the VPN service provider. Without this option, I notice my speeds are affected drastically.

OK, quick math

Xbox detects == 1480

1480 - 80 - 32 ==

From https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/ -

–tun-mtu-extra n

Assume that the TUN/TAP device might return as many as n bytes more than the –tun-mtu size on read. This parameter defaults to 0, which is sufficient for most TUN devices. TAP devices may introduce additional overhead in excess of the MTU size, and a setting of 32 is the default when TAP devices are used. This parameter only controls internal OpenVPN buffer sizing, so there is no transmission overhead associated with using a larger value.

While I'm not sure exactly where some of the 80 to 100 missing bits are...I believe maybe I can save you 32...

1368 + 32 == 1400

1400 > 1384

Remove option tun_mtu_extra '32' - it will then default to 0.

Try this.

BTW...I'm not sure about that tun mssfix setting...if I understand the manual, your setting is OK at its default of 1450.

Did you do both at the same time?

Alright @lleachii . To avoid any confusion testing all the possible settings so far. I follow this procedure.

  • Apply Settings.
  • Restart the VPN Service
  • Perform a test on the Xbox

Test#0: No VPN Running - Result MTU: 1480 - Speed: 28Mbps

Test#1: VPN on. None of the tested options - Result MTU: 1368 - Speed: 26Mbps

Test#2: tun-mtu: 1480. No other options. - Result MTU: 1368 - Speed: 26Mbps

Test#3: tun-mtu: 1480, tun_mtu_extra: 16 - Result MTU: 1368 - Speed: 10Mbps

Test#4: tun-mtu: 1480, tun_mtu_extra: 32 - Result MTU: 1368 - Speed: 16Mbps

Test#5: tun-mtu: 1480, mssfix: 1440 - Result MTU: 1368 - Speed: 16Mbps

Test#6: tun-mtu: 1480, tun_mtu_extra: 16, mssfix: 1440 - Result MTU: 1368 - Speed: 11Mbps

Test#7: tun-mtu: 1480, tun_mtu_extra: 32, mssfix: 1440 - Result MTU: 1356 - Speed: 26Mbps

Ummm...not sure why you posted those...this is more confusing. I suppose the Test No. 1 results answered my inquiry.

  • Nonetheless, the MTU is 1368 on the tunnel.
  • I suggested tun_mtu_extra to be 0; not sure why you prefer other settings

The fact is, your Xbox detects max 1368 on your VPN; and.... 1368 < 1384 Ask the VPN provider about the missing bits, try another provider or consider running your game without it.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.