WireGuard (II): Crear un cliente

Aprende a crear un cliente para conectarte a tu servidor de WireGuard de manera sencilla

WireGuard (II): Crear un cliente
WireGuard: Fast, modern, secure VPN tunnel

En una entrada anterior expliquΓ© quΓ© es y cΓ³mo instalar de manera sencilla WireGuard en nuestro servidor. En esta entrada veremos cΓ³mo crear un cliente para poder conectarnos a nuestra VPN de manera remota.

Para esta entrada daremos por sentado que nuestro WireGuard ha sido instalado a travΓ©s de PiVPN, como cuento en mi anterior entrada.

Partiremos de un servidor de WireGuard instalado gracias a Multipass (ya os hablarΓ© de ello, lo estoy preparando 😊). Γ‰ste tiene configurado el puerto por defecto de WireGuard: el 51820. Como podΓ©is ver, el servidor se encuentra escuchando ya en la red local y en su propia red de VPN:

wireguard    Running    192.168.64.5    Ubuntu 20.04 LTS
                        10.6.0.1
IP de Multipass donde estΓ‘ WireGuard alojado

Clientes para WireGuard

Hoy en dΓ­a hay aplicaciones para conectarse a un servidor WireGuard para todas las plataformas y de todos los gustos. Personalmente, me gusta usar los clientes oficiales siempre que puedo, pero dejo a vuestra elecciΓ³n que usΓ©is el que mΓ‘s os guste.

Dar de alta un cliente nuevo

Lo bueno de usar PiVPN es que se nos facilita muchΓ­simo el control de nuestro servidor VPN. De hecho, al ejecutar el comando pivpn --help, veremos todas las opciones de que disponemos, y que son mΓ‘s que suficientes para su gestiΓ³n.

::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Commands:
:::    -a, add              Create a client conf profile
:::    -c, clients          List any connected clients to the server
:::    -d, debug            Start a debugging session if having trouble
:::    -l, list             List all clients
:::   -qr, qrcode           Show the qrcode of a client for use with the mobile app
:::    -r, remove           Remove a client
:::  -off, off              Disable a user
:::   -on, on               Enable a user
:::    -h, help             Show this help dialog
:::    -u, uninstall        Uninstall pivpn from your system!
:::   -up, update           Updates PiVPN Scripts
:::   -bk, backup           Backup VPN configs and user profiles
Comandos de PiVPN

AsΓ­ pues, para dar de alta un cliente nuevo, bastarΓ‘ con usar el comando pivpn -a, y, tras introducir un nombre para Γ©l, automΓ‘ticamente se nos crearΓ‘ la configuraciΓ³n necesaria:

ubuntu@wireguard:~$ pivpn -a
Enter a Name for the Client: Android
::: Client Keys generated
::: Client config generated
::: Updated server config
::: WireGuard reloaded
======================================================================
::: Done! Android.conf successfully created!
::: Android.conf was copied to /home/ubuntu/configs for easy transfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================
CreaciΓ³n de un nuevo cliente

Una vez dado de alta un cliente nuevo, su configuraciΓ³n se encontrarΓ‘ en la carpeta configs del usuario que hayamos configurado en la instalaciΓ³n del servidor, en mi caso /home/ubuntu/configs. AllΓ­, veremos que tenemos un fichero de configuraciΓ³n llamado como nuestro cliente: Android.conf. Su contenido serΓ‘ similar a:

[Interface]
PrivateKey = uJN/8P3R51fqWy+N8kzBIYIAEIKyK7bPA1ZwnVCKn0o=
Address = 10.6.0.2/24
DNS = 94.140.14.14, 94.140.15.15

[Peer]
PublicKey = GE65qUx+HUu6ED4tYsS95YtAxMwu5RJfvwP2SHZqbV0=
PresharedKey = f/mnQhyhrcraLXJJPAx3XOQMBKmSB0VXrK4Xa/9YaEk=
Endpoint = 192.168.64.5:51820
AllowedIPs = 0.0.0.0/0, ::0/0
ConfiguraciΓ³n del cliente Android.conf

Como veis, es un fichero muy sencillo. En el apartado Interface tenemos la clave que usarΓ‘ el cliente, la direcciΓ³n IP que tomarΓ‘ al conectarse a nuestro servidor VPN y las direcciones DNS que usarΓ‘ (por si no las conocΓ©is, para el ejemplo estoy usando los servidores de AdGuard DNS, que sirven para filtrar anuncios y bloquear rastreos... Β‘Da para una entrada nueva! πŸ“).

En el apartado de Peer, tenemos la clave pΓΊblica de nuestro servidor, asΓ­ como su PresharedKey. AdemΓ‘s, vemos un Endpoint y las direcciones IP permitidas, que en nuestro ejemplo son todas (ya que querremos conectarnos desde cualquier sitio). En este apartado. deberemos modificar el Endpoint poniendo, o bien nuestra IP pΓΊblica del servidor (si Γ©sta es fija), o bien nuestra direcciΓ³n DDNS. Por ejemplo: En mi casa mi servidor VPN estΓ‘ en una RaspberryPi, pero obviamente, no tengo IP pΓΊblica estΓ‘tica, con lo que hago uso de DuckDNS para poder tenerlo siempre localizado. AsΓ­, deberΓ© reemplazar 192.168.64.5:51820 por midominio.duckdns.org:51820. Es importante recordar que el puerto debe ser abierto en nuestro router si queremos poder conectarnos desde fuera.

Una vez hemos hecho la modificaciΓ³n en nuestro fichero de configuraciΓ³n del cliente, deberemos enviarlo al dispositivo cliente (por Bluetooth, por SFTP, Airdrop... lo que queramos, pero que sea seguro y, a ser posible, sin intermediarios) y allΓ­ importarlo en la aplicaciΓ³n (en el caso de MacOS, por ejemplo, mediante la opciΓ³n Importar tΓΊneles desde archivo).

Sin embargo, como podΓ©is ver mΓ‘s arriba, tenemos una opciΓ³n mucho mΓ‘s cΓ³moda para dispositivos mΓ³viles. Si hemos instalado la aplicaciΓ³n oficial de WireGuard (en otras no sΓ©, pero supongo que tambiΓ©n estarΓ‘), veremos que tenemos la opciΓ³n de importar la configuraciΓ³n mediante un cΓ³digo QR. Pero... ΒΏcΓ³mo podemos hacer esto? Pues de manera tan sencilla como usar el comando pivpn -qr. A continuaciΓ³n seleccionamos el cliente que queremos y Β‘listo!. Veremos cΓ³mo se nos genera un cΓ³digo QR que podremos usar desde el mΓ³vil directamente:

ubuntu@wireguard:~/configs$ pivpn -qr
::  Client list  ::
1) Android
Please enter the Index/Name of the Client to show: 1
::: Showing client Android below
=====================================================================
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–„β–„β–„β–„β–„ β–ˆβ–ˆβ–„β–ˆβ–ˆ β–„β–„β–ˆβ–€β–„β–€β–„β–€ β–„ β–€β–ˆβ–„β–ˆ β–„β–„ β–„β–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆ β–ˆβ–ˆ β–ˆ  β–ˆ β–„β–„β–„β–„β–„ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–ˆ   β–ˆ β–ˆβ–€β–ˆβ–€β–ˆβ–ˆβ–ˆβ–€β–€β–„β–ˆβ–ˆβ–ˆβ–€  β–ˆβ–€β–€ β–„β–„β–ˆβ–€β–„β–€β–„β–„ β–„β–€β–€β–„β–€β–€ β–„β–€β–„β–„β–ˆ β–ˆ β–„ β–ˆ β–ˆ   β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–„β–„β–„β–ˆ β–ˆβ–„ β–ˆ  β–„ β–€β–ˆβ–„β–€β–„β–€β–„β–€β–ˆβ–ˆβ–„β–€β–ˆ β–„β–„β–„ β–„β–„β–ˆβ–€β–ˆβ–„β–„β–„ β–€β–€β–€β–ˆβ–€β–„β–€β–ˆ β–„β–ˆβ–ˆ β–ˆβ–„β–„β–„β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„β–„β–„β–„β–„β–„β–„β–ˆβ–„β–€β–„β–€β–„β–€ β–ˆ β–€ β–ˆ β–€β–„β–ˆβ–„β–€β–„β–€ β–ˆβ–„β–ˆ β–ˆ β–ˆβ–„β–ˆ β–€β–„β–€β–„β–ˆβ–„β–ˆ β–ˆ β–ˆβ–„β–ˆβ–„β–ˆβ–„β–„β–„β–„β–„β–„β–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ  β–€β–€β–€β–„β–„β–„β–ˆ β–€ β–ˆβ–€  β–ˆβ–€ β–€β–ˆ β–„β–ˆβ–€β–ˆ β–€ β–„  β–„β–€ β–„ β–„ β–ˆβ–ˆβ–ˆβ–€β–„β–ˆβ–ˆ β–€β–ˆβ–€β–€β–ˆβ–„β–€β–€β–ˆβ–„ β–€β–ˆβ–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„ β–€β–€β–„ β–€β–€β–ˆβ–€β–„β–€β–„β–„β–„β–€ β–€ β–„ β–ˆβ–ˆβ–ˆβ–€β–€β–„β–„β–€ β–ˆβ–ˆ β–ˆβ–€β–ˆ  β–€β–€β–€β–€ β–ˆβ–€β–ˆβ–„β–„β–„β–ˆβ–„β–€β–€β–„β–€β–€β–ˆ β–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„β–„ β–€β–„β–„β–€β–„β–€β–ˆβ–ˆ β–ˆβ–ˆβ–„β–ˆβ–ˆβ–„β–„ β–ˆ β–€ β–€β–„β–ˆβ–„β–ˆ  β–„β–„β–€β–ˆβ–„β–€β–ˆβ–€β–„β–„β–ˆβ–€ β–ˆβ–€β–„β–€ β–ˆβ–„β–ˆβ–„   β–„ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–€ β–ˆβ–„ β–€β–„β–€β–€β–€β–ˆβ–€β–€β–€β–€β–ˆ β–€β–ˆβ–„β–€β–„β–€β–€β–ˆβ–€β–„β–€β–€β–„β–„β–€β–„β–„β–ˆβ–€β–„β–€  β–„β–ˆβ–ˆβ–€ β–€β–€β–„β–€β–„ β–„ β–ˆβ–ˆβ–€β–ˆ β–„β–ˆβ–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„   β–€β–ˆβ–„β–„β–ˆβ–€β–„β–„β–ˆβ–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–ˆβ–€β–ˆ β–€β–ˆβ–€β–„β–„β–€ β–€β–ˆβ–€β–„  β–€β–„ β–ˆβ–„β–ˆβ–€ β–€β–ˆ  β–„ β–€β–ˆβ–„β–ˆβ–€ β–„β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–„ β–ˆβ–€β–ˆβ–„β–ˆβ–€β–€β–„ β–€β–€β–€β–ˆβ–„β–„β–„β–„β–€  β–ˆ β–„ β–ˆβ–„β–€ β–ˆβ–„β–ˆβ–ˆ  β–ˆβ–€β–€β–„β–ˆ β–„β–„β–€β–ˆβ–ˆ β–ˆβ–ˆβ–„β–€β–„β–€ β–ˆβ–€β–ˆ β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„ β–„β–„ β–€β–„  β–„β–€β–€β–ˆβ–„β–€β–„β–€β–„β–€β–ˆβ–€β–ˆβ–€ β–€β–ˆ β–ˆβ–„β–ˆ β–ˆ β–ˆβ–„β–„  β–€β–ˆβ–€β–„β–„β–€ β–€β–ˆβ–€β–ˆ β–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–€β–€β–„ β–€β–ˆβ–„β–„ β–„β–ˆβ–ˆβ–„β–„β–ˆ β–€ β–ˆβ–ˆβ–€β–€β–ˆβ–ˆβ–„β–„β–ˆ β–ˆβ–ˆβ–€β–€β–„β–„ β–„β–€β–€β–ˆβ–„β–„β–ˆβ–„β–€β–€β–ˆβ–„β–ˆβ–„β–ˆ β–ˆβ–€β–€β–ˆβ–€β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„β–ˆβ–ˆβ–€β–„β–ˆβ–„β–€β–ˆβ–ˆ β–„β–„ β–€β–„β–€β–ˆβ–€β–ˆβ–„β–„β–€β–ˆβ–€β–ˆ β–ˆβ–€β–„β–ˆβ–„β–ˆ β–ˆβ–„β–„β–€β–€  β–ˆβ–€β–€β–„β–„β–€β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–€ β–ˆ β–„β–ˆ β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–€β–„β–€β–ˆβ–€β–„β–ˆβ–€ β–€β–€β–€β–„β–„β–ˆ β–„ β–„β–€β–„β–„β–ˆβ–€β–ˆβ–€β–„β–ˆβ–„β–ˆβ–€ β–„β–€β–„β–ˆβ–ˆβ–€β–„ β–„β–€β–„β–€β–ˆ β–ˆβ–„β–ˆ β–ˆ β–€β–ˆβ–€β–ˆβ–€β–€ β–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ β–„β–„β–„  β–ˆβ–ˆβ–„ β–ˆβ–€β–„β–„β–„β–„β–ˆ β–ˆβ–€β–€β–„β–ˆβ–ˆ β–„β–„β–„ β–ˆβ–„β–€β–„ β–„ β–„β–ˆ β–€β–€β–ˆ β–„β–€β–ˆ β–ˆ β–„β–„β–„ β–ˆβ–€β–„β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„  β–ˆβ–„β–ˆ  β–€ β–€β–„ β–ˆβ–ˆ β–€β–„β–€β–„β–„β–€β–€ β–€β–„ β–ˆβ–„β–ˆ β–„β–ˆ β–ˆβ–„β–ˆ  β–„β–„β–„β–„β–ˆ β–„β–„β–ˆ β–ˆ β–ˆβ–„β–ˆ β–ˆβ–€ β–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–€β–ˆβ–ˆβ–ˆ β–„β–„  β–€ β–€β–ˆβ–ˆβ–€ β–ˆβ–€β–ˆ β–€β–„β–€β–ˆβ–„β–„ β–„β–„  β–„ β–„β–„β–€β–„ β–€β–„β–ˆ β–€β–ˆβ–„β–ˆβ–€β–„ β–ˆβ–„β–„  β–„  β–„β–„β–ˆβ–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„β–€β–ˆβ–ˆβ–„ β–„β–„β–€β–€β–ˆβ–„β–„ β–„  β–€β–„β–„β–ˆ  β–„ β–ˆβ–€β–€β–ˆβ–€ β–€β–ˆβ–„β–€β–€ β–„β–ˆβ–„β–ˆβ–ˆβ–„β–€β–€β–„   β–ˆβ–€β–„β–ˆβ–ˆβ–„β–„ β–€β–€ β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–„ β–€β–„ β–„β–€β–„    β–€β–ˆβ–ˆβ–ˆ  β–„β–„β–„β–„ β–€β–„β–ˆβ–€β–ˆβ–„β–ˆ β–ˆ  β–ˆβ–ˆβ–„β–ˆβ–ˆβ–ˆβ–ˆ β–„β–ˆβ–„β–„β–€ β–€ β–ˆ β–€ β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–€β–ˆβ–„ β–„β–€ β–ˆ β–€β–ˆ β–€β–„ β–€  β–„ β–„β–ˆβ–ˆβ–€β–€  β–€β–€β–€β–„β–„β–€β–ˆβ–€β–ˆβ–ˆβ–„β–ˆβ–ˆβ–„ β–„β–ˆβ–€β–ˆβ–€β–ˆβ–ˆβ–€β–„β–ˆβ–ˆβ–ˆ   β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆ β–ˆβ–€β–„β–ˆβ–ˆβ–€β–„β–ˆβ–€β–„β–„β–„ β–€ β–€β–€β–„β–„β–ˆ β–ˆβ–ˆβ–„β–€β–„ β–ˆβ–„ β–„ β–„β–„β–ˆ β–€β–€ β–„β–ˆβ–ˆβ–€β–„β–„ β–ˆ β–„β–€β–„β–€β–ˆβ–ˆβ–„β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€ β–„β–ˆβ–ˆβ–„β–ˆβ–„ β–„β–€β–ˆβ–€β–€β–ˆβ–„β–ˆ  β–€β–„ β–ˆβ–„ β–„β–„β–ˆ β–ˆ β–„β–„ β–„β–ˆβ–„β–„β–„β–„β–€ β–„ β–„β–„β–„β–€β–ˆβ–€β–ˆβ–€β–€β–„β–€β–„β–ˆβ–„β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–€β–„ β–€β–ˆβ–„β–„β–ˆ β–„β–„β–ˆ β–ˆβ–€β–€  β–„β–„β–ˆβ–€β–€ β–€β–€β–ˆβ–€β–„β–€ β–„β–ˆβ–ˆ β–€β–„   β–€β–ˆβ–€ β–ˆβ–ˆ β–€ β–„β–€ β–€β–€β–„  β–ˆ β–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„β–ˆβ–ˆβ–ˆβ–„β–„β–„β–€β–„β–„β–„β–€β–ˆβ–ˆβ–€β–ˆβ–ˆβ–„β–ˆ β–ˆ β–ˆβ–ˆβ–€β–„β–„β–„β–€β–„β–ˆβ–ˆβ–„ β–ˆβ–€ β–„ β–ˆβ–„ β–€β–ˆβ–„β–ˆβ–€β–ˆβ–ˆβ–ˆ β–„β–„β–„ β–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„ β–€β–€β–„ β–€β–„β–„ β–„β–ˆ β–ˆβ–„β–„β–„  β–ˆβ–ˆβ–€β–„β–„β–„  β–„ β–ˆ β–€β–ˆ  β–€β–ˆβ–€ β–ˆβ–€β–ˆβ–„β–„β–„β–€ β–ˆ β–„β–„β–„ β–„β–ˆβ–„  β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–€β–€ β–„ β–„β–„β–„β–„β–„β–ˆβ–€β–ˆ β–€β–ˆβ–€β–ˆβ–„β–„β–„β–ˆβ–„β–„ β–€β–„ β–€β–€ β–€β–ˆβ–„β–€β–ˆβ–€β–„β–„ β–€β–ˆβ–„β–ˆβ–„β–ˆβ–„β–ˆ β–„β–€β–„β–„β–ˆ β–ˆ  β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„β–„β–„β–„β–ˆβ–ˆβ–„β–„ β–ˆβ–€β–€β–ˆβ–ˆβ–„β–„   β–€β–„ β–€β–„β–„β–„β–„β–ˆ β–„β–„β–„ β–€β–€β–€β–€ β–ˆ β–„ β–„β–„ β–ˆβ–ˆβ–€β–„ β–„  β–„β–„β–„ β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–„β–„β–„β–„β–„ β–ˆ  β–€ β–€  β–ˆ β–ˆβ–ˆβ–„β–„β–„β–€β–ˆ  β–„β–€ β–ˆβ–„β–ˆ β–„β–€β–„β–„β–ˆβ–ˆ β–„β–„ β–ˆ β–ˆβ–„ β–€ β–ˆ  β–ˆβ–„β–ˆ  β–„  β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–ˆ   β–ˆ β–ˆβ–ˆβ–€β–€  β–„β–„β–„ β–„β–€β–„β–€β–„β–„β–€β–ˆ   β–„β–„β–„ β–„β–€β–€β–€  β–ˆ β–„β–ˆ β–€β–€β–€β–ˆβ–ˆβ–ˆβ–€ β–„ β–„β–„β–„ β–„β–„β–„β–€β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–„β–„β–„β–ˆ β–ˆβ–€β–ˆ  β–€ β–ˆβ–„ β–ˆβ–„β–„β–ˆ  β–„ β–€β–ˆ β–€β–ˆβ–„β–€β–ˆβ–ˆβ–€β–€β–ˆβ–ˆ β–„ β–„β–ˆ  β–„ β–ˆβ–„β–ˆβ–„β–€β–€β–ˆβ–ˆ  β–„β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–„β–„β–„β–„β–„β–„β–„β–ˆβ–„β–ˆβ–„β–„β–ˆβ–ˆβ–ˆβ–„β–ˆβ–ˆβ–„β–„β–ˆβ–ˆβ–„β–ˆβ–„β–ˆβ–„β–ˆβ–„β–ˆβ–ˆβ–„β–ˆβ–ˆβ–ˆβ–„β–ˆβ–ˆβ–ˆβ–ˆβ–„β–ˆβ–„β–ˆβ–„β–ˆβ–„β–ˆβ–ˆβ–ˆβ–„β–„β–ˆβ–ˆβ–„β–„β–ˆβ–„β–„β–ˆβ–„β–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
=====================================================================
CΓ³digo QR generado para nuestro cliente Android

Dar de baja un cliente

Supongamos que nuestro dispositivo mΓ³vil ya no nos hace falta mΓ‘s, lo hemos cambiado por otro mejor, lo hemos perdido, nos lo han robado... Sea lo que sea, y queremos, por seguridad, dar de baja ese cliente. SerΓ‘ tan sencillo como usar el comando pivpn -r y listo.

Eliminar un cliente supone borrar su configuraciΓ³n por completo, por lo que si lo queremos volver a usar, habrΓ‘ que dar de alta un cliente nuevo.

ubuntu@wireguard:~/configs$ pivpn -r
::  Client list  ::
1) Android
2) MovilViejo
Please enter the Index/Name of the Client to be removed from the list above: 2
Do you really want to delete MovilViejo? [y/N] y
::: Updated server config
::: Client config for MovilViejo removed
::: Client Keys for MovilViejo removed
::: Successfully deleted MovilViejo
::: WireGuard reloaded
Eliminando un cliente de nuestro servidor VPN

Habilitar o deshabilitar un cliente

En lugar de eliminarlo por completo, tambiΓ©n podemos deshabilitar de manera temporal un usuario o un dispositivo. Para ello, usaremos el comando pivpn -off y automΓ‘ticamente ese cliente no podrΓ‘ conectarse a nuestro servidor hasta que volvamos a habilitarlo, mediante el comando pivpn -on.

Ver los clientes conectados

Para ver el listado de clientes que tenemos registrados y los que, actualmente, estΓ‘n conectados a nuestro servidor, podemos hacer uso de los comandos pivpn -l y pivpn -c, respectivamente:

ubuntu@wireguard:~/configs$ pivpn -l
::: Clients Summary :::
Client          Public key                                        Creation date
Android         QbsCOfEhnkhFtoggYrrlZ09X5gKvR8l/S8OxcO1bEh4=      19 Feb 2022, 20:55, CET
MovilViejo      IcEcohcd1EGBeYQV+QgJfND+S4TB4UPjepldxoV6pjE=      19 Feb 2022, 21:27, CET
::: Disabled clients :::
[disabled]   MovilViejo
Listado de clientes activos e inactivos
ubuntu@wireguard:~/configs$ pivpn -c
::: Connected Clients List :::
Name         Remote IP      Virtual IP      Bytes Received      Bytes Sent      Last Seen
Android      (none)         10.6.0.2        0B                  0B              (not yet)
::: Disabled clients :::
[disabled]   MovilViejo
Listado de clientes conectados en ese momento o ΓΊltima hora de conexiΓ³n

Crear copias de seguridad de clientes y configuraciΓ³n

Por ΓΊltimo, es ΓΊtil tener una copia de seguridad de nuestros clientes , sus claves pΓΊblicas y privadas, y de la configuraciΓ³n del servidor, ya que en caso de necesitar realizar una reinstalaciΓ³n o mover todo a un nuevo servidor, no querremos volver a configurar todo desde 0 y dar de alta todos los clientes de nuevo, ΒΏno?

Para hacer un backup de todo esto, PiVPN nos lo pone bastante fΓ‘cil. BastarΓ‘ con usar el comando pivpn -bk y automΓ‘ticamente nos crearΓ‘ un ZIP con todo lo necesario para una migraciΓ³n de nuestro servidor VPN.

ubuntu@wireguard:~/configs$ pivpn -bk
Backup created in /home/ubuntu/pivpnbackup/20220219-213035-pivpnwgbackup.tgz
To restore the backup, follow instructions at:
https://docs.pivpn.io/wireguard/#migrating-pivpn-wireguard
CreaciΓ³n de la copia de seguridad de nuestro servidor WireGuard

Si accedemos a la ruta que nos muestra y descomprimimos dicho ZIP (que, por cierto, se genera para el usuario root, por temas de seguridad), veremos que contiene lo siguiente:

ubuntu@wireguard:~/pivpnbackup$ sudo tar xvzf 20220219-213035-pivpnwgbackup.tgz
etc/wireguard/
etc/wireguard/keys/
etc/wireguard/keys/Android_pub
etc/wireguard/keys/server_priv
etc/wireguard/keys/Android_priv
etc/wireguard/keys/Android_psk
etc/wireguard/keys/server_pub
etc/wireguard/configs/
etc/wireguard/configs/clients.txt
etc/wireguard/configs/Android.conf
etc/wireguard/wg0.conf
home/ubuntu/configs/
home/ubuntu/configs/Android.conf
Contenido de nuestro fichero de backup

Como podΓ©is ver, estΓ‘n tanto las configuraciones del servidor de WireGuard (claves privadas, claves pΓΊblicas de los peer, configuraciΓ³n del servidor en sΓ­...) como las configuraciones de los clientes, cada una dentro de su directorio original. De forma que nos es muy sencillo migrar todo a un servidor nuevo sin necesidad de configurar todo de nuevo πŸ˜€.

Β‘Y hasta aquΓ­ la segunda parte del tutorial! Espero que os sea muy ΓΊtil y si tenΓ©is alguna duda, no dudΓ©is en dejar un comentario o contactarme por cualquiera de las vΓ­as que tengo publicadas, que os responderΓ© encantado (si tardo no os preocupΓ©is, lo hago en cuanto puedo).

Si te ha gustado la entrada, o te ha sido ΓΊtil y quieres ayudarme a pagar los gastos que conlleva el servidor y mantener asΓ­ el blog libre completamente de anuncios, puedes hacer una donaciΓ³n en Bitcoin en la siguiente direcciΓ³n:

Donar