¿Quieres proteger tu conexión a internet y acceder a tu red desde cualquier parte del mundo? En esta guía te enseñamos cómo instalar y configurar un servidor VPN usando OpenVPN en Linux, ideal para administradores de sistemas, empresas o usuarios avanzados que desean mayor privacidad y seguridad en la red.
📌 ¿Qué es una VPN?
Una VPN (Virtual Private Network) permite crear una conexión segura y cifrada entre dos puntos a través de internet. Con OpenVPN puedes:
- Proteger el tráfico de datos.
- Acceder a una red local remotamente.
- Evitar bloqueos geográficos.
🧰 Requisitos
- Una máquina Linux con acceso root (Ubuntu/Debian/CentOS).
- Acceso a Internet.
- Un dominio (opcional, pero útil con certificados).
- Puertos abiertos:
1194/UDP.
🔧 Paso 1: Actualiza el sistema
sudo apt update && sudo apt upgrade -y
🔧 Paso 2: Instala OpenVPN y Easy-RSA
sudo apt install openvpn easy-rsa -y
🔧 Paso 3: Configura el servidor OpenVPN
Copia el archivo de ejemplo:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Edita /etc/openvpn/server.conf y asegúrate de habilitar estas líneas:
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"
🔐 Paso 4: Generar certificados y claves
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
./build-key client1
./build-key client2
🔥 Paso 5: Habilita el reenvío de IP
Edita /etc/sysctl.conf y descomenta:
net.ipv4.ip_forward=1
Aplica cambios:
sudo sysctl -p
🔒 Paso 6: Configura el firewall
sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable
Agrega redirección NAT:
sudo nano /etc/ufw/before.rules
Agrega antes de *filter:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
🚀 Paso 7: Inicia OpenVPN
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
📲 Paso 8: Exporta archivos para el cliente
Usa scp o cualquier método seguro para llevar el archivo .ovpn al cliente.
✅ Verifica la conexión
Desde el cliente, conecta con OpenVPN:
sudo openvpn --config client.ovpn
🛡️ Conclusión
¡Listo! Ya tienes un servidor VPN funcional en Linux con OpenVPN. Esta solución es gratuita, segura y altamente configurable para uso personal o empresarial.