Instalar WireGuard en un contenedor Proxmox VE. Parte 2

Publicado por P. Ruiz en

VPNHace 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.

Hacemos clic sobre el botón Start para iniciar la ejecución del contenedor.

http://somebooks.es/wp-content/uploads/2024/02/WireGuard-en-un-contenedor-Proxmox-VE-Parte-1-017.png

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

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-001

Ajustes previos

Antes de comenzar con la instalación propiamente dicha de WireGuard, es necesario realizar algunos ajustes previos en el sistema:

  1. 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.

    Escribimos la orden y pulsamos la tecla Intro.

    WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-002

  2. 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.

    De nuevo, escribimos la orden y pulsamos la tecla Intro.

    WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-003

  3. 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

    Una vez más, escribimos la orden y pulsamos la tecla Intro.

    WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-004

    Al hacerlo, el sistema nos pide la contraseña para la cuenta, por duplicado, para evitar posibles errores tipográficos.

    Creamos la contraseña según nuestras preferencias.

    WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-005

    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.

    Cuando terminemos, el sistema nos pregunta si los datos son correctos. En caso afirmativo, solo tenemos que pulsar la tecla Y y después la tecla Intro.

    WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-006

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

Como de costumbre, solo tenemos que copiarla y pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-007

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.

Nosotros, de momento, solo tenemos que pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-008

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.

Una vez leído el mensaje, volvemos a pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-009

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.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-010

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.

Como antes, leemos el mensaje y volvemos a pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-011

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.

De momento, volvemos a pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-012

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.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-013

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.

Una vez seleccionada la opción <OK>, pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-014

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.

Por lo tanto, me limito a elegir la opción <OK> y pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-015

Aún así, el asistente quiere asegurarse de que la elección es correcta.

Nos aseguramos y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-016

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.

Cuando estemos listos, elegimos la opción <OK> y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-017

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.

… elegimos la opción <OK> y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-018

Lógicamente, después tendremos que escribir nuestro dominio Duck DNS.

Lo escribimos, elegimos la opción <OK> y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-019

Como en el caso del puerto, el asistente quiere que nos aseguremos de que no hemos cometido ningún error.

Verificamos que la dirección es correcta, elegimos la opción <Yes> y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-020

A continuación se crearán las claves de cifrado.

… Pero nosotros solo tenemos que pulsar la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-021

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.

Nos damos por enterados pulsando la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-022

Aún así, el asistente nos pide que aceptemos las actualizaciones desatendidas de parches de seguridad.

Elegimos la opción <Yes> y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-023

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.

Leemos atentamente las indicaciones y pulsamos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-024

A continuación, nos recomiendan encarecidamente que reiniciemos el ordenador y nos preguntan si queremos hacerlo en estos momentos.

En mi caso, elijo la opción <Yes> y pulso la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-025

En ese momento, el asistente nos avisa de que el ordenador se va a reiniciar …

,,, y espera a que pulsemos la tecla Intro.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-026

Al hacerlo, comienza el proceso de reinicio.

Solo tenemos que esperar unos instantes.

WireGuard-en-un-contenedor-Proxmox-VE-Parte-2-027

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.