Si je comprends bien, le hosts
fichier est l'une des nombreuses installations système qui aident à adresser les nœuds de réseau dans un réseau informatique. Mais que devrait-il y avoir à l'intérieur? Lorsque j'installe Ubuntu par défaut
127.0.0.1 localhost
sera là. Pourquoi?
- Comment
/etc/hosts
fonctionne dans le cas de systèmes JVM comme Cassandra? - Quand est l'alternative DNS, je suppose que ce n'est pas sur un seul ordinateur?
/etc/hosts
contient127.0.0.2 mycouchdb bookmarkdb myothercouchapp
et127.0.0.3 myapachi website
je les utilise pour m'aider avec mon développement en cours d'exécution sur ma machine locale. J'ai 3 services à l'écoute sur le port 80. Je ne veux pas les mettre sur le DNS, car ils ne sont que locaux.man 5 hosts
?Réponses:
Le fichier a
/etc/hosts
commencé dans l'ancien temps de DARPA en tant que fichier de résolution pour tous les hôtes connectés à Internet (avant l'existence du DNS). Il a la priorité maximale, ce qui signifie que ce fichier est préféré à tout autre système de noms. 1Cependant, en tant que fichier unique, il ne s'adapte pas bien: la taille du fichier devient trop grande très rapidement. C'est pourquoi le système DNS a été développé, un système de noms distribué hiérarchique. Il permet à tout hôte de trouver efficacement l'adresse numérique d'un autre hôte.
Le concept très ancien du
/etc/hosts
fichier est très simple, juste une adresse et un nom d'hôte:pour chaque ligne. Il s'agit d'une simple liste de paires adresse-hôte. 2
Sa principale utilisation actuelle consiste à contourner la résolution DNS. Une correspondance trouvée dans le
/etc/hosts
fichier sera utilisée avant toute entrée DNS. En fait, si le nom recherché (commelocalhost
) se trouve dans le fichier, aucune résolution DNS ne sera effectuée.1 Eh bien, l'ordre de résolution des noms est en fait défini dans
/etc/nsswitch.conf
, qui a généralement cette entrée:ce qui signifie "essayer les fichiers (
/etc/hosts
); et s'il échoue, essayez DNS".Mais cet ordre pourrait être modifié ou élargi.
2 (de nos jours) Le fichier hosts contient des lignes de texte constituées d'une adresse IP dans le premier champ de texte suivi d'un ou plusieurs noms d'hôtes. Chaque champ est séparé par un espace blanc - les tabulations sont souvent préférées pour des raisons historiques, mais des espaces sont également utilisés. Des lignes de commentaires peuvent être incluses; ils sont indiqués par un octothorpe (#) à la première position de ces lignes. Les lignes entièrement vides du fichier sont ignorées. Par exemple, un fichier d'hôtes type peut contenir les éléments suivants:
Cet exemple contient des entrées pour les adresses de bouclage du système et leurs noms d'hôte, la première ligne est un contenu par défaut typique du fichier hosts. La deuxième ligne a plusieurs noms supplémentaires (probablement uniquement valables dans les systèmes locaux). L'exemple montre qu'une adresse IP peut avoir plusieurs noms d'hôtes (localhost et loopback), et qu'un nom d'hôte peut être mappé à la fois aux adresses IP IPv4 et IPv6, comme indiqué sur les première et deuxième lignes respectivement. Un nom (
mycomputer.lan
) peut se résoudre en plusieurs adresses (192.168.0.8 10.0.0.27
). Cependant, dans ce cas, lequel est utilisé dépend des routes (et de leurs priorités) définies pour l'ordinateur.Certains systèmes d'exploitation plus anciens n'avaient aucun moyen de signaler une liste d'adresses pour un nom donné.
la source
L'utilisation du fichier / etc / hosts pour donner un nom lisible à un système local dans un environnement de bureau est parfaitement raisonnable. Le fichier hosts est idéal à utiliser dans un réseau domestique ou même dans un environnement de petite entreprise. Cela ne peut pas être du côté public comme l'adressage Internet - alors vous avez besoin du DNS. Si le réseau local est suffisamment grand, ou simplement coupé dans différents sous-réseaux, ou pour toute autre raison utile, le DNS est préféré.
Le fichier des hôtes locaux et le DNS sont gérés avec une priorité différente afin qu'il n'y ait jamais de conflits.
la source
/etc/hosts
entrées périmées qui à l'avenir ont provoqué l'échec des opérations par groupe-B (mon groupe) , et nous avons fini par mettre quelque chose pour assainir le contenu de/etc/hosts
sous linux, j'ose dire qu'il devrait toujours y avoir au moins
127.0.0.1 localhost
dans le fichier/etc/hosts
ainsi que l'adresse IPv6 correspondante pour localhost .Il s'agit simplement d'une résolution de nom d'hôte vers une adresse IPv4 ou IPv6 numérique. Lorsque vous essayez de vous connecter à (a) unix.stackexchange.com quelque part sur terre qui n'est probablement pas près de chez vous, ou (b) myotherpc sur le réseau local de votre domicile, c'est l'un
/etc/hosts
ou l' autre des serveurs de noms de domaine (DNS) qui fait la résolution de l'hôte, donc lorsque vous tapez unix.stackexchage.com qui, en tant qu'humain, est ce dont vous vous souciez, vous n'avez pas à vous souvenir de 185.53.179.7 , ce que l'ordinateur a vraiment besoin de savoir.Comme cela a été souligné, sous Linux, il existe
/etc/nsswitch
généralement un paramètre qui définit l'ordre de résolution du nom d'hôte, ce qui signifie vérifier DNS d'abord avant de vérifier NIS, puis enfin vérifier le fichier,/etc/hosts
sinon hôte non trouvéComment vous gérez la vérification de la commande et ce que / où / qui gère le service DNS ou NIS dépend de vous, ou vous pouvez tout remplacer en modifiant / etc / nsswitch pour uniquement vous enregistrer
/etc/hosts
et ne jamais vérifier avec DNS ou NIS ou ...Pour un réseau domestique simple de quelques ordinateurs, disons 2 à N, un administrateur éditerait simplement
/etc/hosts
sur chaque ordinateur pour être correct, serait plus facile, plus rapide et moins cher que de configurer un serveur de noms de domaine ou un autre service pour avoir un emplacement maître ou l'autorité de faire la résolution du nom d'hôte à l'adresse IP.pour linux web recherche l'histoire et la raison derrière
localhost
. Beaucoup de choses sous Linux dépendent du nom localhost qui se résout en 127.0.0.1 et si cela ne se produit pas, cela causera des problèmes, et cette définition de localhost se produira / devrait se produire dans un fichier système local tel que / etc / hosts./etc/hosts
est par défaut généralement le dernier mot et la dernière chose pour que le système d'exploitation Linux se rabatte sur la résolution du nom d'hôte. sous Windows XP et 7, le fichier correspondant estC:\Windows\System32\drivers\etc\lmhosts
Je ne connais pas Windows 8 ou 10.la source