Editado 6 hace meses por ExtremeHow Equipo Editorial
VPNServidorUbuntuLinuxRedesSeguridadConfiguraciónSistemas operativosSistemaConfiguración
Traducción actualizada 6 hace meses
Configurar un servidor VPN (Red Privada Virtual) en tu máquina Ubuntu es una de las formas más efectivas de garantizar la privacidad y la seguridad al acceder a Internet. Con una VPN, puedes proteger tu tráfico de Internet de miradas curiosas, acceder a contenido restringido geográficamente y mantener el anonimato mientras navegas. Esta guía proporciona un enfoque paso a paso para configurar un servidor VPN utilizando OpenVPN en Ubuntu. Dividiremos el proceso en pasos simples para que sea comprensible para todos, incluso para principiantes.
Una VPN es esencialmente una conexión segura a través de Internet desde un dispositivo a una red. Cuando te conectas a una VPN, esta encripta tus datos, dificultando que alguien los intercepte y acceda a tu información. Esta encriptación protege tus actividades en línea de hackers, ISP y otros terceros.
Las VPNs se utilizan típicamente para los siguientes propósitos:
Antes de comenzar a configurar un servidor VPN en Ubuntu, asegúrate de tener lo siguiente:
Actualiza tu sistema para asegurarte de que esté al día. Abre tu terminal y ejecuta el siguiente comando:
sudo apt update && sudo apt upgrade -y
Este comando actualiza la lista de paquetes disponibles y sus versiones, y luego actualiza los paquetes.
A continuación, necesitamos instalar OpenVPN en el servidor. OpenVPN es una solución VPN de código abierto popular. Puedes instalarla con el siguiente comando:
sudo apt install openvpn easy-rsa -y
El paquete easy-rsa
se utiliza para crear una autoridad certificadora (CA) para tu servidor. La CA emite certificados que ayudan a autenticar clientes que se conectan a la VPN.
Después de instalar OpenVPN, necesitas copiar el archivo de configuración de muestra proporcionado por OpenVPN al directorio /etc/openvpn. Este archivo sirve como plantilla para tu configuración. Utiliza el siguiente comando para copiarlo:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
Este archivo de configuración está comprimido, por lo que necesitas descomprimirlo antes de poder editarlo. Utiliza el comando a continuación para extraerlo:
sudo gzip -d /etc/openvpn/server.conf.gz
Una vez descomprimido, abre el archivo de configuración para editarlo:
sudo nano /etc/openvpn/server.conf
En este archivo, hay varios parámetros que puedes necesitar modificar según tus necesidades. Por ejemplo, para una mejor seguridad, puedes descomentar la línea de tls-auth
eliminando el ;
al comienzo de la línea para garantizar que el cliente VPN pueda ser autenticado. También, asegúrate de que la línea cipher
esté configurada con estándares de encriptación fuertes como AES-256-CBC
.
Para que el servidor VPN funcione, debes habilitar el reenvío de paquetes modificando el archivo /etc/sysctl.conf
. Esta acción permite que tu servidor actúe como un enrutador, que reenvía paquetes entre redes. Abre el archivo con el siguiente comando:
sudo nano /etc/sysctl.conf
Encuentra la línea:
#net.ipv4.ip_forward=1
Descomenta esta línea para habilitar el reenvío de IPv4 eliminando el signo #
. Guarda y cierra el archivo.
Aplica los cambios ejecutando lo siguiente:
sudo sysctl -p
Configura el firewall para permitir el tráfico a través de OpenVPN. Esto incluye permitir el tráfico VPN a través del firewall del servidor y reenviarlo a Internet.
Primero, encuentra tu interfaz de red. Ejecuta:
ip route | grep default
El comando mostrará el nombre de tu interfaz de red predeterminada, por ejemplo, eth0
. Anota este nombre.
Habilita el firewall para permitir el tráfico de OpenVPN y SSH, y configura reglas para el reenvío de paquetes. Suponiendo que la interfaz se llame eth0
, ejecuta estos comandos:
sudo ufw allow ssh sudo ufw allow 1194/udp sudo ufw allow 443/tcp sudo ufw enable sudo ufw status
Agrega las siguientes reglas para el reenvío y NAT:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Es necesario crear una infraestructura de clave pública (PKI) para emitir certificados a los clientes. Comienza configurando el directorio PKI:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
Edita el archivo vars
en el directorio recién creado para personalizar la autoridad certificadora. Ejecuta:
nano vars
Reemplaza los marcadores de posición en el archivo con tus detalles relevantes.
Carga variables y genera la autoridad certificadora:
source vars ./clean-all ./build-ca
Genera la clave y el certificado del servidor:
./build-key-server server
Genera parámetros Diffie-Hellman para mayor seguridad:
./build-dh
Genera una firma HMAC para el servidor:
openvpn --genkey --secret keys/ta.key
Después de haber realizado toda la configuración, inicia y habilita el servicio OpenVPN:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
Comprueba que la VPN está funcionando:
sudo systemctl status openvpn@server
Genera certificados y claves de cliente para cada dispositivo que se conecte al servidor. En el directorio openvpn-ca
, ejecuta:
cd ~/openvpn-ca source vars ./build-key client1
Copia los archivos requeridos a la máquina cliente:
sudo scp -r ~/openvpn-ca/keys/client1.* your_username@client_ip:/path/to/client/config
Configura el archivo client.conf con estos ajustes:
client dev tun proto udp remote [Tu IP del Servidor] 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC auth SHA256 comp-lzo verb 3
Configurar tu propio servidor VPN puede mejorar en gran medida tu seguridad en línea. Mientras que las VPN comerciales ofrecen facilidad de uso, crear tu propio servidor te da más control sobre tus datos personales. Aunque la configuración requiere algunas habilidades técnicas, esta guía descompone el proceso en pasos simples para hacerlo manejable. Protege tu presencia en línea hoy configurando tu propio servidor VPN en Ubuntu.
Si encuentras algo incorrecto en el contenido del artículo, puedes