Cómo Configurar WireGuard para varias Conexiones VPN desde una red Privada

Supera el límite de una sesión de L2TP detrás de NAT instalando WireGuard para aceptar varios clientes a la vez.

Cuando varios usuarios se conectan desde la misma red privada detrás de NAT, L2TP solo admite una sesión concurrente.

En esta guía instalas WireGuard, una VPN de túnel cifrado, para aceptar varios clientes a la vez sin exponerlos a Internet.


👍

Qué consigues

Un servidor WireGuard en tu suscripción aceptando varias conexiones simultáneas desde una red privada, con el puerto abierto en el firewall de Plenit.


Por qué WireGuard

L2TP detrás de NAT colapsa todas las conexiones de una misma red pública en una sola sesión. WireGuard trabaja sobre UDP y trata a cada cliente como un peer independiente con su propio par de claves, así que varios usuarios de la misma red se conectan sin pisarse. El modelo de claves es como el de SSH: cada extremo tiene una clave privada (que guarda) y una pública (que comparte con el otro lado).


Antes de empezar

  • Iniciar sesión en la plataforma de Plenit con una organización activa.
  • Tener una suscripción de Servidores o Escritorio Remoto con un servidor Linux.
  • Tener preparado el equipo cliente donde instalarás WireGuard.

Paso 1. Instala WireGuard en el servidor Linux

La instalación cambia según la distribución. En CentOS, con usuario root:

yum install yum-utils epel-release
yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
yum install kernel-plus wireguard-tools
reboot

En Ubuntu, el comando base es:

sudo apt install wireguard

Genera el par de claves del servidor: la privada se queda en el servidor y la pública la usarán los clientes.

wg genkey | tee server_private.key | wg pubkey > server_public.key

Paso 2. Instala el cliente

En este ejemplo el cliente es Windows. Descarga el instalador desde la web de WireGuard y ejecútalo como administrador. Si el instalador principal falla, usa el paquete MSI del cliente de Windows.

Instalación de WireGuard finalizada en el equipo cliente

Paso 3. Crea el túnel en el cliente

Con WireGuard abierto, pulsa Add Tunnel → Add empty tunnel…. El cliente genera su par de claves y muestra una configuración inicial que completas con esta estructura:

[Interface]
PrivateKey = <CLAVE_PRIVADA_CLIENTE>
Address = 10.0.0.2/32
DNS = 192.168.1.1

[Peer]
PublicKey = <CLAVE_PUBLICA_SERVIDOR>
AllowedIPs = 0.0.0.0/0
Endpoint = <IP_PUBLICA_SERVIDOR>:51820
CampoQué indica
PrivateKeyClave privada del cliente
AddressIP interna del cliente dentro del túnel (un rango privado, p. ej. 10.0.0.2/32)
DNSServidor DNS de la red
PublicKeyClave pública del servidor WireGuard
AllowedIPsQué tráfico se enruta por la VPN. Con 0.0.0.0/0 pasa todo; con una subred concreta, solo esa
EndpointIP pública y puerto del servidor (UDP 51820)
Configuración final del túnel en el cliente

Paso 4. Registra el cliente en el servidor

El servidor solo deja pasar a los clientes que conoce. Añade el cliente a la sección [Peer] de la configuración del servidor, o en caliente con:

wg set wg0 peer <CLAVE_PUBLICA_CLIENTE> allowed-ips <IP_INTERNA_CLIENTE>

Donde <CLAVE_PUBLICA_CLIENTE> es la clave que generó el cliente y <IP_INTERNA_CLIENTE> la IP interna que usará en el túnel (la misma Address del Paso 3).


Paso 5. Abre el puerto en el firewall de Plenit

WireGuard escucha en UDP 51820. Sin ese puerto abierto, el cliente no conecta aunque el túnel esté bien configurado. En la suscripción de Servidores, pulsa Nueva regla y configúrala:

  1. Selecciona la red por la que conecta el servicio.
  2. Define el origen de las conexiones. Si puedes, filtra las IP permitidas en lugar de abrirlas a todas.
  3. Protocolo UDP.
  4. IP pública por la que conecta WireGuard.
  5. Puerto público 51820.
  6. IP y puerto privados correspondientes.
Regla de firewall para el puerto UDP 51820 de WireGuard
👍

Filtra el origen siempre que puedas

Restringir las IP de origen en la regla reduce la exposición frente a dejar el puerto abierto a todo Internet.


Paso 6. Valida la conexión

Activa el túnel en el cliente. En el servidor, confirma que hay handshake con cada peer:

wg show

Un latest handshake reciente y contadores de transfer que suben indican que el túnel está activo. Desde el cliente, comprueba además que sales con la IP pública del servidor.

Si no levanta, revisa:

  • Las claves pública del servidor y del cliente están bien intercambiadas.
  • El cliente está dado de alta en el servidor (sección [Peer] o wg set).
  • El firewall de Plenit permite UDP 51820.
  • El Endpoint apunta a la IP pública correcta del servidor.

Limitaciones y seguridad

  • Esta guía resuelve el límite de sesiones de L2TP cuando varios usuarios comparten una red privada detrás de NAT.
  • WireGuard no basta con instalarlo: hay que registrar cada cliente en el servidor y abrir el puerto UDP 51820.
  • Con AllowedIPs = 0.0.0.0/0, todo el tráfico del cliente pasa por la VPN.
  • Filtrar el origen en el firewall reduce la superficie de exposición.

Conclusión

Con WireGuard montado, una red privada detrás de NAT deja de estar limitada a una única sesión: cada usuario entra como un peer propio.

La clave del despliegue son tres piezas que deben encajar: las claves bien cruzadas entre cliente y servidor, el alta del peer en el servidor y el puerto UDP 51820 abierto. Para sumar más clientes, repite el alta del túnel en el cliente (Paso 3) y su registro en el servidor (Paso 4).