Ok, I\'ve a trouble that I\'m not able to fix since some week. I use git (on github) to store my projects. Recently I\'ve added some new files in it without problems, but, w
As you've suggested that pinning your MTU has been effective at alleviating the problem, I'd recommend a more targeted solution.
iptables -t mangle -I OUTPUT 1 -o wlan0 -d 207.97.227.239 \
-p tcp --dport 22 --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1420
This hijacks the initial TCP negotiation with the server (only for SSH on github.com's IP), and forces the MSS to 1420. This is effectively the same as setting the MTU, but is more selective. It's good in some situations where you can't easily save the MTU change, and would need to re-apply it each time the interface was taken down/up.
The MSS needs to be 40 less than the MTU to allow for the 40 byte TCP header + the data segment (MSS is Max Segment Size).
The most common reason for needing to do something like this (ie, getting MTU below 1500), is VPNs and tunnels. PMTU is meant to solve this, but it fails in far too many situations, leaving you to manually need to adjust the MTU for certain paths. Using the iptables rule allows you to tailor your traffic differently for different problem paths, rather then forcing you to set you MTU to the lowest common denominator for all paths. The problem with doing that is that you slowly diminish your effective bandwidth by increasing your header to data ratios.