Quelle est la pertinence de “fe80 :: 1% lo0 localhost” dans / etc / hosts?

35

Voici les entrées dans mon /etc/hosts.

Je me demandais quelle est la dernière entrée ( fe80::1%lo0 localhost) pour.

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Kenster
la source
3
Le% lo0 est un identifiant de zone IPv6, la plupart des systèmes ne le supportent pas.
Steve-o
3
Quelles applications utiliseraient ces informations? En d'autres termes, si l'on modifiait cette ligne, que casserait-elle?

Réponses:

25

C'est une adresse IPv6. Fe80 :: block est réservé aux adresses de liens locaux. Les adresses locales de liaison sont utilisées pour les paquets envoyés uniquement aux périphériques directement connectés (non routés). Le protocole de découverte de réseau (NDP) est le plus grand utilisateur d’adresses de liaison locale (le type NDP remplace ARP et DHCP dans IPv6).

Chacune de vos interfaces aura une adresse link-local différente commençant par fe80 :: et (généralement) se terminant par une version modifiée de l'adresse MAC de l'interface (format EUI-64) afin de vous assurer d'avoir une adresse unique sur votre segment. Dans le cas de votre interface de bouclage, il n'y a rien d'autre qui y soit connecté, il peut donc utiliser l'adresse de fe80 :: 1 sans crainte de conflit. C'est pourquoi fe80 :: 1 est généralement utilisé comme adresse "localhost". - L’équivalent IPv6 de 127.0.0.1.

mangeur
la source
4
Je devrais également mentionner que la partie "% lo0" est nécessaire car toute adresse de lien local serait ambiguë si elle n'était pas explicitement liée à une interface.
Mangeur
1
Il n’existe pas de NDP sur l’interface de bouclage et ::1utilisé comme équivalent IPv6 127.0.0.1, pas fe80::1%lo0.
citrin
Que se passe-t-il si mon nom d'interface de bouclage actuel est (comme indiqué par ifconfig) simplement loet non lo0? Aussi, pourquoi inclure 2 enregistrements d'hôtes IPv6 pour localhost?
Ivan
5

Excellente réponse ci-dessus de mangeur. Les adresses IPv6 de liaison locale, comme dit plus haut, de la forme , fe80:*en fait , ce qui fe80::/10signifie le top dix bits ne sont comparés fe8*:*donc la plage est fe80 :: 0 .. febf:*. Vérifiez mon arithmétique.

Ces adresses sont l’équivalent des 169.254.\*.\*adresses IPv4, bien que les homologues IPv4 soient beaucoup moins bien utilisés.

Il est très courant d’avoir plusieurs adresses sur ipv6 mais une seule adresse sur IPv4. Avoir à la fois une fe80::adresse et une adresse IPv6 routable de signification globale (comme 2001:*par exemple) est la règle et non l'exception. Malheureusement, les applications et les systèmes d'exploitation n'ont pas tendance à fonctionner de la même manière avec IPv4. Autrement dit, les interfaces n'ont généralement pas plusieurs adresses IPv4, et je n'ai pas vu le cas où une interface possède 169.254.\*.\*simultanément une adresse et un autre type d'adresse.

L’utilisation simultanée des deux types dans IPv4 éviterait beaucoup de souffrances, par exemple si le kit est mis sous tension dans le mauvais ordre, les ordinateurs s’allument avant que les routeurs ou les serveurs et les PC s’assignent une 169.254.\*.\*adresse et s’en tiennent à cette adresse au lieu d’en ajouter une seconde. adresse routable globalement significative quand ils découvrent plus tard, de leur routeur ou de leur serveur, où ils sont censés être sur Internet.

Cecil Ward
la source