Question Pourquoi mon nom d'hôte apparaît-il avec l'adresse 127.0.1.1 plutôt que 127.0.0.1 dans / etc / hosts?


C'est peut-être une question un peu noble, mais je jetais un coup d'œil à / etc / hosts sur ma nouvelle installation de Xubuntu et je vis ceci:

127.0.0.1 localhost
127.0.1.1 myhostname

Sur la plupart des nix que j'ai utilisés, la deuxième ligne est omise et si je veux ajouter mon nom d'hôte au fichier hosts, je ferais simplement ceci:

127.0.0.1 localhost myhostname

Existe-t-il une différence entre ces deux fichiers dans un sens pratique?


189
2018-02-23 17:44


origine


Je me demande si je peux simplement supprimer la deuxième ligne ou si certains processus de debian / ubuntu vont régénérer la ligne et l'ajouter? - simgineer


Réponses:


Il n'y a pas beaucoup de différence entre les deux; 127/8 (par exemple: 127.0.0.0 => 127.255.255.255) sont tous liés à l’interface de bouclage.

La raison en est documentée dans le manuel Debian dans Ch. 5 Configuration du réseau - 5.1.1. La résolution du nom d'hôte.

En fin de compte, c'est une solution de contournement de bogue; le rapport original est 316099.


148
2018-02-23 17:47



Exactement ce que je cherchais, merci! - Tom
La raison réelle: "L'association du nom d'hôte système à celui-ci a eu pour effet indésirable de transformer" localhost.localdomain "en un nom d'hôte canonique associé au nom d'hôte système. - cmroanirgo
En fait, je l'ai retrouvé dans cette documentation lists.debian.org/debian-boot/2005/06/msg00938.html et il semble que c'est parce que Thomas ressentait le besoin d'utiliser 1.1 au lieu de 0.1, ce qui est équivalent, corrigez-moi. si je me trompe, mais que cela signifie que cette réponse n'est en réalité qu'un fil d'Ariane? - Brian Thomas
@BrianThomas ce message suggère pourquoi ils ne sont pas équivalents. Ils voulaient localhost et myhostname être distinct - sinon, l'un serait un alias de l'autre. Notez que cela ne fonctionne pas dans IPv6 où il n'y a qu'une seule adresse de bouclage. Cela peut être évité en utilisant un module NSS comme mentionné dans le fil, car il peut être plus souple que / etc / hosts et renvoyer des noms canoniques différents, même s'ils ont la même adresse IP. Je le sais parce que mon système est configuré à l'aide d'un tel module NSS. - sourcejedi


Pour résumer les informations liées:

  • Il est (débattable) utile d’avoir une entrée dans votre /etc/hosts traduire le nom de domaine complet de la machine en son adresse IP permanente.
  • debian-installer, et plus spécifiquement, son netcfg composant, actuellement (jusqu’en mars 2013 au moins) crée cette entrée.
  • Si la machine n’est pas connue pour avoir une adresse IP permanente, l’installateur Debian veut toujours avoir ce type d’entrée.
  • L'adresse 127.0.1.1 utilise le interface de bouclage, a répondu par votre propre machine, juste comme 127.0.0.1 mais est une entrée distincte dans /etc/hosts qui peut être considéré séparément de 127.0.0.1 si / quand nécessaire.

Thomas Hood explique en ajoutant cette entrée comme suit:

[Ceci] garantira que si le nom d’hôte UNIX est est résolu alors il   toujours être son propre nom d'hôte canonique

mais:

À long terme, le nom d'hôte UNIX ne devrait pas du tout être placé dans / etc / hosts.


44
2018-03-22 16:53



.. et donc... ? dois-je utiliser 127.0.0.1 pour mon fdqn? ou 127.0.1.1? ou l'ip statique lan? - realtebo
@realtebo: 1. C'est utile, et donc ajouté par l'installateur. 2. Il n'y a pas de "must" ici; et ce n'est pertinent que lorsque votre nom de domaine complet n'a pas d'adresse permanente. - einpoklum


J'étais moi-même curieux et je n'aimais aucune des autres réponses parce qu'ils ne semblaient pas répondre à ce que je cherchais au moins.

La réponse: En regardant en arrière doc il semble presque que si Thomas déclarait lui donner une autre adresse IP dédiée sur le bouclage lui permet d'être canonique.

Les deux pointent vers votre bouclage. En utilisant ce qui suit    127.0.1.1 est une adresse IP réelle, sur le bouclage, alors que     127.0.0.1 est soit le périphérique lui-même, soit une autre adresse IP sur le bouclage. Les deux se terminent sur le même sous-réseau, représentant le bouclage, mais sont séparés par ip. Ils sont équivalents dns sages, mais séparés en raison de leur adresse IP dédiée.

Le fait est que vous pouvez avoir toutes vos entrées sur une seule ligne, comme ceci

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

Si votre nom d'hôte est local, ce qui signifie que votre entrée DNS Internet globale n'est pas mappée sur une adresse IP Internet réelle, dans ce cas, Thomas disait que vous BESOIN DE avoir la 2ème ligne d’entrée, comme celle-ci pour la dédier à (canonique).

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

7
2017-08-02 05:02



En toute justice, après avoir finalement composé ceci d'une manière qui me semblait logique, je vois que c'est à peu près ce qu'einpoklum essayait d'expliquer, cela ressemble à du recul. - Brian Thomas
OK vote négatif, je ne sais pas pourquoi. Je crois toujours que C’EST la MEILLEURE réponse, ou je ne l’aurais pas dite après avoir atterri ici. la réponse originale a aidé, mais n'a pas capturé tous les détails. Je voudrais aller avec celui-ci. - Brian Thomas