Comandos básicos para WireGuard

Publicado por P. Ruiz en

VPNLlevamos algunos artículos dedicados a la instalación y configuración de un servidor WireGuard, que nos permita crear una VPN. De este modo, podremos realizar conexiones seguras a nuestra red local desde entornos que nos resulten no confiables.

Hoy ha llegado el momento de que empecemos a ver cómo administrar las configuraciones de los equipos que actuarán como clientes de la red (los que usaremos para conectarnos de forma remota) y otras configuraciones, que pueden hacerse de una forma sencilla desde la línea de comandos del servidor.

Para ello, comenzaremos ofreciéndote un cuadro resumen de los comandos que podemos usar y, más adelante, comprobaremos el funcionamiento de algunos de ellos, para que veas lo fácil que resulta utilizarlos.

El cuadro resumen es este:

Comandos-basicos-para-WireGuard-001

Crear el archivo de configuración de un cliente

Una de las mayores ventajas de WireGuard es que facilita mucho la tarea de configuración de equipos deban conectarse desde fuera de la red local. Para lograrlo, el servidor dispone de un mecanismo que permite generar archivos de configuración personalizados para cada uno de esos clientes.

Se trata de una tarea muy sencilla que se puede hacer con una orden en la terminal del servidor, o desde la interfaz web que aprendimos a instalar hace unos días. Hoy aprenderemos el primer método.

Para conseguirlo, usaremos este comando:

pivpn add

o bien,

pivpn -a

Al hacerlo, deberemos escribir un nombre para el cliente y, solo con eso, habremos completado la tarea.

Comandos-basicos-para-WireGuard-002

El nombre del archivo generado estará formado por el texto anterior y la extensión .conf. En nuestro ejemplo, prueba01.conf.

En cuanto al lugar donde se almacena el archivo, podremos encontrarlo en dos lugares:

  1. En una carpeta llamada configs, dentro del perfil de la cuenta de usuario que se creó durante el proceso de instalación de PiVPN (Puedes consultar el artículo Instalar WireGuard en un contenedor Proxmox VE. Parte 2).

    En mi caso, esa cuenta se llamaba, precisamente, usuario, por lo que, para ver su contenido, podremos usar un comando como este:

    ls -l /home/usuario/configs

    … Y comprobamos que, efectivamente, esto es así.

    Comandos-basicos-para-WireGuard-003

    De este modo, los archivos que deberán enviarse a los usuarios, estarán en un lugar accesible.

  2. En una carpeta llamada configs, dentro de la carpeta /etc/wireguard.

    Como antes, puedes consultar su contenido contenido con este comando:

    ls -l /etc/wireguard/configs

    Aquí vemos el contenido de la carpeta /etc/wireguard/configs de nuestro ejemplo.

    Comandos-basicos-para-WireGuard-004

    En realidad, estos son los archivos originales y podemos considerar los anteriores como meras copias de trabajo.

    Además, puedes ver en la imagen anterior un archivo llamado clientx.txt, que contiene la configuración específica de todos los clientes en PiVPN. Cada vez que creamos un nuevo archivo de configuración, para un cliente, se añqade su información específica a este archivo.

    Por otro lado, los certificados y claves relacionados con la infraestructura de seguridad se almacenan en /etc/wireguard/keys, para asegurar su integridad y confidencialidad.

Obtener los archivos de configuración

Para que un cliente pueda conectarse a la VPN, necesitará su archivo de configuración correspondiente.

Una forma sencilla de obtenerlo es, desde otro ordenador de la red local, usando el comando scp, cuando estamos usando GNU/Linux, o con el programa WinSCP, si somos usuarios de Windows.

Ambas opciones las hemos tratado ya en  SomeBooks.es. Puedes consultar, por ejemplo, los artículos siguientes artículos:

Una vez descargados en un ordenador con un sistema operativo de escritorio, solo tendríamos en enviarlos, por ejemplo usando correo electrónico, al usuario que vaya a utilizarlos.

De cualquier modo, si el usuario en cuestión piensa utilizar un dispositivo móvil, tenemos la opción de realizar una configuración rápida usando un código QR. Este código podemos obtenerlo directamente en el servidor, escribiendo el siguiente comando:

pivpn qrcode prueba01

O bien,

pivpn -qr prueba01

Lógicamente, en ambos casos deberás cambiar el texto prueba01 por el nombre que le hayas dado a tu cliente.

La terminal mostrará una salida como esta, que podrá escanearse directamente desde la aplicación cliente del dispositivo.

Comandos-basicos-para-WireGuard-005

(Hablaremso más detenidamente de esta opción, en los artículos dedicados a pa parte cliente de esta instalación.

Comprobar la lista completa de clientes

En nuestra instalación inicial, solo tenemos un cliente, pero lo normal es que, según avance el tiempo, su número vaya creciendo.

Si en un momento necesitamos comprobar qué usuarios hemos configurado, basta con usar un comando como este.

pivpn list

Y, como antes, también tenemos la versión reducida:

pivpn -l

En ambos casos, obtendremos una lista como la siguiente…

… Y, como puedes ver, ya hemos creado algunos archivos de conexión más.

Comandos-basicos-para-WireGuard-006

Eliminar conexiones de clientes

Si, en algún momento, necesitamos eliminar la conexión de uno de los clientes, bastará con ejecutar un comando como este:

pivpn remove prueba01

Que también tiene una versión abreviada

pivpn -r prueba01

PiVPN nos pedira confirmación y, si respondemos afirmativamente, procederá a eliminarlo.

Comandos-basicos-para-WireGuard-007

Como ves en la tabla de arriba, aún nos quedan algunos comandos más, pero considero que estos son los más importantes. Espero que te haya resultado útil la explicación.

Puedes consultar todos los artículo publicados en  SomeBooks.es sobre WireGuard en este enlace.