Página principal » cómo » ¿Cuál es la diferencia entre Locahost y la dirección IP local?

    ¿Cuál es la diferencia entre Locahost y la dirección IP local?


    Si está realizando muchas modificaciones en la red, configurando aplicaciones basadas en LAN y herramientas de servidor, o simplemente por curiosidad, es probable que haya notado que existe una diferencia entre la dirección IP local del host local. Sigue leyendo para aprender las diferencias..

    La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..

    La pregunta

    El lector Superusuario Diogo quiere saber por qué el comando ping trata al host local y la dirección IP local de manera diferente cuando, en la superficie, parecen ser lo mismo:

    El uso de cmd y ping en Windows me dio los siguientes resultados:

    Haciendo ping a “localhost”:

    Haciendo ping a "192.168.0.10" (dirección IP local):

    No son las dos situaciones exactamente iguales?

    Quiero decir, estoy haciendo ping en la misma interfaz, la misma máquina y la misma dirección. ¿Por qué obtengo resultados tan diferentes??

    Obviamente, hay una diferencia de algún tipo, pero ¿qué sucede exactamente cuando cambias entre los dos??

    La respuesta

    El colaborador de Superusuarios Tom Wijsman ofrece la siguiente información sobre las diferencias sutiles entre los dos:

    No estás haciendo ping a la misma interfaz, sin ninguna interfaz física todavía tiene un "host local".

    Tu localhost se usa para referirse a su computadora desde su IP "interna", no desde cualquier IP "externa" de su computadora. Por lo tanto, los paquetes de ping no pasan a través de ninguna interfaz de red física; solo a través de una interfaz de bucle virtual que envía directamente los paquetes de puerto a puerto sin ningún salto físico.

    Usted todavía podría preguntarse por qué localhost se está resolviendo a :: 1, mientras que tradicionalmente esperaríamos que se resolviera a la dirección IPv4 127.0.0.1. Tenga en cuenta que .localhost es tradicionalmente un TLD (ver RFC 2606) que apunta a la dirección IP de bucle (para IPv4, ver RFC 3330, especialmente 127.0.0.0/8).

    Buscando localhost utilizando nslookup Nos da:

    nslookup localhost

    ... Nombre: localhost Direcciones: :: 1 127.0.0.1 

    Por lo tanto, Windows prefiere utilizar la dirección IP de retorno de bucle IPv6. :: 1 (Ver RFC 2373) como aparece primero.

    Bien, entonces, ¿de dónde viene, veamos el archivo hosts?.

    escriba% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

    ... # la resolución de nombres localhost se maneja dentro del propio DNS. # 127.0.0.1 localhost # :: 1 localhost ... 

    Hmm, tenemos que mirar la configuración de DNS de Windows.

    Este artículo de KB nos informa acerca de una configuración que afecta lo que Windows prefiere, enfatizado en negrita:

    1. En el Editor del Registro, localice y luego haga clic en la siguiente subclave del Registro:
      HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters 
    2. Haga doble clic en DisabledComponents para modificar la entrada DisabledComponents. Nota: si la entrada DisabledComponents no está disponible, debe crearla. Para hacer esto, siga estos pasos:
      1. En el menú Edición, seleccione Nuevo y luego haga clic en Valor DWORD (32 bits).
      2. Escriba DisabledComponents y, a continuación, presione ENTRAR.
      3. Haga doble clic en DisabledComponents.
    3. Escriba cualquiera de los siguientes valores en el campo Información del valor: para configurar el protocolo IPv6 al estado deseado, y luego haga clic en Aceptar:
      • Tipo 0 para habilitar todos los componentes de IPv6. (Configuración predeterminada de Windows)
      • Tipo 0xffffffff para deshabilitar todos los componentes de IPv6, excepto la interfaz de bucle invertido de IPv6. Este valor también configura Windows para que prefiera usar el Protocolo de Internet versión 4 (IPv4) sobre IPv6 modificando las entradas en la tabla de políticas de prefijo. Para obtener más información, consulte Selección de dirección de origen y destino.
      • Tipo 0x20 para preferir IPv4 sobre IPv6 modificando entradas en la tabla de políticas de prefijo.
      • Tipo 0x10 para deshabilitar IPv6 en todas las interfaces no de túnel (en ambas interfaces LAN y Protocolo de punto a punto [PPP]).
      • Tipo 0x01 para desactivar IPv6 en todas las interfaces de túnel. Estos incluyen el Protocolo de direccionamiento automático de túneles dentro del sitio (ISATAP), 6to4 y Teredo.
      • Tipo 0x11 para deshabilitar todas las interfaces IPv6 excepto la interfaz de bucle invertido de IPv6.
    4. Reinicie la computadora para que esta configuración tenga efecto.

    ¿Qué es esta tabla de políticas de prefijo??

    interfaz de netsh ipv6 mostrar prefijospolicias (o política de prefijo en versiones anteriores)

    Prefijo de etiqueta de precedencia ---------- ----- -------------------------------- 50 0 :: 1/128 45 13 fc00 :: / 7 40 1 :: / 0 10 4 :: ffff: 0: 0/96 7 14 2002 :: / 16 5 5 2001 :: / 32 1 11 fec0 :: / 10 1 12 3ffe :: / 16 1 10 :: / 96 

    Esta tabla decide qué prefijos tienen prioridad sobre otros prefijos durante las resoluciones de DNS.

    Ah, entonces al usar esa KB podríamos agregar entradas aquí que denotan que IPv4 tiene mayor prioridad que IPv6.

    Nota: No hay ninguna razón para anular este comportamiento, a menos que esté experimentando problemas compatibles. Cambiar esta configuración en nuestro servidor de Windows rompió nuestro servidor de correo, por lo que debe manejarse con cuidado ...

    No hay nada que nos guste más que una respuesta exhaustiva e informativa con documentos de soporte vinculados de sobra. Claramente, el localhost y la dirección IP local son entidades distintas, tienen propósitos diferentes y ahora todos sabemos por qué.


    ¿Tienes algo que agregar a la explicación? Apague el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.