VPNs Nuevo 2026
3. Wireguard: Configuración
Configuración genérica de WireGuard
1. WireGuard no tiene realmente “servidores” y “clientes”
Desde el punto de vista del protocolo, todos los participantes son peers.
Cada peer posee:
- una interfaz WireGuard;
- una dirección IP dentro del túnel;
- una clave privada propia;
- una clave pública derivada de esa clave privada;
- una lista de otros peers conocidos.
Se habla habitualmente de:
- servidor, para el peer que tiene una dirección pública o un puerto accesible y recibe conexiones;
- cliente, para el peer que inicia la comunicación desde Internet.
Pero esa diferencia es principalmente de topología y operación, no de naturaleza criptográfica. WireGuard se configura agregando a cada interfaz su clave privada y las claves públicas de los peers con los que debe comunicarse. El propio proyecto WireGuard indica que la distribución de claves y configuraciones queda fuera del protocolo.
2. Elementos que posee cada peer
Supongamos a modo de ejemplo dos equipos:
Peer A: servidor
Peer B: celular
Cada uno genera su propio par:
Servidor:
Clave privada SA
Clave pública PA
Celular:
Clave privada SB
Clave pública PB
La regla fundamental es:
El servidor conserva SA y configura PB.
El celular conserva SB y configura PA.
Es decir:
Servidor conoce la clave pública del celular.
Celular conoce la clave pública del servidor.
Las claves privadas no deberían intercambiarse entre equipos cuando la configuración se realiza de manera manual.
SOLO SE INTERCAMBIAN LAS CLAVES PUBLICAS!!
Funcionamiento:
- Cuando el servidor envía algo al celular , lo cifra con la clave publica del celular , y el celular lo descifra con su clave privada.
- Cuando el celular envía algo al servidor , lo cifra con la clave publica del servidor , y el servidor lo descifra con su clave privada.
Por eso SOLO se deben compartir las claves Publicas!.
Gráficamente sería:

3. Qué contiene una configuración WireGuard
EL archivo de cojnfiguración, ya sea del Servidor o del Peer son siminlares, tienen dos secciones.
Una configuración típica posee dos secciones:
[Interface]PrivateKey = clave_privada_del_equipo_localAddress = direccion_IP_del_equipo_en_el_tunelDNS = servidor_DNS_opcional
[Peer]PublicKey = clave_publica_del_equipo_remotoEndpoint = direccion_publica_del_remoto:puertoAllowedIPs = redes_que_se_alcanzan_por_ese_peerPersistentKeepalive = 25
La sección [Interface] describe al equipo local.
La sección [Peer] describe al equipo remoto.
Esto es muy importante para los alumnos porque el mismo archivo cambia de significado según en qué equipo se instale.
Ejemplo de Visualización de la configuración de VPN en Router TP-Link.

Métodos de Configuración Frecuentes.
Método 1: importación mediante archivo
El administrador entrega un archivo:
alumno01.conf
El usuario lo importa en:
- Windows;
- Linux;
- Android;
- iOS;
- macOS;
- ciertos routers.
Es equivalente a un código QR (método siguiente) , pero más cómodo para computadoras.
Método 2: importación mediante QR
Es especialmente cómodo para:
- Android;
- iPhone;
- tabletas.
El QR representa normalmente el mismo contenido que el archivo .conf.
No depende de que el otro extremo sea:
- Windows;
- Linux;
- otro celular;
- un router;
- un servidor Docker.
El sistema operativo no cambia el principio criptográfico.
NOTA IMPORTANTE:
En el caso del uso de un QR , el servidor crea:
- Privada_celular
- Pública_celular
Y luego
Servidor conserva:
- Pública_celular
Medianete el QR entrega al celular:
- Privada_celular
- Pública_servidor
- IP del túnel
- Endpoint
- AllowedIPs
- DNS, si corresponde
1. IP del túnel
La IP del túnel es la dirección IP que se asigna a cada interfaz WireGuard dentro de la red virtual.
Por ejemplo:
Red WireGuard: 10.10.10.0/24
Servidor: 10.10.10.1
Celular: 10.10.10.2
Notebook: 10.10.10.3
Estas direcciones no son necesariamente las IP físicas de los equipos.
Un celular puede tener simultáneamente:
IP móvil o Wi-Fi: 192.168.0.50
IP pública: asignada por el proveedor
IP WireGuard: 10.10.10.2
La IP WireGuard identifica al equipo dentro de la VPN.
En un archivo de configuración aparece en [Interface]:
[Interface]
Address = 10.10.10.2/32
PrivateKey = ...
Eso significa:
Esta interfaz WireGuard local tendrá la dirección
10.10.10.2.
En el servidor:
[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = ...
Ejemplo visual
Internet
│
│ tráfico UDP cifrado
│
Servidor WireGuard
IP física LAN: 192.168.1.10
IP del túnel: 10.10.10.1
│
│ red virtual WireGuard
│
Celular
IP móvil/Wi-Fi: variable
IP del túnel: 10.10.10.2
La IP del túnel sirve para:
- identificar cada peer dentro de la VPN;
- hacer ping entre peers;
- enrutar tráfico;
- asociar direcciones con claves públicas;
- evitar que dos peers utilicen la misma identidad IP.
2. AllowedIPs
AllowedIPs indica qué direcciones o redes están asociadas a un determinado peer.
La dificultad es que se interpreta de manera distinta según desde qué lado se observe.
En un cliente
En el celular podría aparecer:
[Peer]
PublicKey = PUBLICA_SERVIDOR
Endpoint = vpn.ejemplo.com:51820
AllowedIPs = 192.168.1.0/24
Esto significa:
Todo tráfico dirigido a
192.168.1.0/24debe enviarse por el túnel hacia ese peer.
Es decir, actúa como una ruta.
Si el celular intenta acceder a:
192.168.1.20
WireGuard ve que esa dirección pertenece a:
192.168.1.0/24
y envía el paquete cifrado al servidor.
En el servidor
En el servidor puede aparecer:
[Peer]
PublicKey = PUBLICA_CELULAR
AllowedIPs = 10.10.10.2/32
Aquí significa:
La dirección
10.10.10.2pertenece a este peer identificado por esa clave pública.
Por lo tanto, cuando el servidor quiera enviar tráfico a 10.10.10.2, sabrá que debe cifrarlo para la clave pública del celular.
También impide que ese peer se presente como otra IP WireGuard distinta.
3. Relación entre IP del túnel y AllowedIPs
Supongamos:
Servidor: 10.10.10.1
Celular: 10.10.10.2
La configuración del celular contiene:
[Interface]
Address = 10.10.10.2/32
Eso indica la IP propia del celular.
La configuración del servidor contiene:
[Peer]
PublicKey = PUBLICA_CELULAR
AllowedIPs = 10.10.10.2/32
Eso indica que la IP 10.10.10.2 corresponde al celular.
Por lo tanto:
Address
indica:
Quién soy yo dentro del túnel.
Mientras que:
AllowedIPs
indica:
Qué direcciones se alcanzan mediante ese peer o qué direcciones le pertenecen.