Since mid-last year, I started using a VPN service. Good for me, my VPN provider has both L2TP and OpenVPN services. L2TP is very easy to configure on Android phones (newer ones). But I find it unstable (may be my provider’s problem). So, I prefer OpenVPN as its stable.
I can only switch between L2TP and OpenVPN a limited number of time in a month. My provider do provide a good guide for getting OpenVPN up and running on a rooted android phone. But as we know “NO TWO DROIDS ARE SAME”, I had to improvise to get it all up. I did manage to get VPN up in a sec but requests were not getting routed via VPN.
After all the reading around at regular places, I got this thing working. Here’s how I did it. You would require:
- tun.ko module for your kernel (Optional as SGS2 should have it build in, I am using DXKL3 firmware. Else try tun.ko installer app), if you can not find one and don’t feel like compiling one, STOP HERE else read on.
- Rooted Phone (procedure for SGS2 here)
- Busybox (SGS2 w/ CF-Root don’t have to do anything, its all burnt in, else use BusyBox Installer)
- VPN Account with OpenVPN service (I guess you have one already else just google it)
- Application: OpenVPN Installer
- Application: OpenVPN Settings
- A PC/Mac with Android SDK (adb tool) and Kies OR Terminal Emulator OR SSHDroid application in the phone
- 30 minutes of time to make all this work.
# Remount /system are R/Wadb remount# Create a symlink of /system/xbin at /system/xbin/bbadb ls -s /system/xbin /system/xbin/bb# Link toolbox (busybox) as ifconfig and route under /system/xbin/bbadb shell ln -s /system/bin/toolbox /system/xbin/bb
adb shell ln -s /system/bin/toolbox /system/xbin/bb# (Optional) Reboot your phone to just make /system R/Oadb reboot