Instalación de WireGuard en Windows
Antes de ejecutar los comandos descritos, asegúrese de estar utilizando la última versión de WireGuard y de tener derechos de administrador en su dispositivo.
Instalación
1) Descargar la versión actual para Windows: https://www.wireguard.com/install/ e instalar
2) Ejecute C:\Program Files\WireGuard\wireguard.exe y añadir un túnel vacío (vamos a configurar el lado del servidor):
Añadir túnel → Añadir túnel vacío ...

Registramos la configuración:
Nombre - el nombre de la conexión de red.
Clave pública - clave pública del servidor WireGuard (necesaria para configurar el lado cliente).
[Interface] PrivateKey = # private key of WireGuard server ListenPort = # port that WireGuard will listen to Address = # desired IP address of WireGuard server

Configure los ajustes de la interfaz de red para el servidor WireGuard. En la ventana del editor de túnel (debajo del campo de texto de configuración), puede activar opcionalmente:
– Block untunneled traffic (kill-switch) — impide que el tráfico eluda el túnel VPN
– Pre-shared key — una capa de seguridad adicional (opcional)
Estos ajustes son opcionales, pero se recomiendan para una mayor seguridad.

3) Añadimos otro túnel vacío (configuraremos la parte cliente): Añadir túnel → Añadir túnel vacío.
Registramos los ajustes:
Nombre - el nombre de la conexión de red
Clave pública - la clave pública del cliente WireGuard (necesaria para configurar el lado del servidor).
[Interface] PrivateKey = # WireGuard client private key Address = # desired IP address of WireGuard client [Peer] PublicKey = # public key of the WireGuard server (from step 2) AllowedIPs = # specify the IP addresses for which you want to use the created WG tunnel (specifying the subnet 0.0.0.0/0 will allow you to route all traffic to the WG tunnel) Endpoint = # Server IP address (real, not WireGuard) and port that WireGuard server listens on (configured in step 2)

4) Ahora necesitamos agregar nuestro cliente a la parte del servidor WireGuard, para ello regresamos al paso 2 y agregamos su config:
... [Peer] PublicKey = #WireGuard client public key (from step 3) AllowedIPs = #IP user address

5) Configuraremos el firewall de Windows para trabajar con WireGuard. Para ello:
Crearemos una nueva regla para el tráfico entrante:
- Abra "Windows Defender Firewall with Advanced Security" (Firewall de Windows con seguridad avanzada).
- En el panel izquierdo, seleccione "Inbound Rules" (Reglas de entrada).
- Haga clic en "New Rule..." (Nueva regla).
Especifiquemos el protocolo (UDP) y los puertos (por ejemplo, 51820):
- En la ventana emergente "New Inbound Rule Wizard" (Asistente para nueva regla de entrada), seleccione "Port" (Puerto) y haga clic en "Next" (Siguiente).
- En la sección "Protocol and Ports" (Protocolo y puertos), configure lo siguiente:
- Seleccione el tipo de protocolo: "UDP".
- Especifique los puertos locales concretos (Specific local ports):
- Por ejemplo, el puerto predeterminado de WireGuard es 51820.
- Si usa varios puertos, enumérelos separados por comas (por ejemplo:
51820, 51821).
- Haga clic en "Next" (Siguiente).
Permitamos las conexiones:
- En la sección "Action" (Acción), seleccione "Allow the connection" (Permitir la conexión).
- Haga clic en "Next" (Siguiente).
Guardemos la regla:
- Determine los perfiles a los que se aplicará la regla:
- Domain (Dominio).
- Private (Privado).
- Public (Público).
- Haga clic en "Next" (Siguiente).
- Asigne un nombre descriptivo a la nueva regla, por ejemplo: "WireGuard UDP 51820".
- Haga clic en "Finish" (Finalizar).
Ahora, su firewall está configurado para permitir tráfico a través de los puertos especificados para WireGuard.
6) Ahora basta con exportar los archivos de configuración Exportar todos los túneles a zip→Especificar ubicación para exportar→Guardar

A continuación, abra el archivo guardado, habrá configuraciones de todos nuestros túneles.
Dale al cliente su archivo de configuración.
7) En el servidor, seleccione la configuración del servidor y ejecute el programa.

8) En el cliente agregue el archivo de configuración a WireGuard. Añadir túnel→Seleccionar archivo de configuración del cliente->Abrir

Seleccione la configuración del cliente y ejecútela

Esto completa la configuración del primer cliente. Los demás clientes se configuran de forma similar, agregando sus datos a la configuración del servidor (paso 4).
Verificación de la conexión
Después de activar el túnel, Windows puede mostrar el estado del adaptador de red WireGuard como "Sin acceso a la red" o "Sin acceso a Internet" en el Centro de redes y recursos compartidos. Este es un comportamiento normal y esperado — Windows no reconoce los adaptadores de túnel VPN como conexiones de Internet estándar. Este estado no afecta la funcionalidad del túnel.
Para confirmar que el túnel WireGuard funciona correctamente:
1) Verifique el estado de la conexión en el cliente WireGuard. Un túnel activo debe mostrar el estado "Activo" con contadores de transferencia de datos. Si los contadores de paquetes aumentan, el túnel está funcionando.
2) Abra el símbolo del sistema (cmd) y haga ping a la dirección IP interna del servidor WireGuard:
ping 10.0.0.1
Reemplace 10.0.0.1 con la dirección IP real del servidor WireGuard configurada en el paso 2. Si recibe respuestas, el túnel funciona correctamente.
3) Si configuró AllowedIPs = 0.0.0.0/0 (todo el tráfico se enruta a través del túnel), puede verificar el enrutamiento con:
tracert 8.8.8.8
El primer salto debe ser la dirección IP de su servidor WireGuard.
Comprender AllowedIPs
El parámetro AllowedIPs en la configuración del cliente (paso 3) determina qué tráfico se enruta a través del túnel WireGuard.
AllowedIPs = 0.0.0.0/0 — enruta todo el tráfico a través del túnel. Todas las conexiones, incluida la navegación por Internet, pasarán por la VPN. Utilice esta opción para una protección completa del tráfico.
AllowedIPs = 10.0.0.0/24 — enruta solo el tráfico de la red interna a través del túnel. El tráfico de Internet regular no pasará por la VPN y utilizará la conexión predeterminada. Utilice esta opción para acceder a recursos de red específicos.
También puede especificar múltiples subredes separadas por comas, por ejemplo: AllowedIPs = 10.0.0.0/24, 192.168.1.0/24
Solución de problemas
El túnel está activo pero no hay conexión con el servidor
– Verifique que el puerto de WireGuard (por ejemplo, 51820) esté abierto en el firewall tanto en el servidor como en el cliente.
– Asegúrese de que las claves públicas se hayan copiado correctamente entre las configuraciones del servidor y del cliente.
– Confirme que el Endpoint en la configuración del cliente apunta a la dirección IP real del servidor, no a la IP del túnel WireGuard.
El DNS no funciona después de conectarse
Agregue un servidor DNS a la configuración del cliente:
[Interface] PrivateKey = ... Address = ... DNS = 8.8.8.8, 8.8.4.4
Los contadores de paquetes no aumentan
Esto significa que el túnel no está transmitiendo datos. Verifique lo siguiente:
– AllowedIPs está configurado correctamente en ambos lados (servidor y cliente).
– Las direcciones IP de WireGuard no entran en conflicto con la red local existente.
– El ListenPort no está ocupado por otra aplicación.
Inicio automático de WireGuard después de reiniciar el servidor.
1) Agregue el archivo de inicio a la ejecución automática del programador de Windows: Inicio→taskschd.msc

Haga clic en "Crear tarea simple" → Introduzca un Nombre para la tarea (p.ej. wireguard) → Siguiente

Seleccione "Al iniciar el ordenador"→ Siguiente

Seleccione "Iniciar programa"→ Siguiente

En el campo "Programa o Script", seleccione nuestro archivo para ejecutar WireGuard (por defecto es "C:\Program Files\WireGuard\wireguard.exe")
Añadir argumentos:
/installtunnelservice "C:\Program Files\WireGuard\wg_server.conf"
donde:
C:\Program Files\WireGuard\wg_server.conf - ubicación del archivo de configuración *.conf

Marque "Abrir la ventana Propiedades de esta tarea después de hacer clic en 'Hecho'"→ Hecho

En la ventana que se abre, marque la opción "Ejecutar con los máximos derechos"→OK

Hecho. Haz un reinicio, comprueba