In ever-increasing threats against internet users, VPN provides a safe way to access the internet as it secures our data communications. Not only that, but VPN also provides internet privacy for remote employees for an organization, for securing IOT & also for networking cloud data centers.
In this article, we are going to discuss the installation of OpenVPN on Linux. OpenVPN is one of the most recognized VPN services provides & is ideal for use especially for organizations that want their data secured. OpenVPN uses the public internet to provide a secure & isolated private network.
Using OpenVPN on Linux, we can minimize the risk of unauthorized access to specific networks. Even on unsecured networks like public WIFI, it provides encryption to secure the data. It also provides centralized management for users.
OpenVPN consists of two parts;
1- OpenVPN access server, is the main server & acts as a centralized management console for user management,
2- OpenVPN client, it is required to be installed on all client systems that are to be connected to the OpenVPN server.
Recommended Read: Informative guide to useful Linux shortcuts
Also Read: How to Add and Remove Users in Ubuntu
In this tutorial, we will learn to install both, so let’s start the installation of OpenVPN on Linux,
Installing OpenVPN on Linux (Access Server)
Before we install OpenVPN access server, we actually need to install some pre-requisites first. Install the ‘net-tools’ & ‘wget’ by executing the following command from the terminal,
CentOS/RHEL
# yum install net-tools wget
Ubuntu
$ sudo apt-get install net-tools wget
Now we also need to ensure that time on our system is never out of sync as this can cause a problem with certificate authentication, moreover, 2-factor authentication will not happen on servers with time out of sync. So also need to install ‘ntp’ package on the servers,
CentOS/RHEL
# yum install ntp
Ubuntu
$ sudo apt-get install ntp
Now we can install OpenVPN on Linux machines, in the next step we will download the required packages for installation,
CentOS/RHEL
# wget https://openvpn.net/downloads/openvpn-as-latest-CentOS7.x86_64.rpm
Ubuntu
$ wget https://openvpn.net/downloads/openvpn-as-latest-ubuntu18.amd_64.deb
Packages for older distributions are also available & can be downloaded using the following command,
CentOS/RHEL 6
# wget https://openvpn.net/downloads/openvpn-as-latest-CentOS6.x86_64.rpm
Ubuntu 16
$ wget https://openvpn.net/downloads/openvpn-as-latest-ubuntu16.amd_64.deb
Once downloaded, we will install the OpenVPN packages with the following command,
CentOS/RHEL
# rpm -Uvh openvpn-as-latest-CentOS7.x86_64.rpm
Ubuntu
$ sudo dpkg -i openvpn-as-latest-ubuntu18.amd_64.deb
The installation will now start & we will get information regarding the location of configuration files, service file location, etc,
Service will be started by default upon installation, but we can restart the same with the following command,
# systemctl restart openvpnas
We can now access GUI from a web browser but before we do that, we need to reset the password for the admin user of OpenVPN access server,
# passwd openvpn
Once the password has been set, open the following URL from a web browser,
https://10.10.10.10:943/admin
here 10.10.10.10 is the system IP where we have installed the OpenVPN Access server. We will now be asked to enter the credentials,
Once we have signed in, we will be asked to agree on end user license agreement, read it & then accept it,
next, we can see the admin console for OpenVPN,
Under User management, we can create client users. Create one so that we can connect & check it.
Note: if you are using the firewall on your system, make sure that TCP 443, TCP 943, and UDP 1194 are allowed.
Install OpenVPN client on Linux
Once we have a user ready in OpenVPN access server, we can use that user to connect to the VPN from a remote system. But we need to install the openvpn client software first. Install it using the following commands from the terminal,
CentOS/RHEL
# yum install openvpn
Ubuntu
$ sudo apt-get install openvpn
Once installed you can check the version using the following command,
# openvpn --version
Next step would be to download the client configuration file named ‘client.ovpn’ from the access server client UI, enter the following URL to connect to the same,
https://10.10.10.10:943/
Notice here, it is the same URL that we have used to access the admin portal but we have only omitted admin part from URL. Enter the credentials & we will be directed to the following screen,
Click on last option ‘Yourself (user-locked profile)’ & a file will be downloaded. This is the same file we need to connect to the VPN. To connect to OpenVPN, run the following command,
# openvpn --config client.ovpn
Note:- Enter the complete path for client.ovpn file, if you are in a different directory than the client.ovpn file location.
Now the process will start to connect to OpenVPN,
Once this completes, we will be connected to the OpenVPN & this ends our tutorial on installation of OpenVPN on Linux machines.
Please do send us any questions or queries you have regarding the tutorial using the comment box below.
If you think we have helped you or just want to support us, please consider these:-
Connect to us: Facebook | Twitter | Google Plus
Become a Supporter - Donate us some of you hard earned money: [paypal-donation]
Linux TechLab is thankful for your continued support.
Nice guide and informative.