En esta sección, aprenderás a configurar un servidor VPN en un sistema Linux. Una VPN (Red Privada Virtual) permite crear una conexión segura y cifrada a través de una red menos segura, como Internet. Esto es útil para proteger la privacidad y la seguridad de los datos.

Objetivos de Aprendizaje

  • Comprender qué es una VPN y sus beneficios.
  • Instalar y configurar OpenVPN en un servidor Linux.
  • Generar certificados y claves para la autenticación.
  • Configurar clientes para conectarse al servidor VPN.
  • Probar y verificar la conexión VPN.

¿Qué es una VPN?

Una VPN, o Red Privada Virtual, es una tecnología que permite crear una conexión segura y cifrada a través de una red pública, como Internet. Las VPNs son utilizadas para:

  • Proteger la privacidad y la seguridad de los datos.
  • Acceder a recursos de red de manera remota.
  • Evitar restricciones geográficas y censura.

Instalación de OpenVPN

OpenVPN es una solución de VPN de código abierto que es ampliamente utilizada debido a su flexibilidad y seguridad.

Paso 1: Actualizar el Sistema

Antes de instalar OpenVPN, asegúrate de que tu sistema esté actualizado.

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar OpenVPN y Easy-RSA

Easy-RSA es una utilidad para la gestión de certificados y claves.

sudo apt install openvpn easy-rsa -y

Paso 3: Configurar Easy-RSA

Crea un directorio para Easy-RSA y copia los archivos de configuración.

make-cadir ~/openvpn-ca
cd ~/openvpn-ca

Edita el archivo vars para configurar los parámetros de tu CA (Autoridad de Certificación).

nano vars

Modifica las siguientes líneas según tu información:

set_var EASYRSA_REQ_COUNTRY    "US"
set_var EASYRSA_REQ_PROVINCE   "California"
set_var EASYRSA_REQ_CITY       "San Francisco"
set_var EASYRSA_REQ_ORG        "MyOrg"
set_var EASYRSA_REQ_EMAIL      "[email protected]"
set_var EASYRSA_REQ_OU         "MyOrgUnit"

Paso 4: Generar la CA y los Certificados

Inicializa el directorio de la CA y genera la CA.

./easyrsa init-pki
./easyrsa build-ca

Genera el certificado y la clave del servidor.

./easyrsa gen-req server nopass
./easyrsa sign-req server server

Genera los certificados y claves del cliente.

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

Genera los parámetros Diffie-Hellman.

./easyrsa gen-dh

Paso 5: Configurar OpenVPN

Copia los archivos generados a la configuración de OpenVPN.

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem /etc/openvpn/

Crea un archivo de configuración para OpenVPN.

sudo nano /etc/openvpn/server.conf

Añade la siguiente configuración:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3

Paso 6: Habilitar el Reenvío de IP

Habilita el reenvío de IP en el kernel.

sudo nano /etc/sysctl.conf

Descomenta la línea:

net.ipv4.ip_forward=1

Aplica los cambios.

sudo sysctl -p

Paso 7: Configurar el Firewall

Configura el firewall para permitir el tráfico VPN.

sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable

Paso 8: Iniciar el Servidor OpenVPN

Inicia y habilita el servicio OpenVPN.

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

Configuración del Cliente

Paso 1: Instalar OpenVPN en el Cliente

Instala OpenVPN en el cliente.

sudo apt install openvpn -y

Paso 2: Configurar el Cliente

Copia los archivos necesarios al cliente.

scp user@server_ip:/etc/openvpn/ca.crt /etc/openvpn/
scp user@server_ip:/etc/openvpn/client1.crt /etc/openvpn/
scp user@server_ip:/etc/openvpn/client1.key /etc/openvpn/

Crea un archivo de configuración para el cliente.

sudo nano /etc/openvpn/client.conf

Añade la siguiente configuración:

client
dev tun
proto udp
remote server_ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3

Paso 3: Conectar al Servidor VPN

Inicia la conexión VPN en el cliente.

sudo openvpn --config /etc/openvpn/client.conf

Verificación de la Conexión

Para verificar que la conexión VPN está funcionando correctamente, puedes comprobar tu dirección IP pública antes y después de conectarte a la VPN. Utiliza un servicio como https://whatismyipaddress.com/ para verificar tu IP.

Resumen

En esta sección, has aprendido a configurar un servidor VPN utilizando OpenVPN en un sistema Linux. Has cubierto la instalación y configuración de OpenVPN, la generación de certificados y claves, la configuración del firewall y la habilitación del reenvío de IP. También has aprendido a configurar un cliente para conectarse al servidor VPN y a verificar la conexión.

Con esta configuración, puedes asegurar tus conexiones a través de redes públicas y proteger tu privacidad y seguridad en línea.

Maestría en Linux: De Principiante a Avanzado

Módulo 1: Introducción a Linux

Módulo 2: Comandos Básicos de Linux

Módulo 3: Habilidades Avanzadas en la Línea de Comandos

Módulo 4: Scripting en Shell

Módulo 5: Administración del Sistema

Módulo 6: Redes y Seguridad

Módulo 7: Temas Avanzados

Módulo 8: Proyectos Prácticos

© Copyright 2024. Todos los derechos reservados