✅ Guía Paso a Paso para Crear un Servidor VPN en Linux (OpenVPN)

Comparte

¿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.





codigo fuente gratis