Skip to main content

Añadir un cliente a WireGuard

Si ya esta el servidor encendido y no queremos pararlo, podemos añadir clientes/pares con el siguiente comando.

Creamos las claves privadas y publicas del cliente (necesitamos entrar en root)

wg genkey > /etc/wireguard/keys/cliente.key

cat /etc/wireguard/keys/cliente.key | wg pubkey

Y lo añadimos con lo siguiente.

sudo wg set wg0 peer [CLAVE_PUBLICA_CLIENTE] allowed-ips [IP_CIP_CLIENLIENTE_VPN]TE_VPN]

Para empezar vamos a crear una carpeta que almacene las claves.

image.png

Y dentro del directorio le otorgamos permisos predeterminados para que solo el usuario pueda entrar a los documentos.

image.png

Creamos las claves privadas y publicas del cliente (necesitamos entrar en root)

wg genkey > /etc/wireguard/keys/cliente.key

cat /etc/wireguard/keys/cliente.key | wg pubkey

image.png

Ahora nos vamos al archivo wg0.conf y añadimos lo siguiente.

image.png

Ahora encendemos el servidor y comprobamos el estado.

image.png

image.png

image.png

Ahora tenemos que irnos al cliente e instalar wireguard, en mi caso iré a un iphone.

Al instalar la aplicación y entrar nos dirá de agregar un tunel.

IMG_1451.PNG

Ahora tenemos que rellenar los siguientes puntos.

Las claves son las generadas en el servidor.

La dirección es la que le asignamos en el servidor.

Puerto de escucha la misma que el servidor y en mi caso puse el DNS de google.

IMG_1454.PNG

En la parte de abajo tenemos que poner la clave pública del servidor, donde pone punto final se refiere a la ip pública del servidor junto al puerto, el IPs permitidas recomiendo siempre dejarlo en 0.0.0.0/0 a no ser que queramos otra cosa y el Keepalive nos recomienda wireguard 25 segundos pero yo pongo 35, esto sirve para que cada 35 segundos compruebe si la conexión sigue activa. Las dos opciones ultimas "Celular" y "Wi-Fi" es para que pongamos si queremos que la vpn se active automaticamente al utilizar datos o wifi.

image.png

Una vez conectados veremos lo siguiente en el apartado par.

image.png

Y si en el servidor ponemos el siguiente comando veremos como llegan las solicitudes al servidor.

image.png

Y ya tendríamos todo listo, y si haces un script que automáticamente añada el par en el servidor y le mande al usuario un archivo zip para añadirlo a la aplicación sin tocar nada?