How To Setup Ovpn In Centos

Setting up OpenVPN in CentOS is an essential step in ensuring secure and private communication over the internet. As an enthusiast of network security and privacy, I find OpenVPN to be an incredibly versatile and robust solution for creating encrypted tunnels for data transmission. In this article, I’ll guide you through the detailed steps of setting up OpenVPN in CentOS, sharing my personal insights and commentary along the way.

Installing OpenVPN

First things first, let’s install OpenVPN. In CentOS, I prefer using the terminal for installations. I simply run the command sudo yum install openvpn to get OpenVPN up and running. This step is crucial for enabling the server to handle VPN connections.

Configuring OpenVPN

Now, let’s configure OpenVPN by creating the necessary directory structure. In the terminal, I create a new directory by running sudo mkdir /etc/openvpn. This directory will hold all the configuration files for our OpenVPN server.

Next, I copy the sample configuration files from the OpenVPN package to the newly created directory with the following command: sudo cp /usr/share/doc/openvpn*/sample/sample-config-files/server.conf /etc/openvpn/. These sample configuration files will serve as the foundation for our OpenVPN setup.

Generate Keys and Certificates

Security is paramount in any VPN setup. I generate the necessary cryptographic material using EasyRSA, a simple-to-use utility that comes with OpenVPN. By navigating to the EasyRSA directory and running ./easyrsa init-pki, I initialize the public key infrastructure (PKI).

After the PKI is initialized, I proceed to create the Certificate Authority (CA) key and certificate, server key and certificate, and Diffie-Hellman parameters. Each of these components is crucial for the security of the OpenVPN server.

Client Configuration

With the server side setup complete, it’s time to generate client-specific configuration files. Creating a client configuration file for each device that will connect to the VPN ensures that each client has a unique set of keys and certificates. This enhances security and provides a more organized approach to managing client connections.

Firewall Configuration

It’s important to pay attention to the firewall to allow the necessary traffic for OpenVPN. I make sure to configure the firewall to allow UDP traffic on port 1194, which is the default port used by OpenVPN for communication. This step is crucial for ensuring that the VPN traffic can flow freely through the server without being blocked by the firewall.

Start OpenVPN Service

Finally, after all the configurations and settings are in place, it’s time to start the OpenVPN service. Running the command sudo systemctl start openvpn@server initiates the OpenVPN service, and it should start without any errors if all the configurations have been done correctly.


Setting up OpenVPN in CentOS has been a rewarding experience. From the initial installation to the generation of keys and certificates, the process is not only crucial for security but also empowering as I take control of my network’s privacy. By following the detailed steps outlined in this article, you too can create your own secure and private network using OpenVPN in CentOS.