How to connect to OpenVPN server from Ubuntu 13.04 Desktop

Yesterday my friend came to my house and ask about connect to openvpn server from linux desktop. I told him to install vpn client first then connect to vpn server but that instruction is not enough for him so I give him personal assistance and document the process here in case someone need it in the future. Lets get start :

Install OpenVPN client

$ sudo apt-get install openvpn
[sudo] password for alamsyah:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
libjavascriptcoregtk-1.0-0 libwebkitgtk-1.0-0 libwebkitgtk-1.0-common
Use ‘apt-get autoremove’ to remove them.
The following extra packages will be installed:
libpkcs11-helper1
The following NEW packages will be installed:
libpkcs11-helper1 openvpn
0 upgraded, 2 newly installed, 0 to remove and 330 not upgraded.
Need to get 494 kB of archives.
After this operation, 1.247 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://id.archive.ubuntu.com/ubuntu/ raring/main libpkcs11-helper1 i386 1.09-1build1 [47,6 kB]
Get:2 http://id.archive.ubuntu.com/ubuntu/ raring/main openvpn i386 2.2.1-8ubuntu3 [447 kB]
Fetched 494 kB in 8s (61,7 kB/s)
Preconfiguring packages …
Selecting previously unselected package libpkcs11-helper1:i386.
(Reading database … 200544 files and directories currently installed.)
Unpacking libpkcs11-helper1:i386 (from …/libpkcs11-helper1_1.09-1build1_i386.deb) …
Selecting previously unselected package openvpn.
Unpacking openvpn (from …/openvpn_2.2.1-8ubuntu3_i386.deb) …
Processing triggers for man-db …
Processing triggers for ureadahead …
ureadahead will be reprofiled on next reboot
Setting up libpkcs11-helper1:i386 (1.09-1build1) …
Setting up openvpn (2.2.1-8ubuntu3) …
* Restarting virtual private network daemon(s)…                                                                                               *   No VPN is running.
Processing triggers for libc-bin …
ldconfig deferred processing now taking place
Processing triggers for ureadahead …
$

Download openvpn client configuration file

Connection setting for specific user can be found easily if you use openvn as, just access the address in the following format :

http://servername:943

openvpn_client_ubuntu

Click on “Yourself (user-located profile)”.

Connect to OpenVPN server

Pick downloaded client.ovpn

$ sudo openvpn --config Downloads/client.ovpn
Sat Jan 18 14:18:15 2014 OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 13 2013
Enter Auth Username:alam
Enter Auth Password:
…………….
………………….
……………………..

Sat Jan 18 14:18:27 2014 TUN/TAP device tun0 opened
Sat Jan 18 14:18:27 2014 TUN/TAP TX queue length set to 100
Sat Jan 18 14:18:27 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sat Jan 18 14:18:27 2014 /sbin/ifconfig tun0 172.27.232.5 netmask 255.255.248.0 mtu 1500 broadcast 172.27.239.255
Sat Jan 18 14:18:32 2014 /sbin/route add -net 192.241.146.134 netmask 255.255.255.255 gw 192.168.1.1
Sat Jan 18 14:18:32 2014 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 172.27.232.1
Sat Jan 18 14:18:32 2014 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 172.27.232.1
Sat Jan 18 14:18:32 2014 Initialization Sequence Completed

if you want to hide all those message use –daemon

$ sudo openvpn --daemon --config Downloads/client.ovpn
Enter Auth Username:alam
Enter Auth Password:
$

Ip address before connection made

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:9e:01:1c:3a:f9
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 08:3e:8e:32:8f:62
inet addr:192.168.1.205  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::a3e:8eff:fe32:8f62/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:348892 errors:23 dropped:0 overruns:0 frame:253441
TX packets:267410 errors:25 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:438515703 (438.5 MB)  TX bytes:29792681 (29.7 MB)
Interrupt:19

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:4789 errors:0 dropped:0 overruns:0 frame:0
TX packets:4789 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:481600 (481.6 KB)  TX bytes:481600 (481.6 KB)
$

Ip address after connected :

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:9e:01:1c:3a:f9
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 08:3e:8e:32:8f:62
inet addr:192.168.1.205  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::a3e:8eff:fe32:8f62/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:349509 errors:24 dropped:0 overruns:0 frame:261386
TX packets:268163 errors:25 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:438599978 (438.5 MB)  TX bytes:29983493 (29.9 MB)
Interrupt:19

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:4829 errors:0 dropped:0 overruns:0 frame:0
TX packets:4829 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:484929 (484.9 KB)  TX bytes:484929 (484.9 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.27.232.5  P-t-P:172.27.232.5  Mask:255.255.248.0
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:142 errors:0 dropped:0 overruns:0 frame:0
TX packets:240 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:13651 (13.6 KB)  TX bytes:53785 (53.7 KB)

Use service like whatismyip.com to check current ip address.