Pregunta ¿Por qué aparece mi nombre de host con la dirección 127.0.1.1 en lugar de 127.0.0.1 en / etc / hosts?


Esto puede ser una pregunta noobish, pero estaba revisando / etc / hosts en mi nueva instalación de Xubuntu y vi esto:

127.0.0.1 localhost
127.0.1.1 myhostname

En la mayoría de los 'nixes que he usado, la segunda línea se omite, y si quiero agregar mi nombre de host al archivo de hosts, simplemente hago esto:

127.0.0.1 localhost myhostname

¿Hay alguna diferencia entre estos dos archivos en algún sentido práctico?


189
2018-02-23 17:44


origen


Me pregunto si puedo eliminar la segunda línea o ¿algún proceso en debian / ubuntu regenerará la línea y volverá a agregarla? - simgineer


Respuestas:


No hay una gran diferencia entre los dos; 127/8 (p.ej: 127.0.0.0 => 127.255.255.255) están todos vinculados a la interfaz de bucle invertido.

La razón por la cual está documentada en el manual de Debian en Cap. 5 Configuración de la red - 5.1.1. La resolución del nombre de host.

En última instancia, es una solución de error; el informe original es 316099.


148
2018-02-23 17:47



Exactamente lo que estaba buscando, gracias! - Tom
La razón real: "Asociar el nombre de host del sistema con este último tuvo el efecto no deseado de hacer que 'localhost.localdomain' sea el nombre de host canónico asociado con el nombre del host del sistema. Es decir, 'hostname --fqdn' devolvió 'localhost.localdomain'". - cmroanirgo
De hecho, lo rastreé hasta este doc lists.debian.org/debian-boot/2005/06/msg00938.html y parece que es porque Thomas sentía la necesidad de usar 1.1 en lugar de 0.1, que son equivalentes, me corrigen ¿Si estoy equivocado, pero eso significa que esta respuesta es realmente solo una migaja de pan? - Brian Thomas
@BrianThomas ese mensaje sugiere por qué no son equivalentes. Querían localhost y myhostname para ser distinto, de lo contrario, uno sería un alias del otro. Tenga en cuenta que esto no funciona en IPv6 donde solo hay una dirección de loopback. Se puede evitar usando un módulo NSS como se menciona en el hilo, ya que puede ser más flexible que / etc / hosts y devolver diferentes nombres canónicos a pesar de tener la misma dirección IP. Lo sé porque Mi sistema está configurado usando un módulo NSS de este tipo. - sourcejedi


Para resumir la información enlazada:

  • Es (debatably) útil tener una entrada en su /etc/hosts traducir el nombre de dominio completo de la máquina a su dirección IP permanente.
  • debian-installery, más concretamente, su netcfg componente, actualmente (hasta marzo de 2013 al menos) crea esta entrada.
  • Si no se sabe que la máquina tenga una dirección IP permanente, el instalador de Debian todavía quiere que tenga ese tipo de entrada.
  • La dirección 127.0.1.1 usa el interfaz de bucle invertido, respondida por tu propia máquina, al igual que 127.0.0.1 pero es una entrada distinta en /etc/hosts que se puede considerar por separado de 127.0.0.1 si / cuando sea necesario.

Thomas Hood explica agregando esta entrada de la siguiente manera:

[Esto] asegurará que si el nombre de host de UNIX es resuelto entonces lo hará   siempre será su propio nombre de host canónico

pero:

A la larga, el nombre de host de UNIX no se debe poner en / etc / hosts en absoluto.


44
2018-03-22 16:53



.. y entonces... ? ¿Debo usar el usuario 127.0.0.1 para mi fdqn? o 127.0.1.1? o la ip ip estatica? - realtebo
@realtebo: 1. Es útil, y así lo agrega el instalador. 2. No hay "debe" aquí; y solo es relevante cuando su FQDN no tiene una dirección permanente. - einpoklum


Yo mismo sentía curiosidad, y no me gustó ninguna de las otras respuestas porque no parecían responder lo que estaba buscando al menos.

La respuesta: Mirando hacia atrás en esto Doc casi parece como si Thomas estuviera diciendo que le está dando otra ip dedicada en el loopback que le permite ser canónico.

Ambos apuntan a tu loopback. Usando el siguiente    127.0.1.1 es una IP real, en el bucle invertido, mientras que     127.0.0.1 es el dispositivo en sí, u otra ip en el bucle de retorno. Ambos terminan en la misma subred, que representa el loopback, pero están separados por ip. Son equivalentes a dns, pero separados por tener ip dedicada.

El punto es que puedes tener todas tus entradas en una línea como esta

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

Si su nombre de host es local, lo que significa que no tiene una entrada global de DNS de Internet asignada a una IP de Internet real, en este caso Thomas le estaba diciendo que NECESITAR tener la 2ª línea de entrada, como esta para dedicarla allí (a canónica).

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

7
2017-08-02 05:02



para ser justos, después de que finalmente compuse esto de una manera que tenía sentido para mí, veo que eso es más o menos lo que einpoklum estaba tratando de explicar, en retrospectiva. - Brian Thomas
OK voto negativo, no estoy seguro por qué. Todavía creo que ESTA es la MEJOR respuesta, o no la habría puesto, después de aterrizar aquí. La respuesta original ayudó, pero no capturó todos los detalles. Yo iría con éste. - Brian Thomas