VPN · Guía

Cómo usar un archivo de configuración de WireGuard

Actualizado September 23, 2026 17 min de lectura

En esta página
  1. Qué hay dentro de un archivo .conf, línea por línea
  2. Windows: importar el túnel
  3. Android e iPhone: escanear el código QR o importar el archivo
  4. macOS y Linux
  5. En el router, para cubrir toda la casa
  6. Conecta pero no carga nada, y otros problemas reales
  7. De dónde sale el archivo de configuración
  8. FAQ

Una conexión WireGuard es un archivo de texto. De verdad, no es nada más: un puñado de líneas con tus claves, la dirección del servidor y las reglas sobre qué se envía por el túnel. Una vez que tienes ese archivo, conectarse a un servidor VPN WireGuard consiste simplemente en dárselo a la app de WireGuard del dispositivo que estés usando.

Esta guía hace dos cosas. Primero lee un archivo de configuración real línea por línea, para que sepas qué hace cada ajuste y cuál cambiar cuando algo falla. Después explica cómo importar ese archivo y conectarte en Windows, Android, iPhone, macOS, Linux y un router, y termina con el puñado de problemas que explican casi todas las quejas sobre WireGuard: el handshake que nunca se completa y el túnel que conecta pero no carga ninguna página.

Qué hay dentro de un archivo .conf, línea por línea

Toda configuración de WireGuard tiene la misma estructura en dos partes. [Interface] describe tu extremo del túnel; [Peer] describe la máquina a la que te conectas. Aquí tienes una configuración de cliente completa con los secretos sustituidos por marcadores:

[Interface]
PrivateKey = YOUR_PRIVATE_KEY_KEEP_THIS_SECRET
Address    = 10.7.0.4/32
DNS        = 10.7.0.1

[Peer]
PublicKey           = THE_SERVER_PUBLIC_KEY_FROM_YOUR_PROVIDER
Endpoint            = 198.51.100.10:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Las dos claves de arriba son marcadores, y la dirección 198.51.100.10 es una dirección de documentación reservada por el RFC 5737: nada de esto se conecta a ningún sitio. Usa los valores de tu propio archivo.

El bloque [Interface]: tu lado

  • PrivateKey: esta es tu identidad en la VPN. Quien la tenga puede hacerse pasar por ti. Son 44 caracteres base64 que terminan en =; si la tuya tiene otra longitud, el archivo se cortó en algún momento al copiarlo.
  • Address: la IP que tiene tu dispositivo dentro del túnel, no tu IP pública. El /32 significa «solo esta dirección», lo normal en un cliente.
  • DNS: el resolvedor que se usa mientras el túnel está activo. Sin él, tu dispositivo sigue preguntando a tu resolvedor anterior, lo que filtra lo que buscas y, a menudo, impide resolver nada del otro lado.
  • MTU: opcional, y la línea más útil de conocer. Falta en la mayoría de los archivos porque el valor por defecto es el correcto; consulta la sección de solución de problemas para el caso en que no lo es.

El bloque [Peer]: el lado del servidor

  • PublicKey: la clave pública del servidor. La tuya nunca aparece en tu propio archivo; la guarda el servidor.
  • Endpoint: adónde enviar los paquetes, en formato host:port. WireGuard funciona solo por UDP, y 51820 es el puerto habitual, no uno obligatorio.
  • AllowedIPs: qué destinos pasan por el túnel. 0.0.0.0/0, ::/0 significa todo, que es para lo que sirve una VPN de privacidad. Una lista más reducida (por ejemplo, solo el rango interno de tu empresa) envía únicamente eso por el túnel y deja el resto en tu conexión normal. Esa configuración se llama túnel dividido (split tunnel), y es una elección deliberada, no un túnel completo roto.
  • PersistentKeepalive: envía un paquete pequeño cada 25 segundos para que el dispositivo NAT entre tú y el servidor mantenga abierto el camino de vuelta. Es necesario siempre que estés detrás de un NAT, y en un móvil o en una conexión doméstica siempre lo estás.
Un detalle que aclara una confusión frecuente. Address y DNS no son ajustes de WireGuard en absoluto: son instrucciones para el asistente wg-quick, que configura tu interfaz de red. WireGuard nunca las ve. Puedes comprobarlo: wg-quick strip wg0 muestra la configuración que recibe realmente el kernel, y esas dos líneas simplemente desaparecen. Importa si alguna vez configuras un túnel con wg setconf en lugar de wg-quick, porque entonces nada asigna tu dirección ni tu resolvedor y el túnel se levanta conectado a nada.

¿Necesitas un archivo de configuración para importar? Un servicio HytHost VPN te entrega una configuración de WireGuard lista para usar desde €0.99/mes.

Ver planes de VPN

Windows: importar el túnel

Windows tiene una app oficial de WireGuard, y todo el trabajo consiste en importar un archivo en ella.

  1. Instala WireGuard desde wireguard.com/install.
  2. Haz clic en Agregar túnel abajo a la izquierda; se abre un selector de archivos filtrado por Archivos de configuración (*.zip, *.conf). Elige tu .conf y aparecerá en la lista de túneles con el nombre del archivo.
  3. O pégalo directamente. La flecha junto a Agregar túnel ofrece Agregar túnel vacío…, que te da un cuadro de texto: útil cuando la configuración te llegó en un mensaje y no como archivo. Viene con una clave privada nueva ya rellenada, así que borra esa línea y pega tu propia configuración encima.
  4. Haz clic en Activar. El estado cambia a Activo y el panel empieza a contar los bytes transferidos. Ese contador es la comprobación más rápida que tienes: si muestra datos que salen y nada que vuelve, tu handshake no se está completando.
Hay dos opciones de esta app que conviene conocer. Bloquear tráfico sin tunelizar (interruptor de apagado), en la pantalla de edición del túnel, impide que salga nada fuera del túnel si este se cae: el ajuste adecuado si el objetivo de la VPN es que nada se escape. Y Exportar registro a archivo es donde la app te explica, en lenguaje claro, por qué un túnel se negó a arrancar.

Android e iPhone: escanear el código QR o importar el archivo

En un móvil tienes dos formas de hacerlo, y el código QR existe precisamente porque escribir una clave de 44 caracteres en una pantalla táctil es un suplicio.

Android

  1. Instala WireGuard desde Play Store y toca el botón +.
  2. La pantalla Crear túnel WireGuard ofrece Escanear desde código QR, Importar desde archivo y crear uno desde cero. Elige la opción que corresponda a lo que te dieron.
  3. Ponle un nombre al túnel si te lo pide y activa su interruptor. Android pide una vez permiso para añadir una configuración VPN: ese aviso es del sistema operativo, no de la app.

iPhone y iPad

  1. Instala WireGuard desde App Store y toca Agregar un túnel.
  2. En Añadir un nuevo túnel WireGuard, elige Crear desde código QR o Crear desde archivo. La pantalla del escáner se titula Escanear código QR; tras un escaneo correcto te pide que le pongas nombre al túnel.
  3. Actívalo y permite la configuración VPN cuando iOS te lo pida.

Crear un código QR a partir de un archivo de configuración que ya tienes

El código QR no es algo que el proveedor tenga que darte: es solo tu archivo de configuración dibujado como imagen, y puedes generarlo tú mismo con un comando. La propia app de WireGuard lo sugiere:

# prints the code straight into the terminal, ready to scan off the screen
qrencode -t ansiutf8 < wg0.conf

# or write it to an image file
qrencode -o wg0.png < wg0.conf

En Debian o Ubuntu, qrencode se instala con apt install qrencode; en macOS, con brew install qrencode.

Un código QR de WireGuard contiene tu clave privada. No es un enlace ni un identificador: es la configuración completa, claves incluidas, en un formato que cualquier cámara puede leer. Nunca lo publiques en un servidor de Discord, en un hilo de un foro ni en un ticket de soporte, y ten cuidado con las capturas de pantalla. Si escaneas un código desde una pantalla, ciérralo después. Trata la imagen exactamente igual que el archivo.

macOS y Linux

macOS

Instala WireGuard desde la Mac App Store. La app de Mac no es la del iPhone en una pantalla más grande: vive en la barra de menús, y su ventana se abre desde Gestionar túneles. Haz clic en Importar túnel(es) desde archivo (la barra de menús tiene lo mismo como Importar túnel(es) desde archivo), elige tu .conf, selecciona el túnel y haz clic en Activo. En el Mac no hay escáner de QR (los códigos QR son para móviles), así que usa el propio archivo, o elige Add Empty Tunnel… y pega la configuración.

Si prefieres trabajar en un terminal, brew install wireguard-tools te da los mismos comandos wg-quick que en Linux, descritos a continuación.

Linux

  1. Instala las herramientas. En Debian o Ubuntu: sudo apt install wireguard. La mayoría de las distribuciones tienen un paquete con el mismo nombre.
  2. Coloca el archivo donde lo busca wg-quick. Este es el paso en el que la gente se equivoca, porque el nombre del archivo se convierte en el nombre de la interfaz:
    sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
    El 600 importa: el archivo contiene tu clave privada y no debería poder leerlo ningún otro usuario de la máquina. Usa un nombre corto y sencillo; tiene que ser un nombre de interfaz de red válido.
  3. Levántalo:
    sudo wg-quick up wg0
    sudo wg show
    wg show es el comando que vale la pena recordar. Muestra el peer, el endpoint, una línea latest handshake y los contadores de transferencia. Si esa marca de tiempo del handshake nunca aparece, estás ante el problema de la siguiente sección.
  4. Arranque automático: sudo systemctl enable --now wg-quick@wg0. Para detener el túnel manualmente, sudo wg-quick down wg0.
Dos errores que conviene reconocer a simple vista. wg-quick: `/etc/wireguard/wg0.conf' does not exist significa que el nombre que indicaste no coincide con ningún archivo de ese directorio: pediste wg0 y el archivo se llama de otra forma. Y si el túnel se niega a levantarse quejándose de resolvconf, es la línea DNS: wg-quick necesita resolvconf o systemd-resolved para aplicarla. Instala uno de los dos, o elimina la línea DNS y configura tú mismo el resolvedor.

En el router, para cubrir toda la casa

Poner el túnel en el router cubre todos los dispositivos que hay detrás, incluidos los que no pueden ejecutar ninguna app de VPN: una consola, un televisor, un altavoz inteligente. Que puedas hacerlo depende por completo del firmware.

FirmwareSoporte de WireGuardDónde buscar
OpenWrtSí, con un paqueteInstala luci-proto-wireguard, añade una interfaz con el protocolo WireGuard VPN y rellena los campos con los datos de tu archivo
Asus (firmware de fábrica reciente)Sí, en muchos modelosLa sección VPN tiene un cliente WireGuard que importa un .conf directamente
Asuswrt-MerlinLa misma idea, con más control sobre el enrutamiento
Mikrotik RouterOS 7WireGuard viene integrado; RouterOS 6 no lo tiene en absoluto
Router típico del operadorNormalmente noSin WireGuard y sin forma de añadirlo; mira más abajo

Si tu router es el aparato que te dio la compañía de internet, las opciones realistas son poner detrás un router que controles tú o seguir usando configuraciones por dispositivo. Ninguna de las dos es un fracaso; la configuración por dispositivo suele ser incluso mejor, porque puedes dejar el túnel apagado en los dispositivos que no lo necesitan.

No reutilices una configuración que ya está en otro dispositivo. Un archivo de configuración es un peer, y un peer es un dispositivo. Cargar la configuración de tu móvil en el router hace que ambos se disputen la misma identidad y las dos conexiones se vuelvan inestables. Contrata una segunda configuración o añade un segundo peer en tu propio servidor.

Algo que conviene decidir antes de pasar toda la casa por un túnel: a partir de entonces pasa todo por él. Las webs de bancos que desconfían de direcciones extranjeras, los servicios de streaming que comprueban tu región y cualquier cosa que hable con dispositivos de tu propia red pueden comportarse de otra manera. Aquí es donde un AllowedIPs más reducido demuestra su valor: envía solo lo que tiene que ir y deja el resto como está.

Conecta pero no carga nada, y otros problemas reales

WireGuard es inusualmente silencioso cuando falla, y es una decisión de diseño deliberada: un paquete no autenticado no recibe ninguna respuesta, así que un escáner no puede saber si hay algo escuchando. El efecto secundario es que una clave equivocada, un puerto equivocado y una red bloqueada se ven idénticos desde tu lado: silencio. Parte del síntoma.

Lo que vesLo que suele serDónde mirar
Nunca hay handshake; los bytes enviados suben y los recibidos se quedan en ceroNada responde, o la respuesta no puede volverEndpoint, la PublicKey del servidor, UDP bloqueado
Handshake correcto, lo pequeño funciona, las páginas web se quedan a medio cargarMTUAñade una línea MTU a [Interface]
Conectado, pero no se resuelve nadaDNSLa línea DNS, y resolvconf en Linux
Conectado, resuelve, pero no pasa tráfico por el túnelAllowedIPs demasiado reducidoAllowedIPs en [Peer]
Funciona y deja de hacerlo tras uno o dos minutos sin actividadHa caducado la asignación NATPersistentKeepalive = 25

«Handshake did not complete»

Tu dispositivo envió un paquete de inicio y no recibió nada de vuelta. Comprueba, en este orden:

  • El endpoint. Host correcto, puerto correcto y que el puerto sea UDP. Una errata aquí produce exactamente este síntoma y ningún otro.
  • Que el UDP llegue al exterior. El wifi de invitados, las redes de hoteles, algunas redes corporativas y unos pocos operadores móviles solo permiten TCP en los puertos habituales. Si la misma configuración funciona en tu conexión de casa y falla en una red concreta, la configuración está bien y el problema es la red.
  • Que las claves estén en su sitio. La PublicKey de [Peer] es la clave pública del servidor, y el servidor debe tener, por su parte, la clave pública que corresponde a tu PrivateKey. Una configuración copiada de otro dispositivo falla aquí.
  • Tu reloj. El handshake de WireGuard incluye una marca de tiempo y rechaza las que están muy desfasadas. Es raro, pero pasa en dispositivos que han perdido la hora.

Si el túnel funciona desde casa pero nunca desde una conexión móvil, la causa puede estar del lado de tu operador y no del tuyo: el CGNAT y soluciones parecidas cambian lo que puede llegar hasta ti. La guía de apertura de puertos explica cómo identificarlo desde tu propio router en un par de minutos.

El problema del MTU, que vale la pena entender una vez

Este es el caso clásico de «conectado pero internet no funciona», y el patrón es inconfundible: el ping funciona, el DNS funciona, las páginas pequeñas cargan y cualquier cosa de cierto tamaño se queda colgada para siempre.

La causa es el tamaño. Encapsular tu tráfico para el túnel añade cabeceras, así que un paquete que encajaba justo en tu conexión normal ya no cabe una vez dentro de WireGuard. Los paquetes pequeños pasan sin problema; los grandes se descartan. Normalmente la red avisa al emisor de que use paquetes más pequeños, pero el mensaje que lo hace suele estar filtrado, así que en lugar de un error simplemente te quedas esperando.

La solución es decirle a WireGuard que use paquetes más pequeños desde el principio. wg-quick ya lo intenta: toma el MTU de tu ruta normal y le resta 80 bytes por la sobrecarga del túnel, así que en una conexión corriente de 1500 bytes obtienes 1420. Cuando eso sigue siendo demasiado (algunas redes móviles, la mayoría de las conexiones que ya van sobre otro túnel), fíjalo explícitamente y ve bajando:

[Interface]
MTU = 1420      # what wg-quick would have picked
# still stalling? try 1380, then 1280

1280 es el mínimo que merece la pena probar, porque es el tamaño de paquete más pequeño que IPv6 exige que todo transporte, así que sobrevive prácticamente a cualquier ruta. Cuesta un poco de eficiencia y es muchísimo mejor que un túnel que se cuelga.

El túnel está activo pero no pasa nada por él

Revisa primero AllowedIPs. No es un cortafuegos ni una lista de permisos: decide qué destinos se enrutan hacia el túnel. Si no incluye 0.0.0.0/0, el tráfico hacia el resto de internet nunca estuvo pensado para pasar por él, y tu conexión se comporta exactamente como está configurada. En Linux, ip route show table all | grep wg0 muestra lo que realmente se ha enrutado.

Si el enrutamiento es correcto y lo que pasa es que los nombres no se resuelven, es la línea DNS: o falta, o está pero no se aplica porque resolvconf no está instalado.

De dónde sale el archivo de configuración

Todo lo anterior da por hecho que tienes un archivo. Hay exactamente dos formas de conseguirlo.

Montar tú mismo el servidor

Generas un par de claves, instalas WireGuard en una máquina con dirección pública, añades tu dispositivo como peer y escribes a mano la configuración del cliente. No es difícil y es algo que de verdad vale la pena aprender. Lo que cuesta es continuo: un servidor que pagar y mantener actualizado, y una edición manual en ambos extremos cada vez que añades un dispositivo, porque, recuerda, un peer es un dispositivo.

Obtenerlo de un proveedor

La alternativa es que el archivo se genere por ti y tú solo lo descargues. Con HytHost VPN, desde €0.99/mes, está aquí:

  1. Contrata el servicio e inicia sesión en el área de cliente, y abre tu servicio VPN en la lista.
  2. Busca la sección WireGuard Configuration. Tiene dos botones: Copy to Clipboard, que copia el texto de la configuración al portapapeles, y Download Configuration, que te entrega el archivo ya listo.
  3. Si lo copiaste, pégalo en un editor de texto plano y guárdalo con la extensión .conf; wg0.conf es un buen nombre. Asegúrate de que el editor no haya añadido .txt al final.
  4. Impórtalo siguiendo la sección de arriba correspondiente a tu dispositivo. En un móvil, conviértelo antes en código QR con qrencode.

La misma página muestra si el túnel está conectado al servidor en ese momento, lo que resuelve la duda de «¿es cosa mía o de ellos?» antes de empezar a cambiar ajustes. No hay botón de código QR: genéralo tú mismo a partir del archivo, lo que además significa que el código nunca viaja a ningún sitio al que no tuviera que ir.

¿Necesitas un archivo de configuración para importar? Un servicio HytHost VPN te entrega una configuración de WireGuard lista para usar desde €0.99/mes.

Ver planes de VPN
FAQ

Preguntas frecuentes

Instala la app oficial de WireGuard, importa el archivo de configuración que te dio tu servidor o proveedor y activa el túnel. En Windows es Agregar túnel y después Activar; en Android y iPhone puedes escanear el archivo como código QR en lugar de importarlo; en Linux, coloca el archivo en /etc/wireguard/ y ejecuta wg-quick up con su nombre. Una marca de tiempo de handshake y datos recibidos en la app confirman que la conexión está activa.

Un archivo de texto plano, normalmente con extensión .conf, que contiene dos bloques. [Interface] describe tu dispositivo: su clave privada, la dirección que toma dentro del túnel y el resolvedor que debe usar. [Peer] describe el servidor: su clave pública, su host y puerto UDP, y qué destinos deben enrutarse por el túnel. Ese archivo es toda la conexión: no se guarda nada más en ningún otro lugar de tu dispositivo.

No de forma fiable, y el motivo vale la pena conocerlo. Una configuración es un peer, identificado por un par de claves, y el servidor registra una única ubicación actual para cada peer. Si conectas un móvil y un portátil con el mismo archivo, el servidor envía el tráfico de vuelta al que hizo el handshake más reciente, así que ambas conexiones se cortan y vuelven sin parar. Cada dispositivo necesita su propia configuración con su propio par de claves.

Lo generas a partir del archivo de configuración que ya tienes: un código QR de WireGuard es simplemente ese archivo codificado como imagen. Ejecuta qrencode -t ansiutf8 < wg0.conf para mostrarlo en un terminal y escanearlo desde la pantalla, o qrencode -o wg0.png < wg0.conf para guardarlo como imagen. Como el código contiene la clave privada, debe tratarse igual que el propio archivo: nunca publicado en ningún sitio público.

No. La clave privada es lo que identifica tu dispositivo en la VPN, así que cualquiera que tenga el archivo puede conectarse haciéndose pasar por ti. Nunca debe publicarse en un chat, un foro, un gestor de incidencias ni un ticket de soporte, y lo mismo vale para un código QR o una captura de pantalla del archivo. Si una configuración ha quedado expuesta, la solución es generar un par de claves nuevo y sustituir el peer, no confiar en que nadie la haya leído.

Ese mensaje significa que el paquete de inicio salió y no volvió nada, y WireGuard no puede decirte por qué porque nunca recibió respuesta. Comprueba el host y el puerto del Endpoint, confirma que la red en la que estás permite UDP saliente y verifica que la PublicKey de [Peer] es la clave del servidor, mientras que el servidor tiene la clave pública que corresponde a tu clave privada. Si el mismo archivo funciona en otra red, el archivo está bien y es la red la que filtra el UDP.

Este patrón (handshake correcto, ping correcto, páginas web que se quedan colgadas) casi siempre es el MTU. Al encapsular el tráfico para el túnel, cada paquete crece, así que los paquetes que antes cabían se descartan, y el mensaje que normalmente avisaría de ello suele estar filtrado. Añade una línea MTU a [Interface]: 1420 es lo que wg-quick calcularía en una conexión corriente, y 1380 o 1280 funcionan cuando eso sigue siendo demasiado.

No para usar un archivo de configuración. El cliente establece una conexión UDP saliente hacia el servidor, y la respuesta vuelve por la asignación que crea esa conexión, que es lo que PersistentKeepalive mantiene abierto. Solo hay que abrir un puerto en el lado que ejecuta el servidor WireGuard y tiene que aceptar conexiones entrantes.

De un proveedor que la genere por ti. Un servicio HytHost VPN, desde €0.99/mes, muestra en el área de cliente una sección WireGuard Configuration con un botón para copiar el texto de la configuración y otro para descargar el archivo ya listo. A partir de ahí se importa en la app de WireGuard en cualquier dispositivo, y la misma página indica si el túnel está conectado en ese momento.

Un archivo de configuración que es tuyo

HytHost VPN te da una configuración de WireGuard que descargas una vez e importas en cualquier dispositivo: Windows, Android, iPhone, macOS, Linux o tu router. Desde €0.99/mes.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

¿Te ha resultado útil esta guía?