OpenVPN for Palm Pre

From WebOS Internals
Jump to navigation Jump to search


OpenVPN enables you to build a secure virtual private network (VPN) connection from your Palm device to another available OpenVPN server, over an encrypted TLS connection. For encryption, it uses the libraries of the OpenSSL program. On the transport layer, it can use TCP or UDP. The secure connection, or "tunnel", between client and server is created using virtual network devices, using the TUN/TAP kernel drivers. With optware, openvpn is easily installable on your palm devices via ipkg.

OpenVPN client installation

To setup a connection to your OpenVPN server, you need the appropriate kernel module (tun.ko) and build a client-configuration depending and what type of connection you want to create (bridged or routed). The optware OpenVPN ipkg is a clean installation as the clipboard below proves. The Palm Pre/Pixi Linux OS is compiled with the /dev/tun driver built in, so you can ignore the module dependency warning. There is a project to create a GUI for the pre [1].

note: oinstall is alias oinstall="sudo ipkg-opt install"

└─(~)--> $ oinstall openvpn
Installing openvpn (2.1_rc15-1) to root...
openvpn: unsatisfied recommendation for kernel-module-tun
Installing lzo (1.08-2) to root...
Configuring lzo
Configuring openvpn
Successfully terminated.

OpenVPN client configuration

OpenVPN is deployed quickly and easily. The website and source installations contain scripts that can make OpenVPN connect to your home or work when WiFi is activated. oc80z

└─(/opt/etc/openvpn)--> # unzip
   creating: palmpre/
  inflating: palmpre/ca.crt
  inflating: palmpre/palmpre.key
  inflating: palmpre/palmpre.crt
  inflating: palmpre/palmpre.conf
  inflating: palmpre/dh2048.pem
  inflating: palmpre/palmpre.ovpn

└─(/opt/etc/openvpn)--> # openvpn --config /opt/etc/openvpn/palmpre/palmpre.ovpn >>/dev/null&

(...While pinging google, dropped wifi and monitored via SSH over Bluetooth PAN)

64 bytes from seq=5 ttl=52 time=46.505 ms
64 bytes from seq=6 ttl=52 time=45.603 ms
64 bytes from seq=7 ttl=52 time=49.132 ms
64 bytes from seq=8 ttl=52 time=101.013 ms 
64 bytes from seq=9 ttl=52 time=1556.213 ms <-- cutover wifi to evdo
64 bytes from seq=10 ttl=52 time=561.371 ms
64 bytes from seq=11 ttl=52 time=54.932 ms
64 bytes from seq=12 ttl=50 time=109.436 ms
64 bytes from seq=13 ttl=50 time=105.896 ms
64 bytes from seq=14 ttl=50 time=104.523 ms

└─(/opt/etc/openvpn/palmpre)--> # ping
PING ( 56 data bytes
64 bytes from seq=0 ttl=42 time=456.665 ms
64 bytes from seq=1 ttl=42 time=260.773 ms
64 bytes from seq=2 ttl=42 time=268.189 ms

└─(/opt/etc/openvpn/palmpre)--> # ping
PING ( 56 data bytes
64 bytes from seq=0 ttl=64 time=259.552 ms
64 bytes from seq=1 ttl=64 time=114.898 ms
64 bytes from seq=2 ttl=64 time=118.958 ms

└─(/opt/etc/openvpn/palmpre)--> # ping
PING ( 56 data bytes
64 bytes from seq=0 ttl=64 time=502.137 ms
64 bytes from seq=1 ttl=64 time=182.556 ms
64 bytes from seq=2 ttl=64 time=123.016 ms

OpenVPN IRC channel

The OpenVPN IRC channel ##OpenVPN exists on the same Freenode server #WebOS-Internals is located on. Please stop by either channel with questions after visiting [2]