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?

205

C’est peut-être une question un peu noble, mais j’étais en train de jeter un coup d’œil sur / etc / hosts sur ma nouvelle installation de Xubuntu et j’ai vu 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?

À M
la source
Je me demande si je peux simplement supprimer la deuxième ligne ou si certains processus de debian / ubuntu seront régénérés et rajoutés?
simgineer

Réponses:

159

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 au 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 d'origine est 316099 .

Daniel Pittman
la source
5
La raison réelle: "L'association du nom d'hôte système à ce dernier a eu pour effet indésirable de faire de" localhost.localdomain "le nom d'hôte canonique associé au nom d'hôte système. Autrement dit," nom d'hôte --fqdn "a renvoyé" localhost.localdomain "."
cmroanirgo
En fait, je l'ai retrouvé dans ce document 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 localhostet myhostnameétaient distincts - 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 car mon système est configuré à l'aide d'un tel module NSS .
sourcejedi
46

Pour résumer les informations liées:

  • Il est (de manière discutable) utile d’avoir une entrée dans votre /etc/hoststraduction du nom de domaine complet de la machine en son adresse IP permanente.
  • debian-installer, et plus précisément, sa netcfgcomposante, 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 quand même qu’elle ait ce type d’entrée.
  • L'adresse 127.0.1.1utilise l' interface de bouclage , répondue par votre propre machine, 127.0.0.1mais est une entrée distincte /etc/hostsqui peut être considérée séparément de 127.0.0.1si / quand nécessaire.

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

[Ceci] garantira que si le nom d'hôte UNIX est résolu, il aura toujours 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.

einpoklum
la source
.. et donc... ? dois-je utiliser 127.0.0.1 pour mon fdqn? ou 127.0.1.1? ou l'ip statique lan?
realtebo
1
@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
9

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 cette documentation, on a presque l'impression que Thomas déclarait qu'il lui donnait une autre adresse IP dédiée sur le bouclage lui permettant d'être canonique.

Les deux pointent vers votre bouclage. L'utilisation de 127.0.1.1 suivant 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 qu’aucune entrée DNS Internet globale n’a été mappée sur une adresse IP Internet réelle, Thomas disait dans ce cas que vous devez BESOIN d’ avoir la deuxiè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
Brian Thomas
la source
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