Publicado en

Instalación y Configuración de OpenVPN en Linux

OpenVPN es una de las soluciones más populares para crear redes privadas virtuales (VPN), permitiendo conexiones seguras y cifradas entre dispositivos. En esta guía, aprenderás a instalar y configurar OpenVPN en un servidor Linux y a conectar clientes de manera segura.

Requisitos previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor Linux (Ubuntu, Debian o CentOS) con acceso root o permisos sudo.
  • Un cliente Linux o Windows para conectarse a la VPN.
  • Un firewall configurado para permitir el tráfico OpenVPN (puerto UDP 1194 por defecto).

Paso 1: Instalar OpenVPN y Easy-RSA

En Ubuntu/Debian:

Ejecuta los siguientes comandos para instalar OpenVPN y las herramientas de generación de certificados:

sudo apt update && sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y

En CentOS/RHEL:

sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

Paso 2: Configurar el servidor OpenVPN

Copiar los archivos de configuración

sudo cp -r /usr/share/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa
sudo cp vars.example vars

Edita el archivo vars con un editor de texto como nano:

sudo nano vars

Modifica los valores de las siguientes variables según tus necesidades:

set_var EASYRSA_REQ_COUNTRY    "PAÍS"
set_var EASYRSA_REQ_PROVINCE   "PROVINCIA"
set_var EASYRSA_REQ_CITY       "CIUDAD"
set_var EASYRSA_REQ_ORG        "ORGANIZACIÓN"
set_var EASYRSA_REQ_EMAIL      "correo@ejemplo.com"
set_var EASYRSA_REQ_OU         "UNIDAD"

Guarda y cierra el archivo.

Generar claves y certificados

sudo ./easyrsa init-pki
sudo ./easyrsa build-ca
sudo ./easyrsa gen-req servidor-ovpn nopass
sudo ./easyrsa sign-req server servidor-ovpn
sudo ./easyrsa gen-dh
openvpn --genkey --secret ta.key

Copia los archivos generados a la carpeta de configuración de OpenVPN:

sudo cp pki/ca.crt pki/issued/servidor-ovpn.crt pki/private/servidor-ovpn.key pki/dh.pem ta.key /etc/openvpn/

Paso 3: Configurar OpenVPN Server

Crea un nuevo archivo de configuración:

sudo nano /etc/openvpn/server.conf

Añade la siguiente configuración:

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/servidor-ovpn.crt
key /etc/openvpn/servidor-ovpn.key
dh /etc/openvpn/dh.pem
tls-auth /etc/openvpn/ta.key 0
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3

Habilita y ejecuta OpenVPN:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

Paso 4: Configurar los clientes OpenVPN

En el servidor, genera claves para los clientes:

cd /etc/openvpn/easy-rsa
sudo ./easyrsa gen-req cliente1 nopass
sudo ./easyrsa sign-req client cliente1
sudo cp pki/ca.crt pki/issued/cliente1.crt pki/private/cliente1.key /etc/openvpn/client-configs/

Crea un archivo de configuración para el cliente (cliente1.ovpn):

sudo nano /etc/openvpn/client-configs/cliente1.ovpn

Agrega el siguiente contenido:

client
dev tun
proto udp
remote TU_IP_PUBLICA 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert cliente1.crt
key cliente1.key
tls-auth ta.key 1
comp-lzo
verb 3

Transfiere este archivo al cliente y usa OpenVPN para conectarte:

sudo openvpn --config cliente1.ovpn

Paso 5: Configuración del firewall y reenvío de IP

Habilita el reenvío de paquetes en /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

Descomenta o agrega la siguiente línea:

net.ipv4.ip_forward=1

Aplica los cambios:

sudo sysctl -p

Configura iptables para redirigir el tráfico:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Guarda la configuración de iptables:

sudo apt install iptables-persistent -y
sudo netfilter-persistent save

Conclusión

Con estos pasos, has instalado y configurado un servidor OpenVPN en Linux. Ahora puedes conectar clientes de forma segura y navegar con privacidad. ¡Disfruta de tu VPN segura!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *