The Airsource Blog

On PPTP and T-Mobile Hotspots

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.

Nick Clarey
in Technical

Share this:

Airsource design and develop apps for ourselves and for our clients. We help people like you to turn concepts into reality, taking ideas from initial design, development and ongoing maintenance and support.

Contact us today to find out how we can help you build and maintain your app.