Guía de configuración de AmneziaWG
Palabras clave
| Palabra clave | Definición |
|---|---|
| 🛡️ AmneziaWG | Un fork de WireGuard que aleatoriza encabezados de paquetes, tamaños y tiempos de transmisión para contrarrestar la inspección profunda de paquetes manteniendo la misma criptografía probada. Este es un protocolo que se ejecuta en tu servidor. |
| 🚀 AmneziaWG 2.0 | La versión principal actual que utiliza rangos de encabezados dinámicos (en lugar de valores fijos), añade relleno a nivel de datos (S4) y soporta paquetes sustitutos con una firma de protocolo personalizada para una evasión DPI más fuerte. |
| 🔍 Deep Packet Inspection (DPI) | Una técnica de filtrado de red utilizada por ISPs y entidades gubernamentales para identificar y bloquear tráfico VPN analizando encabezados de paquetes, tamaños y patrones de handshake. AmneziaWG está específicamente diseñado para contrarrestar esto. |
| ⚡ WireGuard | Un protocolo VPN rápido y moderno con una base de código pequeña y rendimiento a nivel de kernel. Es fácilmente identificable por sistemas DPI debido a su estructura de paquetes fija, lo que ha sido abordado en AmneziaWG. |
| 🏠 VPN autohospedada | Una VPN que despliegas y administras en tu propio servidor (típicamente un VPS) en lugar de suscribirse a un proveedor comercial. Controlas las claves, la configuración y la infraestructura. |
| 🐧 DKMS (Dynamic Kernel Module Support) | Un framework de Linux que recompila automáticamente módulos de kernel cuando se actualiza el kernel del sistema. El instalador de AmneziaWG utiliza DKMS para construir un módulo de kernel de alto rendimiento. |
| 🎭 Ofuscación | La práctica de disfrazar el tráfico VPN para que parezca tráfico de internet regular. AmneziaWG ofusca a nivel de transporte aleatorizando encabezados, añadiendo relleno, enviando paquetes sustitutos y generando paquetes basura. |
| 🔀 Split tunneling | Una configuración de enrutamiento donde solo tráfico específico (p. ej., sitios bloqueados) pasa a través de la VPN mientras otro tráfico utiliza tu conexión directa. Útil en países con censura parcial. |
| 🖥️ KVM vs LXC | KVM es virtualización completa con un kernel dedicado requerido para cargar módulos de kernel personalizados como AmneziaWG. LXC es virtualización de contenedores que utiliza el kernel compartido del host y no puede cargar módulos personalizados. |
| 🎪 CPS (Custom Protocol Signature) | Una característica de AmneziaWG 2.0 que envía paquetes sustitutos imitando otros protocolos (QUIC, DNS, SIP) antes del handshake real, engañando a sistemas DPI clasificando el tráfico como normal. |
🔄 Actualización (julio de 2026): Esta guía mantiene su walkthrough original intacto, pero la etiqueta de instalador fijada que se muestra a continuación, v5.8.1, ya no es actual. El lanzamiento más reciente de amneziawg-installer es v5.18.4, que añade soporte para Debian 12 y 13, módulos de kernel ARM64 y Raspberry Pi listos para usar, Ubuntu 25.10 y 26.04, modo cascada y mejoras de seguridad adicionales.
Si sigues esta guía hoy, reemplaza el comando fijado más antiguo con
wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg_en.sho verifica la etiqueta actual en la página de lanzamiento más reciente antes de desplegar.
Servidor VPN AmneziaWG de Auto-Despliegue — Guía Completa

AmneziaWG es un protocolo diseñado para resolver un problema específico: ¿cómo lograr velocidades de WireGuard cuando las redes a las que te conectas intentan activamente bloquearlo? Es un fork de WireGuard creado por el equipo de Amnezia VPN, y hace lo que el original no — randomiza la capa de transporte para que los sistemas de inspección profunda de paquetes no puedan identificarlo. El cifrado sigue siendo exactamente el mismo. Solo cambia la apariencia de los paquetes en la red.
El panorama general de la ofuscación VPN ha sido una carrera armamentística a lo largo de los años. Herramientas como Shadowsocks, VLESS+Reality y OpenVPN con obfs4 intentan disfrazar el tráfico de varias formas — algunos como proxies, algunos como túneles completos, algunos con altos costos de rendimiento. AmneziaWG ocupa un nicho específico: es un túnel VPN completo con rendimiento a nivel de WireGuard y protección DPI integrada, todo en un paquete. Y como es de código abierto, puedes desplegarlo en tu propio servidor.
Pero aquí está el problema que hace que esto sea necesario. Configuras WireGuard. Funciona perfectamente — rápido, limpio, confiable. Luego, un buen día, se detiene. Sin mensaje de error, sin timeout, sin rechazo de conexión. Los paquetes simplemente desaparecen. Así es como se ve el bloqueo DPI en la práctica: tu túnel sigue operativo, tu configuración sigue siendo correcta, y nada está pasando. Esta ya es la realidad en algunos países.

Las alternativas tradicionales no resuelven completamente este problema. Shadowsocks es un proxy, no un túnel VPN completo — tu DNS y tráfico que no sea TCP seguirán filtrándose. OpenVPN con obfs4 funciona pero tiene aproximadamente un 25% de sobrecarga de rendimiento. VLESS+Reality ofrece ofuscación fuerte pero es basado en proxy y complejo de configurar. AmneziaWG llena el vacío: es un túnel VPN completo con rendimiento a nivel de WireGuard y protección DPI integrada.
Esta guía te llevará a través del despliegue de un servidor AmneziaWG 2.0 completamente funcional en cualquier VPS KVM en menos de 15 minutos usando un único script instalador de la comunidad. Al final, tendrás un túnel VPN funcional al que puedas conectarte desde cualquier dispositivo. Los pasos son agnósticos del proveedor — funcionan en cualquier VPS con acceso SSH y privilegios root, ya sea de AvaHost u otro. Esto está escrito para usuarios con un nivel intermedio de habilidad técnica que se sienten cómodos trabajando con SSH y comandos básicos de Linux.
Una aclaración antes de comenzar: AmneziaWG es un protocolo. AmneziaVPN es una aplicación cliente que se conecta a él. Están relacionados pero son distintos — como TLS para tu navegador. Necesitarás una aplicación para conectarte, pero el protocolo es lo que se ejecuta en tu servidor.
Pero antes de desplegar nada, necesitas entender qué hace que AmneziaWG sea diferente de WireGuard — y por qué esa diferencia importa cuando DPI te está observando.
¿Qué es AmneziaWG? (Modelo Mental)
WireGuard es elegante en su diseño. Tiene una base de código pequeña, utiliza criptografía moderna y se ejecuta en el kernel de Linux para un rendimiento casi nativo. Pero esta elegancia tiene un problema de visibilidad: cada paquete de WireGuard lleva la misma estructura de encabezado fija, los mismos tamaños de paquete fijos y el mismo patrón de handshake. Para un sistema de inspección profunda de paquetes, el túnel de WireGuard tiene una firma tan clara como un código de barras. Una vez que un dispositivo DPI aprende esta firma, puede descartar cada paquete sin bloquear el puerto ni cerrar la conexión.

Piénsalo de esta manera. WireGuard es como un mensajero que siempre viste el mismo uniforme — rápido, confiable y eficiente. Pero cualquiera que observe la carretera aprende a reconocer ese uniforme y puede detener al mensajero en cualquier punto de control. AmneziaWG es el mismo mensajero llevando los mismos paquetes, pero cambia su uniforme en cada punto de control. La misma persona, la misma carga, una apariencia completamente diferente.
El historial de versiones es importante. AmneziaWG 1.x introdujo encabezados personalizados que diferían de los valores fijos de WireGuard — esto ayudó durante un tiempo, pero los sistemas DPI se adaptaron. AmneziaWG 2.0, lanzado a finales de 2025, aleatoriza todo: los encabezados cambian de paquete a paquete, el relleno varía de mensaje a mensaje, y los paquetes sustitutos imitan otros protocolos antes del handshake real. No hay una firma universal para la detección porque cada servidor AmneziaWG 2.0 genera su propio conjunto único de parámetros. Cada servidor habla su propio dialecto.
Cuando todos los parámetros de ofuscación se establecen en cero, AmneziaWG se comporta de manera idéntica a WireGuard — es completamente compatible hacia atrás a nivel de protocolo. Pero con parámetros activos (que es la configuración predeterminada), se convierte en lo que WireGuard no puede ser: un túnel VPN rápido que los sistemas DPI luchan por identificar.
Entonces, ¿exactamente cómo cifra AmneziaWG su tráfico? Veamos los cuatro niveles de ofuscación que hacen que DPI sea ciego — y por qué añaden casi ningún costo de velocidad.
Cómo AmneziaWG se Oculta de DPI (Sin Pérdida de Velocidad)
AmneziaWG 2.0 utiliza cuatro niveles de ofuscación que funcionan conjuntamente. Cada uno se dirige a una forma diferente en que los sistemas DPI identifican el tráfico VPN. En conjunto, hacen que el tráfico de cada servidor sea único.
Encabezados Dinámicos (H1–H4)
WireGuard utiliza identificadores de tipo de mensaje fijos de 32 bits:
- 1 — para iniciación
- 2 — para respuesta
- 3 — para respuesta con cookie
- 4 — para datos
Un dispositivo DPI que escanea el tráfico simplemente busca estos valores. AmneziaWG 2.0 reemplaza cada valor fijo con un número aleatorio elegido de un rango especificado. El encabezado de iniciación (H1) puede ser cualquier valor de 234567 a 345678. El encabezado de respuesta (H2) puede ser de 3456789 a 4567890. Estos rangos nunca se superponen — el protocolo aún necesita distinguir tipos de paquetes internamente — pero para un observador externo, no hay un único valor de encabezado al que aferrarse. Cada paquete se ve diferente del anterior.
Relleno Aleatorio (S1–S4)
El paquete de iniciación de WireGuard siempre tiene exactamente 148 bytes. Su respuesta siempre tiene exactamente 92 bytes. Estos tamaños fijos son otra huella digital. AmneziaWG añade relleno aleatorio a cada tipo de paquete: la iniciación se convierte en 148+S1 bytes, la respuesta se convierte en 92+S2 bytes, la respuesta con cookie se convierte en 64+S3 bytes, y cada paquete de datos recibe S4 bytes de relleno. S3 y S4 son nuevos en la versión 2.0 — y S4 es la adición más significativa, ya que afecta a cada paquete de datos individual, haciendo que el análisis de tráfico a nivel de sesión sea mucho más difícil.
Hay una restricción crítica: S1+56 no debe ser igual a S2. Dado que la diferencia de tamaño original entre iniciación y respuesta es de 56 bytes (148−92), si los valores de relleno compensan aleatoriamente exactamente esa diferencia, dos paquetes rellenados terminarán con el mismo tamaño — recreando la huella digital que AmneziaWG intenta eliminar. El generador de parámetros del instalador garantiza automáticamente esta restricción.
Firma de Protocolo Personalizada (I1–I5)
Antes de que comience el apretón de manos real, el cliente de AmneziaWG envía hasta cinco paquetes sustitutos que imitan otros protocolos — QUIC, DNS, SIP o patrones de bytes personalizados. El servidor ignora completamente estos paquetes. Simplemente espera el apretón de manos real.
- Configuración simple: Envía 128 bytes aleatorios <r 128>.
- Configuración compleja: Envía bytes que parecen iniciar una conexión QUIC (<b 0xc000000001><r 64><t>), con una marca de tiempo Unix.
Para un sistema DPI que observa el inicio de la sesión, los primeros paquetes parecen tráfico web regular.
Paquetes Basura (Jc, Jmin, Jmax)
Después de los paquetes sustitutos, el cliente envía un número personalizable de paquetes basura — ruido puro con tamaños aleatorios de Jmin a Jmax. Estos paquetes difuminan el perfil de tiempo y tamaño del inicio de la sesión, haciendo que sea más difícil para los sistemas DPI identificar dónde comienza el apretón de manos real.
Pregunta sobre Velocidad
Hay un número circulando en internet: AmneziaWG tiene una sobrecarga del 65%. Esta cifra es real, pero se refiere a la implementación Go en espacio de usuario — no al módulo del kernel. El instalador de la comunidad utilizado en esta guía construye un módulo del kernel DKMS, y el módulo del kernel añade menos del 12% de sobrecarga en general — más cerca del 3% en pruebas reales. En una red sin censura, verías aproximadamente 95 Mbps a través de WireGuard y 92 Mbps a través de AmneziaWG 2.0. En una red censurada, la comparación es 92 Mbps versus cero.
La siguiente tabla resume los parámetros que el instalador genera automáticamente:
| Parámetro | Rango Generado | Valor de Ejemplo |
|---|---|---|
| Jc (número de paquetes basura) | 4–8 | 6 |
| Jmin (tamaño mín. basura) | 40–89 | 55 |
| Jmax (tamaño máx. basura) | Jmin+100 a Jmin+500 | 380 |
| S1 (relleno de iniciación) | 15–150 | 72 |
| S2 (relleno de respuesta) | 15–150, S1+56≠S2 | 56 |
| S3 (relleno de cookie) | 8–55 | 32 |
| S4 (relleno de datos) | 4–27 | 16 |
| H1 (rango de encabezado de iniciación) | uint32 sin superposición | 234567-345678 |
| H2 (rango de encabezado de respuesta) | uint32 sin superposición | 3456789-4567890 |
| H3 (rango de encabezado de cookie) | uint32 sin superposición | 56789012-67890123 |
| H4 (rango de encabezado de datos) | uint32 sin superposición | 456789012-567890123 |
| I1 (paquete CPS) | <r N> formato | <r 128> |
No necesitas establecer ninguno de estos parámetros manualmente. El instalador genera valores criptográficamente aleatorios que cumplen las restricciones cada vez.
Ahora que sabes cómo funciona la ofuscación, veamos cómo AmneziaWG se compara con alternativas que podrías estar considerando.
AmneziaWG vs Alternativas — Guía Rápida para la Toma de Decisiones

| WireGuard | AmneziaWG 2.0 | OpenVPN+obfs4 | Shadowsocks | VLESS+Reality | |
|---|---|---|---|---|---|
| Resistencia a DPI | Baja | Alta | Media | Media | Muy Alta |
| Sobrecarga de Velocidad | ~4% | <12% (~3% en condiciones reales) | ~25% | ~8% | ~10% |
| Túnel VPN Completo | Sí | Sí | Sí | No (proxy) | No (proxy) |
| Se Ejecuta en Kernel | Sí | Sí (DKMS) | No | No | No |
| Complejidad de Configuración | Baja | Baja (con instalador) | Alta | Media | Alta |
| Transporte | UDP | UDP | TCP/UDP | TCP | TCP |
Las reglas de decisión son simples:
- ¿No hay DPI en tu país? Usa WireGuard regular. Es más fácil y tiene un ecosistema más amplio.
- ¿Necesitas máxima protección contra DPI y no te importan los proxies? VLESS+Reality es la opción más fuerte para ofuscación, pero no es un túnel completo.
- ¿Quieres velocidad y un túnel completo con ofuscación? AmneziaWG 2.0 es la única opción que ofrece rendimiento a nivel WireGuard con protección DPI real en un túnel VPN completo.
- ¿Ya estás usando OpenVPN+obfs4 y sigue funcionando? No hay urgencia en cambiar, pero AmneziaWG será notablemente más rápido.
Este artículo se enfoca en AmneziaWG porque es el único protocolo que te proporciona un túnel completo, rendimiento a nivel kernel y ofuscación integrada — todo configurado con un único script.
Si AmneziaWG es la opción correcta para tu situación, aquí está lo que necesitas antes de comenzar el despliegue.
Lo que necesitas antes de empezar
Antes de ejecutar el instalador, asegúrate de que tu entorno cumple con estos requisitos:
| Requisito | Detalles | Por qué |
|---|---|---|
| SO | Ubuntu 24.04 LTS (instalación limpia). Ubuntu 25.10 es experimental. Debian 12/13 funciona pero puede requerir curl preinstalado. | El instalador está probado y completamente soportado en Ubuntu 24.04. |
| Especificaciones VPS | 1 vCore, 1 GB RAM, 25 GB almacenamiento. Cualquier plan de $3–5/mes es adecuado. | El instalador requiere ~2 GB de espacio en disco y ~1 GB de RAM durante la compilación DKMS. La VPN en funcionamiento utiliza recursos mínimos. |
| Virtualización | KVM (no OpenVZ, no LXC). | AmneziaWG carga el módulo del kernel a través de DKMS. LXC utiliza un kernel del host compartido y no puede cargar módulos personalizados. |
| Acceso SSH | Usuario root o sudo con autenticación por contraseña/clave. | El instalador necesita ejecutarse como root. |
| Puerto SSH | Puerto 22 predeterminado o abierto previamente en UFW si utilizas un puerto no estándar. | Si SSH no se ejecuta en el puerto 22 y no lo has abierto de antemano, la configuración del firewall del instalador te bloqueará. |
| Aplicación cliente | Amnezia VPN >= 4.8.12.7 (todas las plataformas). | Las opciones de AWG 2.0 no son reconocidas por clientes más antiguos. El cliente WireGuard estándar no soporta AWG en absoluto. |
⚠️ Advertencia: Los contenedores LXC no están soportados. Si tu VPS utiliza virtualización LXC, la compilación del módulo del kernel DKMS fallará. Debes utilizar KVM o bare-metal. Consulta con tu proveedor si no estás seguro.
⚠️ Advertencia: Si tu SSH se ejecuta en un puerto no estándar (cualquier cosa que no sea el 22), debes abrirlo en UFW antes de ejecutar el instalador:
sudo ufw allow YOUR_PORT/tcp
Reemplaza YOUR_PORT con tu puerto SSH real. El instalador incluye UFW con una política predeterminada — si tu puerto SSH no está permitido, serás bloqueado inmediatamente.
💡 Consejo: Espera 5–10 minutos después de crear tu VPS antes de ejecutar el instalador. Los procesos de cloud-init e inicialización en segundo plano pueden entrar en conflicto con las llamadas apt-get que realiza el instalador.
Con tu VPS listo y los requisitos previos confirmados, desplegemos AmneziaWG 2.0 utilizando el script del instalador comunitario — el método más rápido y transparente.
Método 1 — Desplegar con el Instalador CLI (Recomendado)
Este es el método de instalación principal. Descargarás un script instalador con versión fija, lo ejecutarás como root, seguirás ocho pasos automatizados (con dos reinicios esperados) y terminarás con un servidor AmneziaWG 2.0 completamente configurado. El instalador se encarga de todo: instalación de paquetes, compilación del módulo del kernel, configuración del firewall, generación de parámetros e inicio del servicio.
6.1 — Conectarse a tu VPS por SSH
Abre tu terminal y conéctate a tu servidor:
ssh root@<SERVER_IP>
Reemplaza <SERVER_IP> con la dirección IP pública real de tu VPS. Si tu proveedor te proporcionó un usuario sin privilegios de root, inicia sesión con ese usuario y luego escala:
ssh <username>@<SERVER_IP>
sudo -i
Deberías ver el banner de bienvenida de Ubuntu 24.04 seguido de un prompt de root:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#
6.2 — Descargar y Ejecutar el Instalador
Descarga el script instalador, hazlo ejecutable y ejecútalo:
wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.8.1/install_amneziawg_en.sh
chmod +x install_amneziawg_en.sh
sudo bash ./install_amneziawg_en.sh
La URL tiene versión fija a v5.8.1 — la última versión a partir de abril de 2026. Esta es seguridad de cadena de suministro: garantiza que el script descargado coincida con la versión probada, incluso si el repositorio ha sido actualizado desde entonces.
El instalador comienza verificando tu sistema:
============================================
AmneziaWG 2.0 Installer v5.8.1
============================================
Checking system requirements...
OS: Ubuntu 24.04 LTS — OK
Virtualization: KVM — OK
RAM: 1024 MB — OK
Disk: 25 GB free — OK
Si alguna verificación falla, el instalador se detiene y te dice por qué. Soluciona el problema y vuelve a ejecutar el comando.
6.3 — Seguir los Prompts del Instalador
El instalador es una máquina de estados de ocho pasos con soporte para reanudar después del reinicio. Guarda su progreso en /root/awg/awgsetup_cfg.init, así que si el servidor se reinicia, simplemente ejecutas el mismo comando de nuevo y continúa desde donde se quedó.
Paso 0: Inicialización — El instalador verifica tu SO, tipo de virtualización, RAM y espacio en disco. Crea el directorio de trabajo /root/awg/ y configura un archivo de bloqueo para prevenir ejecuciones paralelas.
Paso 1: Actualización del Sistema e Instalación de Paquetes — El instalador ejecuta apt-get update && apt-get upgrade -y. Luego instala AmneziaWG, DKMS, encabezados de Linux, UFW, Fail2Ban, herramientas de generación de códigos QR y otras dependencias.
📝 Nota: El instalador también elimina varios servicios de fondo que consumen recursos en instancias VPS mínimas: snapd, modemmanager, networkd-dispatcher, unattended-upgrades, packagekit, lxd-agent-loader y udisks2. Esto es intencional y seguro para nodos VPN mínimos, pero puede romper entornos de propósito general.
Cuando el Paso 1 se completa, el instalador solicita un reinicio:
Reboot required. Reboot now? [y/n]:
Escribe y y presiona Enter. Después de que el servidor vuelva a estar activo, conéctate por SSH nuevamente y vuelve a ejecutar el mismo comando:
sudo bash ./install_amneziawg_en.sh
El script lee su estado guardado y continúa al Paso 2 sin volver a hacer ningún prompt.
Paso 2: Compilación del Módulo del Kernel DKMS — El instalador compila el módulo del kernel AmneziaWG contra tu kernel actual y lo registra con DKMS para reconstrucción automática en futuras actualizaciones del kernel:
Step 2: Building AmneziaWG kernel module via DKMS...
Creating symlink /var/lib/dkms/amneziawg/2.0/source -> /usr/src/amneziawg-2.0
DKMS: add completed.
Kernel preparation completed.
Building module:
make -C /lib/modules/6.8.0-xx-generic/build M=/var/lib/dkms/amneziawg/2.0/build modules
DKMS: build completed.
DKMS: install completed.
Se solicita un segundo reinicio. Escribe y y presiona Enter.
📝 Nota: Dos reinicios durante la instalación son normales y esperados. El primero carga los nuevos encabezados del kernel, el segundo activa el módulo del kernel recién compilado. El script guarda el estado entre reinicios — nada se pierde.
Después del segundo reinicio, conéctate por SSH nuevamente y ejecuta el instalador una vez más:
sudo bash ./install_amneziawg_en.sh
Paso 3: Verificación del Módulo Después del Reinicio — El script verifica que el módulo del kernel esté cargado (lsmod | grep amneziawg). Si la compilación de DKMS falló por alguna razón, recurre a la implementación en espacio de usuario de Go con una advertencia sobre la sobrecarga más alta.
Paso 4: Configuración del Firewall — UFW se habilita con una política de denegación predeterminada entrante. El instalador añade una regla de limitación de velocidad SSH en el puerto 22, abre tu puerto VPN para tráfico UDP y configura reglas de enrutamiento para la interfaz awg0.
Paso 5: Descarga de Scripts de Gestión — Los scripts de gestión de clientes (manage_amneziawg.sh y awg_common.sh) se descargan a /root/awg/ con permisos solo del propietario (700). Estos también tienen versión fija a v5.8.1.
Paso 6: Configuración Interactiva — El instalador ahora hace cuatro preguntas:
- Puerto UDP (predeterminado: 39743, rango 1024–65535). El predeterminado es un puerto alto aleatorio — mantenlo a menos que se sepa que tu ISP bloquea puertos UDP altos.
- Subred del túnel (predeterminado: 10.9.9.1/24). Esta es tu red VPN interna. El servidor obtiene .1, los clientes obtienen .2 a .254, soportando hasta 253 clientes.
- Desactivar IPv6 (predeterminado: Y). Recomendado — desactivar IPv6 previene que el tráfico se filtre fuera del túnel en rutas IPv6.
- Modo de enrutamientoElige 1 para todo el tráfico, 2 para Lista Amnezia + DNS (recomendado), o 3 para redes personalizadas. El Modo 2 enruta solo rangos de IP públicos bloqueados y DNS a través de la VPN, manteniendo tu acceso a la red local rápido y directo.
💡 Consejo: La MTU se establece en 1280 por defecto. Esta es la MTU mínima de IPv6 y es crítica para redes móviles y celulares. iOS es estricto con respecto al Descubrimiento de MTU de Ruta, y las redes celulares a menudo tienen una MTU efectiva por debajo del predeterminado de WireGuard de 1420. Déjalo en 1280.
Paso 7: Inicio del Servicio — El instalador genera la configuración del servidor en /etc/amnezia/amneziawg/awg0.conf, crea dos configuraciones de cliente predeterminadas (my_phone y my_laptop) en /root/awg/, genera códigos QR e inicia el servicio systemd awg-quick@awg0.
Paso 8: Finalización — Verás el mensaje de éxito:

El instalador genera todos los parámetros de ofuscación de AmneziaWG 2.0 automáticamente. No necesitas tocarlos. Cada servidor obtiene un conjunto único de valores — no hay huella digital universal para que los sistemas DPI detecten.
6.4 — Gestionar Clientes Después de la Instalación
El script de gestión en /root/awg/manage_amneziawg.sh maneja todas las operaciones del ciclo de vida del cliente. Aquí están los comandos esenciales:
Añadir un nuevo cliente:
sudo bash /root/awg/manage_amneziawg.sh add my_desktop
Esto genera un archivo .conf, código QR y archivo .vpnuri para el nuevo cliente. La configuración del servidor se recarga en caliente — no se necesita reinicio del servicio.
Añadir un cliente temporal que expira automáticamente:
sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d
Un trabajo cron verifica cada cinco minutos y elimina automáticamente el cliente cuando expira. La configuración, claves y entrada del servidor se limpian completamente.
Listar todos los clientes:
sudo bash /root/awg/manage_amneziawg.sh list
Clients: my_phone (10.9.9.2/32) my_laptop (10.9.9.3/32) my_desktop (10.9.9.4/32) guest (10.9.9.5/32) [expires in 6d 23h]
Añade la bandera -v para detalles adicionales incluyendo claves públicas y fechas de creación.
Eliminar un cliente:
sudo bash /root/awg/manage_amneziawg.sh remove guest
Verificar el estado completo del servidor:
sudo bash /root/awg/manage_amneziawg.sh check
Esto muestra el estado del servicio, puerto abierto, todos los parámetros de AWG 2.0, estado del módulo del kernel, estado de UFW y estado de Fail2Ban en una sola vista.
Ver estadísticas de tráfico por cliente:
sudo bash /root/awg/manage_amneziawg.sh stats
Client Received Sent Latest handshake ─────────────────────────────────────────────────────────────────── my_phone 1.24 GiB 356.7 MiB 2 minutes ago my_laptop 892.3 MiB 128.4 MiB 15 seconds ago my_desktop 0 B 0 B (none)
Crear una copia de seguridad:
sudo bash /root/awg/manage_amneziawg.sh backup
Esto crea un archivo comprimido en /root/awg/backups/ que contiene tu configuración del servidor, configuraciones de clientes, claves y datos de expiración.
📝 Nota: Los comandos add y remove utilizan awg syncconf para recarga en caliente. La configuración del servidor se actualiza instantáneamente sin reiniciar el servicio. Solo usa restart cuando cambies parámetros del lado del servidor como el puerto o la MTU.
6.5 — Verificar que el Servidor Está Ejecutándose
Ejecuta estas verificaciones para confirmar que todo está operativo:
Verificar el servicio systemd:
sudo systemctl status awg-quick@awg0
● awg-quick@awg0.service - AmneziaWG Quick via awg-quick(8) for awg0
Loaded: loaded (/lib/systemd/system/awg-quick@.service; enabled)
Active: active (exited) since Thu 2026-04-09 14:32:01 UTCVerificar el estado y parámetros de AmneziaWG:
sudo awg show awg0
Verificar el firewall:
sudo ufw status verbose
Status: active Default: deny (incoming), allow (outgoing) 22/tcp LIMIT IN Anywhere 39743/udp ALLOW IN Anywhere
Verificar Fail2Ban:
sudo fail2ban-client status sshd
Status for the jail: sshd |- Filter | |- Currently failed: 0 | `- Total failed: 0 `- Actions |- Currently banned: 0 `- Banned IP list:
Verificar el módulo del kernel DKMS:
dkms status
amneziawg/1.0.0, 6.8.0-110-generic, x86_64: installed
Si las cinco verificaciones pasan, tu servidor AmneziaWG 2.0 está ejecutándose y listo para aceptar conexiones.
Tu servidor está ejecutándose y verificado. Si prefieres un enfoque impulsado por GUI en lugar de la terminal, aquí está el método alternativo usando la aplicación AmneziaVPN.
Método 2 — Desplegar con la aplicación AmneziaVPN (Alternativa)
La aplicación de escritorio AmneziaVPN puede instalar automáticamente AmneziaWG en tu servidor a través de SSH. Utiliza el mismo script instalador subyacente que el método CLI, pero lo envuelve todo en una interfaz guiada. Esto es ideal si deseas una experiencia de instalación sin intervención manual.
- Descarga AmneziaVPN desde amnezia.org/en/downloads. Está disponible para Windows, macOS, Linux, Android e iOS.
- Abre la aplicación y haz clic en el ➕ (icono de más) o en Comenzar.
- Selecciona «Self-hosted VPN» de las opciones presentadas.
- Introduce las credenciales de tu servidor:
- Dirección IP del servidor (y puerto si SSH no está en 22, p. ej., 203.0.113.10:2221)
- Nombre de usuario SSH (p. ej., root)
- Contraseña o clave privada SSH
- Elige el tipo de instalación:
- Automática — instala solo AmneziaWG (recomendado)
- Manual — elige un protocolo específico de la lista
- Haz clic en «Instalar» — la aplicación se conecta a tu servidor a través de SSH y ejecuta la instalación automáticamente. Verás un indicador de progreso.
- Después de la instalación, la aplicación crea un perfil de conexión VPN listo para usar.
Notas posteriores a la instalación:
- La aplicación instala AmneziaWG con un puerto aleatorio por defecto. Algunos proveedores de servicios de Internet bloquean UDP en puertos altos. La aplicación recomienda cambiar a un puerto inferior a 9999 (como 585 o 1234). Para cambiarlo: haz clic en el icono de engranaje junto a la conexión → pestaña Gestión → cambia el número de puerto.
- Si tu servidor ya tiene software Amnezia instalado, haz clic en «Omitir configuración» durante la creación de la conexión, luego utiliza «Verificar el servidor para servicios Amnezia instalados previamente» en la pestaña Gestión.
Aquí se comparan los dos métodos:
| Aspecto | Instalador CLI | Aplicación AmneziaVPN |
|---|---|---|
| Control | Total — ves cada paso, puedes personalizar | Limitado — la aplicación lo maneja todo |
| Visibilidad | Transparente — todos los comandos visibles | Opaca — se ejecuta en segundo plano |
| Flexibilidad | Enrutamiento personalizado, punto final, banderas | Solo utiliza valores por defecto |
| Facilidad de uso | Requiere familiaridad con SSH | Sin trabajo de terminal |
| Gestión | Suite completa manage_amneziawg.sh | Solo gestión basada en aplicación |
| Mejor para | VPS no administrado, solución de problemas | Configuración rápida, experiencia guiada |
Ya sea que hayas utilizado el CLI o la aplicación, tu servidor está listo. Ahora vamos a conectar tu primer dispositivo.
Conectando tu Primer Cliente
Después de la instalación, tienes tres formas de importar la configuración del cliente en la app Amnezia VPN. Elige la que se adapte a tu dispositivo.
Método A: Código QR (Móvil)
El instalador generó un código QR en /root/awg/my_phone.png. Descárgalo en tu ordenador:
scp root@<SERVER_IP>:/root/awg/my_phone.png .
Abre el archivo PNG en tu pantalla. En tu teléfono, abre la app Amnezia VPN, toca «Añadir VPN» → «Escanear código QR» y apunta la cámara al código QR que ves en la pantalla. La conexión se importa automáticamente.
Método B: URI vpn:// (Cliente Amnezia)
Muestra la URI comprimida en tu servidor:
cat /root/awg/my_phone.vpnuri
Copia toda la cadena vpn://… y envíatela a ti mismo — por Telegram, correo electrónico o una app de notas. En tu teléfono, abre la app Amnezia VPN, toca «Añadir VPN» → «Pegar desde portapapeles». La configuración se importa en un paso.
La URI es una versión comprimida con zlib y codificada en Base64 del archivo de configuración completo. Es compacta y está diseñada para compartir rápidamente.
Método C: Archivo .conf (Escritorio/Windows)
Descarga el archivo de configuración:
scp root@<SERVER_IP>:/root/awg/my_phone.conf .
Abre el cliente AmneziaWG para Windows o la app AmneziaVPN de escritorio, haz clic en «Importar túnel(es) desde archivo» y selecciona el archivo .conf.
Verifica la Conexión
Una vez conectado, verifica que el túnel está enrutando tu tráfico a través del servidor:
curl ifconfig.me
El resultado debe mostrar la dirección IP pública de tu servidor, no la local: 203.0.113.1
Para más detalles, incluyendo la ubicación geográfica del servidor:
curl -s https://ipinfo.io/json
{
"ip": "203.0.113.1",
"city": "Amsterdam",
"region": "North Holland",
"country": "NL",
...
}⚠️ Advertencia: El cliente WireGuard estándar no funciona con configuraciones de AmneziaWG 2.0. Debes usar la app Amnezia VPN (versión 4.8.12.7 o posterior) o un cliente nativo de AmneziaWG (versión 2.0.0 o posterior en Windows/Android/iOS).
⚠️ Advertencia: Si ves «Invalid key: s3» en Windows, tu cliente AmneziaWG para Windows está desactualizado (versión inferior a 2.0.0). Actualiza a la versión 2.0.0+ o cambia a la app Amnezia VPN.
💡 Consejo: Si estás conectado pero no tienes internet, verifica que tu configuración del cliente tenga MTU = 1280 en la sección [Interface]. Esta es la causa más común de «handshake exitoso pero sin tráfico» en redes móviles.
¡Felicidades! Tu túnel VPN está funcionando.
Qué hacer a continuación — Ampliando tu configuración
Ahora tienes un túnel VPN resistente a DPI ejecutándose en tu propio servidor, bajo tu control, con velocidad de grado WireGuard. La muerte silenciosa de paquetes que mató tu conexión WireGuard ya no es un problema — tu tráfico parece algo que un sistema DPI no puede identificar de forma fiable.
Aquí están las cosas más útiles que puedes hacer a continuación:
- Añade clientes para tu familia o equipo — usa el script de gestión para generar configuraciones para cada dispositivo que necesite acceso.
- Configura túnel dividido si no necesitas enrutamiento de túnel completo — mantiene el tráfico local rápido y reduce el ancho de banda en tu VPS.
- Realiza una copia de seguridad de tus configuraciones — ejecuta el comando de copia de seguridad y almacena el archivo en un lugar seguro. Si tu servidor alguna vez necesita ser reconstruido, esto es lo que te salva de empezar de nuevo.
Configura túnel dividido si no necesitas que todo el tráfico se enrute a través de la VPN. Esto es especialmente útil en países con censura parcial — enruta solo los sitios bloqueados a través del túnel y mantén el tráfico local directo:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"
Cambia tu DNS de cliente si prefieres diferentes resolutores:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"
Ajusta PersistentKeepalive si estás en una configuración NAT agresiva. El valor predeterminado de 33 segundos mantiene la sesión UDP a través de NAT — reducirlo a 25 puede ayudar en redes que descartan sesiones UDP inactivas rápidamente:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25
Instala en tu router para cobertura de toda la red. AmneziaWG es compatible con routers Keenetic a través de AWG Manager y en routers ASUS ejecutando Asuswrt-Merlin a través de AmneziaWG para Merlin.
Realiza una copia de seguridad de tu configuración ahora, antes de que nada cambie:
sudo bash /root/awg/manage_amneziawg.sh backup
Si alguna vez necesitas migrar a un nuevo servidor, ejecuta una instalación nueva y luego:
sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regen
El comando restore recupera tus configuraciones y claves, y regen actualiza las configuraciones del cliente con la nueva IP del servidor.
Para documentación más profunda, los documentos oficiales de Amnezia están en docs.amnezia.org y la comunidad es activa en Telegram.
Conclusión
Después de recorrer la configuración completa, lo que destaca de AmneziaWG 2.0 no es solo que funciona, sino por qué funciona de manera confiable donde otros fallan. Al preservar el núcleo criptográfico probado de WireGuard mientras cambia fundamentalmente cómo se ve el tráfico en la red, evita las debilidades exactas que explota la Inspección Profunda de Paquetes. El resultado es una configuración que se siente tan rápida y simple como WireGuard en la práctica, pero mucho más resiliente en entornos hostiles. Una vez implementada, el valor se hace evidente: no solo estás ejecutando una VPN, estás ejecutando una que está construida para sobrevivir al bloqueo del mundo real.
Si buscas un VPS confiable para alojar tu servidor AmneziaWG, o necesitas escalar con puntos finales adicionales para miembros del equipo, AvaHost proporciona virtualización KVM con acceso root completo, almacenamiento NVMe y soporte para Ubuntu 24.04 que esta configuración requiere. Su infraestructura está diseñada específicamente para los tipos de implementaciones autohospedadas que cubre esta guía.