Getting a VPN set up right on your Linux machine has a number of advantages, especially today when online privacy is a must and files are being shared remotely more extensively than ever. First off, securing your connection with a virtual private network will keep your online traffic encrypted and safe from hackers and other people with malicious intents. But originally, VPNs werenâ€™t used for that reason at all; rather, they were exactly what the name suggests: virtual private networks. By connecting to a VPN, your computer and, for example, your colleagueâ€™s remote computer (thatâ€™s not physically connected to it via a LAN cable), can â€œseeâ€ each other as if they were part of a local area network and share files via the Internet. VPNs can also be utilized for remotely accessing a computer to offer assistance, or for whatever other reason youâ€™d need to.
OpenVPN is regarded as one of the most secure and most efficient tunneling protocols for VPNs, and fortunately enough itâ€™s quite simple to set up an OpenVPN client on a Linux computer if you know your way around the terminal.
Installing and Configuring The Client
First of all, you have to install the OpenVPN package, which you can easily do via the terminal command sudo apt-get install openvpn. Enter your sudo password (the password of your account) and press Enter. A few dependencies ask for permission to be installed, so just accept all of them for the installation to finish.
Then youâ€™ll have to grab a few certificates off the server that the client side needs in order for OpenVPN to work. Locate the following files on your server PC and put them on a flash drive, so that you can copy them to your client PC:
Copy all of the files to the /etc/openvpn directory of your client PC (note that instead of â€œhostnameâ€, in the first two files, it will be the hostname of your client). To further configure the client you have to use the command sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn, which copies a sample configuration file to the right directory.
Editing The Configuration File
Use a text editor such as gpedit to open the client.conf file and locate the following text:
remote vpn.example.com 1181
tls-auth ta.key 1
You need to make a few changes here. Instead of â€œvpn.example.comâ€, put your serverâ€™s address. â€œ1181â€ should be the port of your OpenVPN server, and â€œhostnameâ€ should, once again, be the actual name of the certificates that you copied to etc/openvpn/easy-rsa/keys a moment ago.
Now that youâ€™ve set all of this up, you need to restart OpenVPN with the following command: sudo /etc/init.d/openvpn restart. Your remote local area network should be accessible now, which you can check by pinging the serverâ€™s VPN IP address.
Setting Up A Graphic UI Tool for OpenVPN
Unless you feel like using the terminal to navigate to every file and folder on your virtual network, itâ€™s a good idea to set up some kind of a GUI. The Gadmin OpenVPN client does a fantastic job at this, and itâ€™s real simple to set up, either via the Ubuntu Software Center, Synaptic or PackageKit. No matter what you choose, once itâ€™s installed simply run the command sudo gadmin-openvpn-client and a neat graphic user interface will appear on the screen.
Now all you have to do is input some information about the server, and youâ€™re set. Fill in the Connection name (what youâ€™d like the connection to your VPN to be called), the Server address (the IP address of your OpenVPN server), the Server port, and the location of the certificates (the ca.crt and ta.key files mentioned earlier). Once youâ€™re done with that, click the Add button, select the connection that youâ€™ve just created and click Activate. Your VPN network will now be accessible.
Thatâ€™s it, youâ€™re done! You now have your own OpenVPN server that you can use to share data. Note that there are plenty other GUI tools for VPNs to be found in the Software store, so if you donâ€™t like Gadmin, you can always use something else and still have access to OpenVPN, just through a different interface.
As you can see, itâ€™s pretty simple to set up an OpenVPN client and connect to an existing VPN server. Setting up an OpenVPN server on Linux is a bit more of a challenge, though itâ€™s perfectly possible. For a better and smoother experience, though, you might want to think about subscribing to a dedicated VPN provider, such as ExpressVPN. Itâ€™s not free, but itâ€™ll give you greater security and stability, and save you the hassle of maintaining an OpenVPN server by yourself. If youâ€™re interested, you should check out some ExpressVPN reviews before you make your choice.
Thomas Milva is an IT Security Analyst, Web entrepreneur and Tech enthusiast. He is the co-editor of http://wefollowtech.com