Todas las comparativas de VPS de este sitio lo indican: «un único /128 IPv6 por defecto», «/64 IPv6», «sin IPv6 en el plan base». Se lee como un detalle de ficha técnica. Para un servidor WireGuard autoalojado no lo es: decide si tus pares pueden tener IPv6 siquiera.
A WireGuard le da igual qué pila uses
Empecemos por lo fácil. La documentación de WireGuard es explícita: «Any combination of IPv4 and IPv6 can be used, for any of the fields.» - cualquier combinación de IPv4 e IPv6 puede usarse, en cualquiera de los campos.
El endpoint puede ser IPv4 mientras el túnel transporta IPv6, o al revés. No hay un modo IPv6 aparte que activar ni un segundo demonio que ejecutar. Un túnel de doble pila son simplemente dos direcciones en la misma interfaz.
Qué significan /64 y /128 en la práctica
Aquí es donde la ficha del proveedor empieza a importar.
Un /128 es una sola dirección. Es la IPv6 propia de tu servidor y nada más. Puedes dar conectividad IPv6 al servidor, pero no te quedan direcciones que repartir: tus pares no pueden tener una cada uno.
Un /64 es un bloque. Es el tamaño de asignación estándar para un segmento de red, y te deja libertad para asignar una dirección a cada par desde dentro.
Un proveedor que anuncia «IPv6 incluido» con un único /128 dice la verdad y aun así no da lo que un servidor VPN necesita. Esa es la línea que conviene releer en una tabla comparativa, incluida la nuestra.
AllowedIPs hace dos trabajos distintos
Esta es la parte que se entiende mal, y está documentada sin ambigüedad. El mismo campo se comporta de forma distinta según el sentido:
«al enviar paquetes, la lista de IP permitidas se comporta como una especie de tabla de enrutamiento»
«al recibir paquetes, la lista de IP permitidas se comporta como una especie de lista de control de acceso»
WireGuard llama al conjunto una Cryptokey Routing Table - «la simple asociación de claves públicas e IP permitidas».
La consecuencia para IPv6 es directa: si quieres que el tráfico IPv6 de un par pase por el túnel, ::/0 debe figurar en su AllowedIPs. Poner solo 0.0.0.0/0 enruta únicamente IPv4, y el tráfico IPv6 del par sale por su conexión normal, fuera del túnel y con su dirección real.
Eso es una fuga, y no es un fallo de WireGuard. Es la lista de control de acceso haciendo exactamente lo que se le dijo.
La configuración en la práctica
En el servidor, da a la interfaz una dirección IPv4 y una IPv6 de tu asignación. En cada par, lista ambas pilas en AllowedIPs. Para tunelizar todo, es 0.0.0.0/0, ::/0; para un reparto, lista los prefijos concretos de cada pila.
Dos cosas a tener presentes. El forwarding debe activarse para ambas familias, no solo IPv4: son ajustes sysctl distintos y activar uno no hace nada por el otro. Y tus reglas de cortafuegos también existen por duplicado: iptables e ip6tables son tablas diferentes, así que un masquerade o un kill switch escrito solo para IPv4 deja IPv6 sin protección.
Verificar en vez de suponer
Una vez montado, comprueba desde el cliente que tu IPv6 pública es la del servidor y no la tuya. Un túnel que transporta bien IPv4 mientras filtra IPv6 parece perfectamente sano por dentro: el handshake funciona, el tráfico fluye y nada en los registros se queja.
Si tu proveedor solo te da un /128, las opciones honestas son quedarte en IPv4 dentro del túnel y bloquear IPv6 en los pares para que no pueda filtrarse, o cambiar de proveedor. Una doble pila a medio configurar es peor que no tener IPv6.

★ Datacenter Núremberg GDPR · ✓ IPv4 dedicada incluida · 200+ Mbps garantizados
Aloja tu VPN en tu propio VPS → ContaboAcceso root completo · IPv4 pública · elige tu región→


