¿Cuál es la diferencia entre la dirección de host local 127.0.0.1 y 127.0.1.1?

48

Estoy aprendiendo a usar Ubuntu y cuando traté de configurar el DNS, necesito lidiar con algo llamado localhost, interfaz de bucle invertido. ¿Alguien puede explicarme las diferencias entre ellos y el significado de las direcciones 127.0.0.1 y 127.0.1.1, cuándo debo usar 127.0.0.1 y cuándo debo usar 127.0.1.1

Ock
fuente
1
^^^ Estaba escribiendo mi respuesta y @jdv la apareció en los comentarios ...
Madivad

Respuestas:

36

A medida que su máquina se inicia, necesitará conocer la asignación de algunos nombres de host a direcciones IP antes de que se pueda hacer referencia a DNS. Esta asignación se mantiene en el archivo / etc / hosts. En ausencia de un servidor de nombres, cualquier programa de red en su sistema consulta este archivo para determinar la dirección IP que corresponde a un nombre de host.

El dispositivo de bucle invertido es una interfaz de red virtual especial que su computadora utiliza para comunicarse consigo mismo. Se utiliza principalmente para diagnósticos y resolución de problemas, y para conectarse a servidores que se ejecutan en la máquina local.

el loopback es interface lo e ip 127.0.0.1 por defecto

127.0.0.1 localhost

Debian que ubuntu elige definir 127.0.1.1 para mapear la ip de tu host_name en caso de que no tengas red

Host_name coincide con el nombre de host definido en "/ etc / hostname".

Para un sistema con una dirección IP permanente, esa dirección IP permanente debe usarse aquí en lugar de 127.0.1.1.

127.0.1.1 nombre_host

Pascal Fares
fuente
1
Entiendo la filosofía, pero no estoy de acuerdo con la forma en / etc / hosts.
Anthony Rutledge
21

Realmente no significa nada en particular (es solo otra IP en el bloque 127.0.0.0/8).

La razón por la que se utiliza como IP para su nombre de host se explica en la Sección 10.4 del Manual de referencia de Debian.

Citar:

Algunos programas (por ejemplo, GNOME) esperan que el nombre de host del sistema pueda resolverse en una dirección IP con un nombre de dominio canónico totalmente calificado. Esto es realmente incorrecto porque los nombres de host del sistema y los nombres de dominio son dos cosas muy diferentes; Pero ahí lo tienes. Para admitir ese software, es necesario asegurarse de que se pueda resolver el nombre de host del sistema. La mayoría de las veces esto se hace colocando una línea en / etc / hosts que contiene alguna dirección IP y el nombre de host del sistema. Si su sistema tiene una dirección IP permanente, úsela; de lo contrario, use la dirección 127.0.1.1.

Videonauth
fuente
1

La siguiente captura de pantalla cuenta una historia interesante.

Archivo Ubuntu / etc / hosts predeterminado y salida ifconfig

Efectivamente, muestra que 127.0.0.1es la verdadera dirección de bucle invertido. Por lo tanto, 127.0.1.1existe por razones distintas a la de las redes IP básicas.

Como mencionó @Videonauth, la 127.0.1.1línea está ahí como una muleta, una solución, para hacer feliz al software quisquilloso.

En mi opinión, la entrada de bucle invertido casi siempre debe estar en /etc/hosts. Si cambia su nombre de host por defecto localhost, cambie el nombre de host en la 127.0.1.1línea, no en la 127.0.0.1línea.

Si cambia su nombre de host y le da a su máquina una IP estática, cambie los campos de nombre de host e IP en la línea 127.0.1.1.

En resumen, deje el 127.0.0.1registro solo.

Anthony Rutledge
fuente
En resumen, si ha aplicado una dirección IP estática, digamos 192.168.1.1, entonces la línea 127.0.1.1 debe reemplazarse con 192.168.1.1 nombre de host. ¿ Es correcto?
Chris
192.168.1.1 <hostname>Si.
Anthony Rutledge
Gracias, no estaba seguro, estaba configurando algunos vm y todos los archivos host tenían eso, entendí que era un bucle invertido para algunas aplicaciones, pero también lo era 127.0.0.1, así que no estaba seguro de si tenía que quedarse o no .
Chris