VPN: Red Privada Virtual

13 de enero de 2022

Lang: cs en de es

Si quieres aumentar la seguridad o conectar ordenadores en distintos lugares, una VPN es ideal para ambas cosas. VPN significa red privada virtual. Y en este artículo, describiré qué es una VPN y cómo crear tu propia VPN utilizando el software de código abierto OpenVPN. Es decir, cómo instalarlo y configurarlo en Linux o Windows como cliente y servidor.

VPN, abreviatura de Virtual Private Network, es una tecnología que crea una red privada virtual entre dispositivos, y así los dispositivos que están en ella pueden acceder entre sí directamente. Normalmente este tráfico está envuelto en una comunicación encriptada, por lo que se proporciona más seguridad.

Vídeo qué es una VPN

Vídeo donde describo qué es una VPN:

OpenVPN

OpenVPN es un software opensource que permite crear un punto=servidor central al que se pueden conectar otros dispositivos cliente. Y una vez conectados, entre estos dispositivos se crea una red que los conecta virtualmente de forma directa, es decir, sin estar conectados directamente por un cable físico.
Además, toda la comunicación que fluye a través de esta conexión está cifrada.

La Red Privada Virtual es útil, por ejemplo, en los casos en los que no disponga de una dirección IPv4 pública y, por tanto, no pueda acceder fácilmente a los PC en cuestión. Una VPN te facilitará el acceso.

Hay más formas de utilizar OpenVPN, por lo que es necesaria una introducción más detallada al principio.

Puede iniciar sesión en el VPNcei con un nombre y contraseña o con un certificado. Recomiendo usar un certificado en su lugar. La utilidad easy-rsa se utiliza para generar autoridad, claves y certificados tanto para el servidor como para los clientes.

También existen distribuciones de Linux prediseñadas para routers que incluyen OpenVPN. Estas soluciones suelen tener una interfaz de administración basada en web que hace que añadir y editar usuarios VPN sea muy cómodo.

Se trata, por ejemplo, de OPN sense, PF sense o Pritunl.

Instalación de OpenVPN

Dado que OpenVPN es una solución opensource, es posible ejecutar esta VPN no sólo en Linux, sino también en MS Windows y muchos otros sistemas operativos.
Describiré la instalación para Windows y Linux.

Instalación de OpenVPN en Linux

En Linux realiza la instalación fácilmente.
Comando de instalación de Mageia:

urpmi openvpn
Un comando para instalaciones en la distribución Debian:
apt-get install openvpn
Esto instalará el OpenVPN completo, que puedes ejecutar tanto en modo cliente como servidor.

Instalación de OpenVPN Windows

Descargue el cliente de Windows aquí. Descarga la versión servidor/completa de OpenVPN para Windows aquí. Por supuesto, tienes que elegir el instalador adecuado para Windows, según la arquitectura de tu procesador. También tienes la opción de descargar otras versiones anteriores.

Tuve un problema con la generación de certificados cuando instalé OpenVPN en Windows en 2019. Se trataba de la versión 2.4.6-I602 del instalador de OpenVPN. Hubo algunos cambios al respecto en la versión de windows. Mi problema se solucionó finalmente instalando la versión anterior. Utilicé el instalador de OpenVPN versión 2.3.18, que incluía el easy-rsa y openssl completos de la versión original y todo funcionaba. La configuración y generación de certificados fue como se describe en la documentación original y todo funcionó.

Hay que tener en cuenta que el SO Windows no es apto para ejecutar ninguna aplicación de servidor e incluso instalando OpenVPN, su funcionamiento y posterior gestión del PC será más laborioso. Por ello, si es posible, opte por Linux u otro Unix.

Configuración de OpenVPN

Puede configurar OpenVPN en modo servidor o cliente. Un único ordenador con una dirección IP pública se utiliza como servidor, y luego otros dispositivos=clientes se conectan a este PC. No se puede prescindir de una dirección IP pública. Alternativamente, usted necesita ser capaz de reenviar el puerto en el router que tiene la dirección IP pública.

Tanto si estás configurando un cliente como un servidor necesitas tener un fichero de configuración con contenido válido. E idealmente colocarlo en el directorio esperado. En Linux esto es típicamente ,/etc/openvpn.

Configuración del servidor OpenVPN

Ejemplo de configuración del servidor:

puerto 1194
proto udp
dev tun0
ca easy-rsa/keys/ca.crt #certificado de autoridad de certificación
cert easy-rsa/keys/server.crt #certificado del servidor
key easy-rsa/keys/server.key #marcado
dh easy-rsa/keys/dh1024.pem

comp-lzo

servidor 192.168.101.0 255.255.255.0
ifconfig-pool-persist /var/lib/openvpn/ip.txt
cliente-a-cliente


log-append /var/log/openvpn.log
status /var/run/openvpn/vpn.status 10

Por supuesto, necesitas habilitar el puerto apropiado en el firewall.

Configuración del cliente OpenVPN

Ejemplo de configuración de cliente:

#dirección del servidor
remoto 147.32.117.1 1194

#cliente-tls
cliente
dev tun0

pull
proto udp
silenciar 10

ca ca.crt
cert perro.crt
key perro.key

#compresión
comp-lzo
#eficiencia de registro
verbo 3

servidor ns-cert-type

log-append /var/log/openvpn.log

A continuación, puede iniciar el cliente manualmente o mediante systemd.

Generación de claves

Un video tutorial que muestra como generar claves usando easy-rsa. Easy-rsa es un conjunto de comandos que llaman al programa openssl que permite generar claves , certificados, firmar etc.... Las claves se generan para que luego puedan ser utilizadas por la VPN OpenVPN.

La generación de claves es universal independientemente del SO. Esta guía también es universal. Sin embargo, como trabajar con Windows es más complicado, he implementado la demo en Windows para que los usuarios de Windows tengan un tutorial.

Instalación de una VPN personalizada

Si instalar una VPN es demasiado complicado para ti o necesitas una solución personalizada, te ofrezco consulta e instalación de OpenVPN.

Otros recursos

Puedes utilizar la web y documentación oficial de OpenVPN como principal fuente de información.

Si te ocupas de otras cosas en el ámbito de la instalación y configuración de servidores Linux, puedes inspirarte en los apuntes de mi ebook gestión de servidores Linux

Artículos sobre un tema similar

Uso de la clave de cifrado por hardware GoTrust de MojeID en Linux
Gestor de contraseñas Bitwarden

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+