mtu Size
Sometimes devices in the path from you to your destination may have restrictions in place that make full size packets fail to get through but work fine with smaller ones. This can be seen if an attempt is made to run a plain VNC or RDP session or a session via an SSH tunnel; the connection can be made and authenticated but when a large amount of data is transferred (initial screen state for example) packets can be lost and the connection will hang. To correct the issue the TCP MTU size can be reduced.
Discovery of the MTU size in Windows
netsh interface ipv4 show subinterfaces
The MTU is shown under the MTU column heading for each interface
Changing the MTU size in Windows
To set the MTU to 1200 on "Local Area Connection" (ethernet default MTU is 1500):
netsh interface ipv4 set subinterface "Local Area Connection" mtu=1200
To set the MTU to 1480 on "Ethernet":
netsh interface ipv4 set subinterface "Ethernet" mtu=1480
Discovery of MTU size in Linux
Changing the MTU size in Linux
ip link set dev <DEVICE> mtu <NEWMTU>
ip link set dev tun0 mtu 1480
References
- Become The Solution Windows MTU Discovery and Change with Pictures
- Task-centred iproute2 user guide