pocitacova mys ryba reprobedny letadlo cip
header

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: Red Privada Virtual

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 central = servidor al que se pueden conectar otros dispositivos = clientes. 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 los ordenadores no disponen de una dirección IPv4 pública y, por tanto, no puede acceder fácilmente a ellos. Una VPN te facilitará el acceso.

Hay más formas de utilizar OpenVPN, por lo que al principio es necesario un estudio más detallado.

Puede iniciar sesión en la VPN con un nombre y contraseña o con un certificado. Recomiendo dar preferencia al uso de un certificado. 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 OPNsense, pfSense 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 la instalación se realiza fácilmente.
Comando de instalación en la distribución Mageia:

urpmi openvpn
Comando de instalación 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:

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

comp-lzo

server 192.168.101.0 255.255.255.0
ifconfig-pool-persist /var/lib/openvpn/ip.txt
client-to-client


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
remote 147.32.117.1 1194

#tls-client
client
dev tun0

pull
proto udp
mute 10

ca ca.crt
cert dog.crt
key dog.key

#compresión
comp-lzo
#nivel de detalle del registro
verb 3

ns-cert-type server

log-append /var/log/openvpn.log

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

Generación de claves

Un videotutorial que muestra cómo 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.


+