Instalar WireGuard en un contenedor Proxmox VE. Parte 2
Hace unos días, publicábamos la primera parte de esta serie de artículos, que tienen como objetivo general la instalación de WireGuard, la herramienta VPN que nos permite acceder a nuestra red privada, desde una red pública, de una forma segura y con un rendimiento de la conexión elevado.
En nuestro caso, implementaremos la solución en el contenedor LXC que creamos en el artículo anterior, sobre un servidor Proxmox VE. No obstante, el contenido de este artículo, y el siguiente, es aplicable a cualquier ordenador que disponga de una instalación con Ubuntu Server (o una distribución GNU/Linux similar) e, incluso, a una Raspberry Pi que vayas a usar como servidor VPN en tu red doméstica.
Como recordarás, el artículo anterior terminaba cuando habíamos completado la instalación del contenedor y lo teníamos listo para iniciarlo. Hoy continuamos justo en ese punto.
Un momento después, Ubuntu Server nos pide que nos autentiquemos.
Para lograrlo, usaremos el usuario root y la contraseña que creamos durante el proceso de instalación
Ajustes previos
Antes de comenzar con la instalación propiamente dicha de WireGuard, es necesario realizar algunos ajustes previos en el sistema:
-
Lo primero será asegurarnos de que tenemos el sistema operativo completamente actualizado, algo que podemos conseguir con una orden como esta:
apt update && apt upgrade -y
Estas dos tareas, que son independientes pero están relacionadas, suelen ejecutarse por separado. Hoy, sin embargo, abreviaremos escribiéndolas en una sola línea (usando el operador &&).
Además, añadimos el argumento -y para contestar automáticamente de manera afirmativa a cualquier pregunta que nos haga el comando upgrade durante la actualización.
- Lo siguiente será instalar el comando curl, que se encarga de comprobar la conectividad con una URL y transferir (en este caso, descargar) archivos desde una dirección de Internet. En cualquier caso, su instalación es tan sencilla como escribir la siguiente orden:
apt install curl -y
Como antes, añadimos el argumento -y para contestar automáticamente de manera afirmativa a cualquier pregunta que se formule durante el proceso.
- Durante el proceso de instalación de WireGuard, deberemos elegir un usuario, que tendrá del perfil de configuración. Nosotros crearemos esa cuenta, antes de comenzar el proceso de instalación propiamente dicho. Lo haremos con la siguiente orden:
adduser usuario
Al hacerlo, el sistema nos pide la contraseña para la cuenta, por duplicado, para evitar posibles errores tipográficos.
Después, debemos escribir una serie de datos, como el nombre completo, número de habitación (despacho), teléfono de trabajo, etc. Puedes dejar en blanco los que quieras.
Llegados a este punto, estamos listos para instalar WireGuard.
Instalar WireGuard usando PiVPN
Como dijimos en la primera parte, para simplificar la instalación de WireGuard usaremos PiVPN.
Visitando su página web comprobamos que, para llevar a cabo la tarea, solo tenemos que usar la siguiente orden:
curl -L https://install.pivpn.io | bash
Esto iniciará un asistente de instalación, que nos irá realizando todas las preguntas necesarias para completar la tarea.
En el primer paso, PiVPN nos informa de que este proceso convertirá nuestra RaspBerry Pi en un servidor OpenVPN o WireGuard. Recuerda que este software se pensó originalmente para RaspBerry Pi (de ahí el mensaje), pero en la actualidad podemos usarlo sobre muchas distribuciones de GNU/Linux. Además, como ya te comenté, permite configurar dos herramientas VPN diferentes: OpenVPN y WireGuard.
A continuación, el asistente nos informa de que estamos instalando un servidor y que, por lo tanto, necesitaremos una dirección IP stática. En realidad, en mi caso, ya está resuelto (puedes consultar la primera parte de este artículo para obtener más detalles), pero cuando no sea así, el siguiente paso del asistente será configurar la red.
En mi caso, en el siguiente paso, el asistente detecta que no estoy usando IPv6. Aún así, recomienda forzar todas las conexiones IPv6 a través de la VPN. De esta forma se evita que un cliente esquive el túnel y filtre su dirección IPv6 real a cualquier servidor. No obstante, esto podría provocar que los clientes en esta situación tengan respuestas lentas cuando naveguen por redes IPv6.
Por lo tanto, nos pregunta si queremos forzar el enrutamiento de IPv6 para bloquear esa posible la fuga.
En mi caso, la respuesta será Sí (Yes) por lo que me aseguro de estar sobre la opción adecuada y pulso la tecla Intro.
Seguidamente, aparecerá un nuevo aviso donde el asistente nos informa de que, como piensa que no estoy usando Raspberry Pi OS, no va a configurar una dirección IP estática.
A continuación, el asistente nos dice que debemos elegir un usuario local para guardar las configuraciones de la VPN. Será el usuario que hemos creado en el apartado anterior.
Después, aparecerá una lista con los usuarios locales. En mi caso, solo tengo uno, pero si tuvieses varios, podrías moverte entre ellos con las teclas de cursor y seleccionar el que prefieras con la barra espaciadora. Sabrás qué usuario está seleccionado pro el asterisco que aparece entre paréntesis.
En mi caso, solo tengo que desplazarme abajo con la tecla tab, asegurarme de que está seleccionada la opción <OK> y pulsar la tecla Intro.
En el siguiente paso debemos elegir la VPN que queremos instalar. El procedimiento a seguir es como en el paso anterior. Nos aseguramos de seleccionar WireGuard y nos desplazamos a la línea inferior con la tecla tab.
A continuación le toca el turno al puerto en el que operará tu servidor VPN. De forma predeterminada será el 51820, pero puedes cambiarlo por cualquier otro, siempre que no lo estés usando para otros fines. Yo dejaré el valor predeterminado.
Aún así, el asistente quiere asegurarse de que la elección es correcta.
Después le toca el turno al proveedor DNS para los clientes de nuestra red. De nuevo, el mecanismo de selección es el mismo: cursores para elegir el adecuado, espacio para seleccionarlo y tecla tab para cambiarnos a los botones inferiores.
En el siguiente paso, nos toca decidir si los clientes usarán nuestra IP pública o un nombre DNS para conectar al servidor.
En mi caso usaré Duck DNS, un servicio gratuito con el que puedes crear tu propio subdominio de duckdns.org apuntando a tu dirección IP pública. Esto tiene dos ventanas: Es más fácil recordar el dominio que la dirección y, si la dirección IP pública que te asigna tu proveedor de Internet cambia, Duck DNS sabrá seguirle la pista.
Por lo tanto, una vez elegida la opción correcta, pulsamos la tecla tab para cambiarnos a los botones inferiores.
Lógicamente, después tendremos que escribir nuestro dominio Duck DNS.
Como en el caso del puerto, el asistente quiere que nos aseguremos de que no hemos cometido ningún error.
A continuación se crearán las claves de cifrado.
Como el servidor tendrá. como mínimo, un puerto abierto a Internet, el asistente nos recomienda tener activas las actualizaciones desatendidas, para asegurarnos de que el equipo está siempre actualizado.
Se este modo, se realizará una comprobación diaria de las actualizaciones de seguridad y las aplicará cuando sea preciso.
Ademas, nos avisa de que no se reiniciará el servidor de forma automática y, como existen actualizaciones que necesitan un reinicio para aplicarse, nos recomienda reiniciarlo de forma periódica.
Aún así, el asistente nos pide que aceptemos las actualizaciones desatendidas de parches de seguridad.
A partir de aquí, comenzamos la recta final de la instalación.
El asistente nos recomienda que ejecutemos el comando pivpn add para crear los perfiles de conexión de los clientes y que ejecutemos el comando pivpn help para conocer otras cosas que podemos hacer.
También nos recomiendan que, si encontramos algún problema, leamos la documentación con atención porque todos los mensajes incompletos o informes de errores a los creadores del producto serán ignorados o eliminados.
Finalmente, nos dan las gracias por usar PiVPN.
A continuación, nos recomiendan encarecidamente que reiniciemos el ordenador y nos preguntan si queremos hacerlo en estos momentos.
En ese momento, el asistente nos avisa de que el ordenador se va a reiniciar …
Al hacerlo, comienza el proceso de reinicio.
Cuando se complete el proceso, estaremos listos para comenzar a usar WireGuard, Pero eso será motivo para un nuevo artículo. Espero que este te haya parecido interesante.