Friday, April 19, 2013

mppe_compress[0]: osize too small! (have: 1404 need: 1408)

Windows VPN and PPTP Connectivity Timeouts

In my pursuit for a personal cloud and convenient secure remote file system so as to be able to develop directly on the server I have researched, tested and decided against SFTP, WebDAV, and SAMBA/NFS over internet. The only approach still standing is the built in Windows VPN and PPTP + SAMBA/CIFS:


However there was one bug that prevented some sites/services from working and timing out; the /var/log/syslog showed the following intermittently:

Apr 19 10:15:15 sh1 pptpd[11330]: GRE: accepting packet #107
Apr 19 10:15:15 sh1 pptpd[11330]: GRE: accepting packet #108
Apr 19 10:15:15 sh1 pptpd[11330]: GRE: accepting packet #109
Apr 19 10:15:15 sh1 kernel: mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Apr 19 10:15:15 sh1 kernel: ppp0: ppp: compressor dropped pkt
Apr 19 10:15:15 sh1 kernel: mppe_compress[0]: osize too small! (have: 1404 need: 1408)

This due to the way MPPE Microsoft point-to-point Encryption encodes data which results in the packet size being bigger then what was agreed in the VPN handshake - is my guess. There is a reported bug from 2005 which sadly hast not yet been addressed.

Fixing the issue by increasing the MTU

You can't fix this issue by modifying the MTU/MRU settings in '/etc/ppp/options' directly, you have to adjust the MTU after the PPP connection is up and this can be accomplished by adding a custom 'ip-up' script.

Below is my workaround script, place it into file '/etc/ppp/ip-up.d/mppefixmtu' and ensure that it is executable ('chmod +x mppefixmtu'):

#!/bin/sh
CURRENT_MTU="`ifconfig $1 | grep -Po '(?<=MTU:)([0-9]+)'`"
FIXED_MTU="`expr $CURRENT_MTU + 4`"
ifconfig $1 mtu $FIXED_MTU
echo "Increased MTU for $1 to $FIXED_MTU (from $CURRENT_MTU) to fix MPPE Microsoft Point-to-Point bug #330973"

Troubleshooting

You can review script errors by examining the file '/var/log/ppp-ipupdown.log', however if the file doesn't exist then you must create it to enable ip-up/ip-down script logging - don't forget to restart pppd.

As always if you found this useful feel free to follow me here or via twitter @danielsokolowski.

Tuesday, April 16, 2013

Another Awesome Free Linode VPS Upgrade

Double memory, double CPU and 10x internet traffic.

Our hosting of choice for self managed servers is Linode as this company continuously stays competitive and keeps giving back to it's customers. In the last two months they doubled the memory, updated CPU cores, increased transfer cap, and storage space you can read their blog for more info.
Plan RAM Disk XFER CPU Price
Linode 1G 1 GB 24 GB 2 TB 8 cores (1x priority) $20 / mo
Linode 2G 2 GB 48 GB 4 TB 8 cores (2x priority) $40 / mo
Linode 4G 4 GB 96 GB 8 TB 8 cores (4x priority) $80 / mo
Linode 8G 8 GB 192 GB 16 TB 8 cores (8x priority) $160 / mo
Linode 16G 16 GB 384 GB 20 TB 8 cores (16x priority) $320 / mo
Linode 24G 24 GB 576 GB 20 TB 8 cores (24x priority) $480 / mo
Linode 32G 32 GB 768 GB 20 TB 8 cores (32x priority) $640 / mo
Linode 40G 40 GB 960 GB 20 TB 8 cores (40x priority) $800 / mo


In my opinion the best VPS for a low cost $20 a month plan.

So at these specification I believe you can't get a better deal. Their $20 a month plan even rivals some dedicated servers as per my OVHS experience and with the doubled memory one can now run a small Minecraft server even better.

If you do sign up do you use my referral code: 7d884fa5262b62b8735502da003fee34061db49b so that I do get a small kick back for a sign up.

Linode failed to boot for unknown reason.

There was a serious issue when upgrading: after the upgrade none of the linodes would boot. However the support team responded within minutes to our support ticket and instructed me to use the 'Latest 64 big (3.8.4-x86_64-linode1)' kernel option. So if you run into unable to boot option after the upgrade change your linode's configuration profile as shown below:



And if you found this useful feel free to follow me here or via twitter @danielsokolowski.

Monday, April 1, 2013

Linphone Portable Version

Linphone PortableApps Beta Version

Linphone is an excelent multi-line, multi-platform - iOS, Blackberry, Windows, Mac and Linux - opensource VOIP SIP client I have been using for over a year now; I have tried a number of VOIP clients before settling on it - it's so awesome it cooks breakfast in the morning and it deserved a PortableApps version so I created one.


To download my beta version click LinphonePortable_3.5.99.0-snapshot-mar-21-2013_English.paf.exe and report any issues on this forum http://portableapps.com/node/36863. If you find this useful do +1 this or follow me @danielsokolow.