Being a small company just starting to get our feet off the ground, we (or rather, I) have to do all of our own IT management.
Amusingly, after I completed my degree at University I had to think long and hard about whether to go into Software or into IT. It was quite a hard decision - fortunately a wise gentleman who I was working with suggested that Software was definitely the place to be. I took his advice but I keep coming back to IT. But anyway, I digress.
Being a bit of a boffin, I like our IT system to be polished. So much so that even though we are small I have been working to set up a PPTP based VPN system to serve us when we are out and about. It's pretty straightforward; a Debian Linux box running pptpd (PoPToP) behind an ADSL firewall.
Imagine our collective consternation when our VPN setup works fine and dandy when I try to use it from my house to connect into our office but when we try to use it from a T-Mobile Hotspot - no dice! Snarl. Try a different hotspot. Still no dice. Queue much scratching of heads.
Symptoms - able to connect to the VPN but as soon as I start passing large amounts of traffic over the connection, splat.
After much jiggery-pokery, and some sessions with tcpdump, what do I find? Ethereal reporting some funny truncated packets. Very odd. A bit more googling and people reporting similar problems in other contexts.
Turns out that the problem is related to MTU and MRU settings on the PPP link. A flick of the wrist in /etc/ppp/pptp-options;
# This might do the trick
mru 542
mtu 576
A mad scramble to the nearest Starbucks - and lo! - a happy VPN connection. Heavenly choirs sound. Several weeks of fiddling has finally paid off. Rejoice.