¿Por qué mi localhost no es 127.0.0.1 sino :: 1, y qué notación es esa? [duplicar]

62

Esta pregunta ya tiene una respuesta aquí:

Cuando uso el comando Ping contra mi host local (en Windows Vista), no aparece como 127.0.0.1.

C: \ Windows \ system32> ping localhost
Pinging GIGA [:: 1] from :: 1 con 32 bytes de datos:

ping pong

En cambio, aparece como ::1(par de dos puntos y uno). ¿Qué tipo de notación es esta? ¿Y por qué no aparece como 127.0.0.1?

Esto es lo que veo en el c:\windows\system32\drivers\etc\hostsarchivo.

:: 1 localhost
127.0.0.1 localhost

Como sugirió Gregg , ya he intentado cambiar este orden.

127.0.0.1 localhost
:: 1 localhost

El resultado esperado es que 127.0.0.1tendría prioridad sobre, ::1pero ese no fue el caso.

Como he aprendido ahora, esto se puede hacer agregando una política de prefijo en su lugar. Para forzar a cmd a usar la versión 4 de IP, -4se puede usar la opción . Para obligar a Windows a usar siempre la versión 4 de IP, la versión 6 de IP o algunos de sus componentes se pueden deshabilitar mediante el cuadro de diálogo de propiedades del adaptador de red o mediante un ajuste del registro .

Samir
fuente
77
En la respuesta de Tom Wijsman, encontrará superuser.com/questions/414050/…
Rudolph el
1
No solo es IPv6, sino que no hay nada especial o codificado localhost; se especifica en el HOSTSarchivo . Es 127.0.0.1por defecto, pero puede cambiarlo a lo que desee o eliminarlo por completo.
Synetech
1
@Synetech en Windows 7 está comentado por defecto con una nota:localhost name resolution is handled within DNS itself.
gronostaj

Respuestas:

90

Esto se debe a que el ping en Windows Vista y las versiones más recientes de Windows usan IPv6 de manera predeterminada cuando está disponible. ::1es una notación abreviada de la dirección de bucle invertido IPv6, equivalente a la bucle invertido IPv4 127.0.0.1.

La notación completa de la ::1dirección IPv6 abreviada es 0000:0000:0000:0000:0000:0000:0000:0001.

Si desea forzar el pinguso de IPv4, puede especificar explícitamente la dirección IPv4 o usar la -4opción.

ping 127.0.0.1
ping -4 localhost

Si desea cambiar la preferencia general de IPv6 / IPv4, puede verificar la prioridad de IPv4 frente a IPv6 en Windows 7 .

Para obtener información adicional, también puede ver el artículo localhost .

pabouk
fuente
18

[::1]es la abreviatura de la dirección de bucle invertido en IPv6. Si desea desactivar IPv6 por alguna razón (yo no aconsejaría, pero puede que tenga una razón específica para quererlo), todo lo que tiene que hacer es la siguiente (para Windows 7):

  • Inicio, Panel de control
  • Redes y compartir
  • Ver red activa, conexión de área local, propiedades
  • Desactive la casilla de verificación junto a Internet Network Protocol Version 6

Si desea capturas de pantalla, puede encontrar una guía de Microsoft aquí: enlace .

Además, es posible que desee echar un vistazo a la página de Wikipedia para IPv6, específicamente, Presentación :

La dirección localhost (loopback), 0: 0: 0: 0: 0: 0: 0: 1, y la dirección IPv6 no especificada, 0: 0: 0: 0: 0: 0: 0: 0, se reducen a :: 1 y ::, respectivamente. Este reemplazo de dos puntos solo se puede aplicar una vez en una dirección, ya que múltiples ocurrencias crearían una representación ambigua.

Para resumir, esto es básicamente el equivalente a querer escribir cada número del 1 al 100, pero en lugar de escribir cada número individualmente, en su lugar, escribe 1, 2, 3...99, 100o1-100

Michael H
fuente