Configurar una dirección IPv6 estática en un VPS Linux

3 min
Hosting VPS/VDS

Si tu servidor aún no responde por IPv6, lo más probable es que la dirección esté asignada pero no configurada en el sistema. Esta guía muestra cómo fijarla de forma estática en Ubuntu, Debian y AlmaLinux, probar la conectividad y protegerla con un cortafuegos. Sirve para cualquier VPS Linux Infrawire con asignación IPv6.

📋 Requisitos previos

  • Un VPS con acceso root por SSH, con Ubuntu 24.04, Debian 12 o AlmaLinux 9 / Rocky 9. Tu área de cliente te da la IP y la contraseña root.
  • Tu dirección IPv6, la longitud del prefijo y la puerta de enlace, escritas abajo como VPS_IPV6, PREFIX (a menudo 64) y IPV6_GATEWAY.
  • El nombre de la interfaz (eth0 en estos ejemplos):
Bash
ip -br link ip -6 addr show ip -6 route show

Mantén una segunda sesión SSH abierta mientras editas los archivos de red, para que un error no te deje fuera.

🟠 Ubuntu 24.04: Netplan

Los archivos de Netplan están en /etc/netplan/. En imágenes cloud el archivo suele generarlo cloud-init y puede sobrescribirse al reiniciar, así que desactiva primero su gestión de red:

Bash
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
YAML
network: {config: disabled}

Después edita tu archivo de Netplan (por ejemplo /etc/netplan/50-cloud-init.yaml) y añade la dirección y la ruta IPv6. Conserva tus líneas IPv4 existentes:

YAML
1network: 2 version: 2 3 ethernets: 4 eth0: 5 addresses: 6 - VPS_IP/IPV4_PREFIX 7 - VPS_IPV6/PREFIX 8 routes: 9 - to: default 10 via: IPV4_GATEWAY 11 - to: default 12 via: IPV6_GATEWAY 13 nameservers: 14 addresses: [1.1.1.1, 2606:4700:4700::1111]
Bash
sudo chmod 600 /etc/netplan/*.yaml sudo netplan try

netplan try revierte automáticamente tras 120 segundos si no confirmas, lo que te protege de una mala configuración. Confirma con Enter, o usa sudo netplan apply cuando estés seguro.

🔴 Debian 12: /etc/network/interfaces

Bash
sudo nano /etc/network/interfaces

Añade un bloque para la misma interfaz:

INI
iface eth0 inet6 static address VPS_IPV6/PREFIX gateway IPV6_GATEWAY dns-nameservers 2606:4700:4700::1111

La línea dns-nameservers solo funciona si el paquete resolvconf está instalado; si no, pon el resolvedor en /etc/resolv.conf. Aplica el cambio:

Bash
sudo systemctl restart networking

Reiniciar el servicio puede cortar la conexión un instante. Si la interfaz usa DHCP para IPv4 y solo quieres añadir IPv6, también puedes ejecutar sudo ifdown eth0 && sudo ifup eth0 desde la consola.

🔵 AlmaLinux 9 / Rocky 9: nmcli

NetworkManager gestiona la interfaz. Lista primero los nombres de conexión:

Bash
nmcli connection show

Usa el nombre que veas (CON_NAME, por ejemplo System eth0 o cloud-init eth0):

Bash
sudo nmcli connection modify 'CON_NAME' ipv6.method manual \ ipv6.addresses VPS_IPV6/PREFIX \ ipv6.gateway IPV6_GATEWAY \ ipv6.dns 2606:4700:4700::1111 sudo nmcli connection up 'CON_NAME'

El cambio se guarda en el perfil de conexión y sobrevive a los reinicios.

✅ Probar la conexión

Bash
ip -6 addr show dev eth0 ip -6 route show default ping -6 -c 3 IPV6_GATEWAY ping -6 -c 3 2606:4700:4700::1111 curl -6 -I https://www.debian.org

En sistemas antiguos, ping6 hace lo mismo que ping -6. Comprueba también desde otra máquina con IPv6, usando la dirección de tu VPS:

Bash
ping -6 -c 3 VPS_IPV6 ssh root@VPS_IPV6

🔥 Cortafuegos para IPv6

Una regla que solo existe para IPv4 deja abierto el lado IPv6. Con UFW, asegúrate de que el soporte IPv6 está activado:

Bash
grep IPV6 /etc/default/ufw # debe mostrar IPV6=yes sudo ufw allow 22/tcp sudo ufw allow 80,443/tcp sudo ufw enable sudo ufw status verbose

Cada regla aparece entonces dos veces, una con (v6). En AlmaLinux, firewalld cubre ambas familias con los mismos comandos:

Bash
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

🛠️ Solución de problemas

La dirección está pero el ping a la puerta de enlace falla. Revisa la longitud del prefijo y la puerta de enlace. Algunas redes usan una puerta de enlace link-local como fe80::1; en ese caso úsala y añade dev eth0 a la ruta si tu herramienta lo pide.

Funciona hasta el siguiente reinicio. Otra herramienta reescribe la configuración: cloud-init en Ubuntu (mira la primera sección), o un ip -6 addr add suelto que nunca llegó a los archivos de configuración. Los comandos ejecutados con ip son temporales.

IPv6 responde al ping pero las webs no cargan. El cortafuegos o el servicio escuchan solo en IPv4. Comprueba con ss -tlnp: un servidor web debe mostrar [::]:80, no solo 0.0.0.0:80. En nginx, añade listen [::]:80; al bloque server.


🚀 Tu VPS ya habla IPv6: publica un registro AAAA y tus servicios serán accesibles por ambos protocolos.

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones

Utilizamos cookies

Utilizamos cookies analíticas para mejorar su experiencia en nuestro sitio. No vendemos datos a terceros. Más información en nuestra política de privacidad.