IPv4, IPv6 e IP fija: lo básico para quien hospeda

IPv4 e IPv6 son dos versiones de la dirección que identifica a una máquina en internet: IPv4 tiene 32 bits e IPv6 tiene 128 bits. Una IP fija es una dirección que no cambia con el tiempo.

Actualizado el 6 min de lectura

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Entender la diferencia entre IPv4 e IPv6
  • Saber qué es una IP fija, dinámica, pública y privada
  • Decidir cuándo necesitas una IP fija y cuándo basta con un dominio
En esta página

Toda computadora que habla con internet tiene una dirección IP, y muchas dudas de hosting pasan por ella, desde qué IP poner en el DNS hasta si necesitas una IP fija. Conocer las dos versiones del protocolo te muestra qué cambia cuando publicas un bot, una API o un sitio web.

Casi siempre ni siquiera escribes una IP: apuntas nombres y el DNS hace el resto. Aun así, entender la diferencia evita errores de configuración y te ayuda a saber cuándo una IP fija importa de verdad.

ejemplo.comAAAAAIPv42030.113.10.4 bloques decimales32 bitsIPv68 grupos hexadecimales20010db8:0000:0000:0000:0000:0000:0010:128 bitsforma corta: 2001:db8::10
El mismo nombre puede tener una IPv4 (registro A, 32 bits) y una IPv6 (registro AAAA, 128 bits).

¿Qué es una dirección IP?#

Una dirección IP identifica una interfaz de red para que los paquetes sepan adónde ir. Dice quién es el destino y dónde está en la red. IPv4 se definió en el RFC 791, e IPv6 en el RFC 8200.

Normalmente llegas a un servicio por un nombre como ejemplo.com. El sistema de nombres traduce ese nombre a una IP antes de la conexión. Si quieres repasar ese paso, lee qué es el DNS.

¿Qué diferencia hay entre IPv4 e IPv6?#

IPv4 usa 32 bits, escritos como cuatro números del 0 al 255 separados por puntos: 203.0.113.10. Eso da unos 4.300 millones de direcciones (2 elevado a 32), un número que se quedó corto frente a la cantidad de dispositivos conectados. El registro de bloques IPv4 de la IANA muestra la última asignación central en 2011, y desde entonces las direcciones circulan por reventa y reutilización.

IPv6 usa 128 bits, escritos como ocho grupos hexadecimales separados por dos puntos: 2001:db8::10. El espacio es tan grande que cada red recibe bloques enormes sin escasez. El RFC 4291 define la arquitectura de direccionamiento, y el RFC 5952 fija la forma recomendada de escribirlas: letras minúsculas, ceros a la izquierda omitidos y la secuencia más larga de grupos en cero resumida con :: (solo una vez por dirección, y nunca para un único grupo en cero, que se escribe 0).

IPv4 IPv6
Tamaño 32 bits 128 bits
Formato 203.0.113.10 2001:db8::10
Registro DNS A AAAA
Localhost 127.0.0.1 ::1
Escasez Sí, la reserva central de la IANA se agotó No
NAT necesario Muy común Normalmente no

El bloque 2001:db8::/32 está reservado para documentación (RFC 3849), por eso aparece en ejemplos como este.

Los dos protocolos no se comunican directamente. Un cliente solo IPv6 no llega a un servidor solo IPv4 sin un traductor en el medio. Por eso la transición se hace con doble pila (dual stack): el servidor y la red aceptan las dos versiones al mismo tiempo.

¿Qué son la IP pública, la IP privada y el CGNAT?#

Una IP pública es enrutable en internet. Una IP privada solo vale dentro de una red local. El RFC 1918 reserva tres rangos para eso:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

El router de tu casa usa NAT: todos los dispositivos de la red interna salen a internet con una única IP pública. Por eso ves 192.168.0.x en tu computadora, pero una dirección distinta en los sitios que muestran "tu IP".

Algunos proveedores van más allá y aplican CGNAT, usando el rango 100.64.0.0/10 (RFC 6598) para compartir una IPv4 pública entre muchos clientes. Con CGNAT, las conexiones entrantes no te llegan, así que abrir un puerto en el router no sirve de nada. Es una de las causas más comunes de "mi servidor casero no se ve desde fuera".

¿Qué es una IP fija y qué es una IP dinámica?#

Una IP dinámica cambia cada cierto tiempo, porque el proveedor la asigna desde un conjunto compartido. Una IP fija (o estática) está reservada para ti y sigue siendo la misma hasta que la devuelves.

  • Las conexiones residenciales suelen tener IP dinámica, a veces detrás de CGNAT.
  • Los servidores de hosting suelen tener IP fija, justamente para que el DNS apunte a ella con seguridad.

El problema de la IP dinámica para hospedar algo es simple: el DNS guarda la dirección vieja y apunta al vacío cuando la IP cambia. Los servicios de DNS dinámico actualizan el registro automáticamente, pero solo valen la pena si de verdad necesitas servir desde casa.

¿Cuándo necesitas de verdad una IP fija?#

Menos veces de lo que parece. Piensa en quién necesita conocer la dirección:

  1. Los bots de Discord, Telegram y WhatsApp normalmente hacen conexiones salientes hacia las plataformas. Nadie necesita conocer la IP del bot.
  2. A las APIs y los sitios web se llega por dominio. A quien usa el nombre no le importa la IP que hay detrás.
  3. Listas de IPs permitidas (allowlist): una base de datos, una API de pagos o un firewall de terceros solo acepta conexiones desde direcciones registradas. Aquí la IP saliente de tu aplicación tiene que ser estable.
  4. Un registro A directo: si apuntas el dominio raíz a una IP, esa IP tiene que durar.
  5. Correo electrónico: los servidores de correo dependen de la reputación de una IP, y el DNS inverso (PTR) tiene que coincidir con ella.

Fuera de esos casos, el mejor camino es apuntar por nombre. Con un registro CNAME, quien hospeda puede cambiar la IP que hay detrás sin que tu DNS se rompa. Compara los dos registros en A vs CNAME y mira todos los tipos en registros DNS.

¿Cómo verificar IPv4 e IPv6 en tu dominio?#

Pide los dos tipos de registro y prueba la conexión en cada pila:

bash
dig +short A ejemplo.com
dig +short AAAA ejemplo.com
curl -4 -sI https://ejemplo.com | head -n 1
curl -6 -sI https://ejemplo.com | head -n 1

Si AAAA vuelve vacío o curl -6 falla, el servidor solo atiende IPv4. En Node.js puedes listar todas las direcciones de un nombre y detectar la versión de cada una:

js
import { lookup } from "node:dns/promises";
import { isIP } from "node:net";

const direcciones = await lookup("ejemplo.com", { all: true });

for (const { address, family } of direcciones) {
  console.log(`IPv${family}: ${address} (isIP=${isIP(address)})`);
}

lookup con all: true devuelve un elemento por dirección, con family igual a 4 o 6 (documentación del módulo dns). Para validar la entrada del usuario, isIP devuelve 4, 6 o 0 cuando la cadena no es una IP.

Un error común en el código es guardar la IP en un campo de 15 caracteres: una IPv6 llega a 39 caracteres en la forma hexadecimal completa, y a 45 en la forma con una IPv4 incrustada al final (0000:0000:0000:0000:0000:ffff:255.255.255.255). Usa columnas y validaciones que acepten los dos formatos.

Cómo hacerlo en Square Cloud#

Square Cloud usa solo IPv4 dinámica, sin IP fija ni IPv6, así que no hay una dirección estable para un registro A: publica por nombre. Cada aplicación web recibe un subdominio *.squareweb.app con HTTPS, en todos los planes. Desde el plan Standard también puedes usar tu propio dominio: creas en tu registrador los registros DNS que muestra el panel, sigues la validación en tiempo real y obtienes TLS automático.

Tu dominio propio entra con un CNAME hacia cname.squareweb.app, más un registro TXT de validación. El dominio raíz funciona si tu proveedor de DNS admite CNAME en la raíz (flattening o ALIAS), y lo recomendado es redirigir www al dominio principal. El dominio sigue a tu nombre en tu registrador, y es allí donde mantienes los registros DNS.

Para atender más tráfico desde un mismo dominio, el load balancing reparte las peticiones del dominio personalizado entre varias aplicaciones, con round-robin y failover pasivo. Más información en dominios personalizados, en la red de Square Cloud y en load balancing.

Red

Dominio propio, TLS automático y CDN global para tu app

Más información

Preguntas frecuentes

¿IPv6 es mejor que IPv4?

IPv6 tiene un espacio de direcciones mucho mayor y en la mayoría de los casos no necesita NAT. En la práctica los dos conviven, y un servidor bien configurado atiende a ambos.

¿Necesito una IP fija para hospedar un bot o una API?

Casi nunca. Un bot normalmente solo hace conexiones salientes, y a una API se llega por un dominio. La IP fija importa cuando un tercero permite el acceso por lista de IPs.

¿Qué es CGNAT y por qué estorba?

Es cuando tu proveedor de internet comparte una misma IPv4 pública entre muchos clientes. Normalmente no puedes recibir conexiones entrantes desde internet, así que hospedar un servidor en casa se vuelve difícil.

¿Cómo sé si mi servidor responde por IPv6?

Busca un registro AAAA en el dominio y prueba la conexión con curl -6. Si no hay registro AAAA o la conexión falla, el servidor solo atiende IPv4.

Siguiente artículoLatencia y ping: por qué importa la ubicación del servidorLa latencia es el tiempo que tarda un dato en ir y volver entre tú y el servidor. Aprende qué es el ping, qué la compone, cómo medirla con curl y cómo reducirla.

Más en Redes y dominios

Ver los 27 artículos