Foro QNAP en español

Versión completa: Wireguard easy con gestión gráfica
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola

Voy a describir como instalar y configurar un docker con servicio VPN de Wireguard y una gestión visual de usuarios.


La cadena de creación por consola es la siguiente:
Código:
docker run -d --name=wg-easy --network=Dockers -e WG_HOST=ip_de_la_nas -e PASSWORD=claveEasy -v /share/DockerData/wg-easy:/etc/wireguard -p 51111:51820/udp -p 51821:51821/tcp --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl="net.ipv4.conf.all.src_valid_mark=1" --sysctl="net.ipv4.ip_forward=1" --restart unless-stopped -e WG_HOST="midominio_o_ddns.duckdns.org" -e WG_PORT="51111" -e WG_PERSISTENT_KEEPALIVE="25" weejewel/wg-easy

En la cadena he definido los siguientes parámetros:
  • "--network=Dockers" que me lo agrega a una red de docker. Si no la tenéis definida, no pongáis esa cadena de texto.
  • "-e PASSWORD=claveEasy" donde ponemos la clave de la web de gestión de usuarios.
  • "-v /share/DockerData/wg-easy:/etc/wireguard"  donde definimos una carpeta persistente donde se guardarán configuraciones que se mantienen por eliminación del docker o actualizaciones del mismo.
  • "-p 51111:51820/udp" donde 51111 es el puerto UDP que deberemos abrir en nuestro router hacia la ip de la nas. El 51820 es el puerto interno del docker.
  • "-p 51821:51821/tcp" donde 51821 es el puerto TCP de acceso web. Este tipo de accesos web no recomiendo dejarlo accesible externamente.
  • "-e WG_HOST="midominio_o_ddns.duckdns.org" y "-e WG_PORT="51111" " son variables que me sirven para dejar predefinido las dirección y puertos de acceso público que se muestran en las configuraciones cuando creamos clientes. 
  • "-e WG_PERSISTENT_KEEPALIVE="25" " indica el tiempo en segundos en que se envía un paquete para no cerrar la comunicación por inactividad.

Hay mas variables posibles que tal vez nos pueden interesar:

WG_MTU longitud del paquete
WG_DEFAULT_ADDRESS rango de ips de los clientes
WG_DEFAULT_DNS servidores DBNS que usarán los clientes
WG_ALLOWED_IPS rangos de IP de clientes permitidos

Si ya tenemos el docker levantado, podemos ir a su web con ip_nas:51821
[attachment=2333]

Tecleamos nuestra clave "claveEasy"

Se nos presenta la pantalla de gestión de usuarios
[attachment=2334]

Agregamos uno nuevo pulsando sobre el botón de "New Client"
[attachment=2335]

Damos el nombre y ya lo tenemos creado. Bien fácil  Big Grin
[attachment=2336]

Las opciones de gestión del usuario son muy sencillas
[attachment=2337]

Ahora hemos de instalarlo en nuestro equipo remoto, para ello podemos usar el código bidimensional o el archivo de configuración
[attachment=2338]

Una vez agregado a nuestro equipo remoto, ya podremos conectar sin problemas.

Y desde la web podremos ver si hay actividad del usuario
[attachment=2339]


He comprobado que la web mantiene mucho tiempo a los clientes como conectados, cuando en realidad ya no lo están. 
Entiendo que es un fallo y que según vayan sacando versiones mas nuevas, esto será corregido.

En cuanto esté corregido, pondré una forma un poco casera de crear logs de actividad de WireGuard.
No tiene mucho sentido que la exponga aquí si el docker no lo hace correctamente  Sad


Agradezco a Yeraycito que me haya mostrado la existencia de este docker  Wink
De nada, a mandar
La verdad que este método simplifica mucho la vida (comparado con el de http://www.qnapclub.es/showthread.php?tid=4068) para que podamos usar WireGuard aquellos que no tenemos la posibilidad por app QNAP.
Mil gracias!