Solución:
Como todos sabemos, esa dirección IPv4 para
localhost
es127.0.0.1
(dirección de loopback).
En realidad, cualquier dirección IPv4 en 127.0.0.0/8
es una dirección de bucle invertido.
En IPv6, el análogo directo del rango de loopback es ::1/128
. Entonces ::1
(forma larga 0:0:0:0:0:0:0:1
) es la única dirección de loopback IPv6.
Mientras que el nombre de host localhost
normalmente se resolverá 127.0.0.1
o ::1
, He visto casos en los que alguien lo ha vinculado a una dirección IP que no es una dirección de bucle invertido. Esto es un poco loco … pero a veces la gente lo hace.
Digo “esto es una locura” porque es probable que rompa las suposiciones de las aplicaciones al hacer esto; por ejemplo, una aplicación puede intentar realizar una búsqueda inversa en la IP de bucle invertido y no obtener el resultado esperado. En el peor de los casos, una aplicación puede terminar enviando tráfico sensible a través de una red insegura por accidente … aunque probablemente también deba cometer otros errores para “lograrlo”.
Bloqueo 0.0.0.0
no tiene sentido. En IPv4 nunca se enruta. El equivalente en IPv6 es el ::
dirección (forma larga 0:0:0:0:0:0:0:0
) … que tampoco se enruta nunca.
los 0.0.0.0
y ::
las direcciones están reservadas para significar “cualquier dirección”. Por ejemplo, un programa que proporciona un servicio web puede unir para 0.0.0.0
puerto 80 para aceptar conexiones HTTP a través de cualquiera de las direcciones IPv4 del host. Estas direcciones no son válidas como dirección de origen o destino para un paquete IP.
Finalmente, algunos comentarios preguntaban sobre ::/128
versus ::/0
versus ::
.
Cual es esta diferencia?
Estrictamente hablando, los dos primeros son notación CIDR, no direcciones IPv6. En realidad, están especificando un distancia de direcciones IP. Un CIDR consta de una dirección IP y un número adicional que especifica el número de bits en una máscara de red. Los dos juntos especifican un rango de direcciones; es decir, el conjunto de direcciones formado ignorando los bits enmascarados de la dirección dada.
Entonces:
-
::
significa solo la dirección IPv60:0:0:0:0:0:0:0
-
::/128
medio0:0:0:0:0:0:0:0
con una máscara de red que consta de 128 bits. Esto da un rango de red con exactamente una dirección. -
::/0
medio0:0:0:0:0:0:0:0
con una máscara de red que consta de 0 bits. Esto da un rango de red con 2128 direcciones en él .; es decir, ¡es todo el espacio de direcciones IPv6!
Para obtener más información, lea las páginas de Wikipedia sobre direcciones IPv4 e IPv6 y la notación CIDR:
- https://en.wikipedia.org/wiki/IPv4_address
- https://en.wikipedia.org/wiki/IPv6_address
- https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
Localhost IPv6
::1
es la dirección de loopback en IPv6.
Dentro de las URL
Dentro de una URL, use corchetes []
:
-
http://[::1]/
Por defecto es el puerto 80. -
http://[::1]:80/
Especifique el puerto.
Incluir el literal IPv6 entre corchetes para su uso en una URL se define en RFC 2732 – Formato para direcciones IPv6 literales en URL.
El localhost ipv6 es ::1
. La dirección no especificada es ::
. Esto se define en la sección 2.5 del RFC 4291.