VPN: Red Privada Virtual
13 de enero de 2022Si 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 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 openvpnComando de instalación en la distribución Debian:
apt-get install openvpnEsto 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.
+