it-swarm-eu.dev

Format de / etc / hosts sur Linux (différent de Windows?)

Collé en dessous de cette question est un échantillon d'un /etc/hosts fichier à partir d'un Linux (CentOS) et d'une machine Windows. Le fichier Linux a deux entrées à onglets après l'adresse IP (c'est-à-dire localhost.localdomain localhost) et Windows n'en a qu'une. Si je veux modifier le fichier hosts dans Windows pour avoir le nom de la machine (etest) au lieu de localhost, je remplace simplement le localhost Word par le nom de la machine que je veux. La machine n'a pas besoin de faire partie d'un domaine.

Sur une machine Linux, les deux entrées localhost.localdomain et localhost semble indiquer que j'aurai besoin que la machine fasse partie d'un domaine. Est-ce vrai?

Puis-je simplement éditer les deux entrées dans etest pour qu'il se lise:

127.0.0.1       etest etest

ou dois-je remplacer une entrée par un nom de domaine?

De plus, veuillez me faire savoir quelle est la deuxième ligne du /etc/hosts le fichier sur la machine Linux est pour.

::1     localhost6.localdomain6 localhost6

hosts fichier sur une machine Linux:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

hosts fichier sur une machine Windows:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

127.0.0.1       localhost
24
Thomas

Vous souhaitez toujours que l'adresse 127.0.0.1 soit d'abord résolue en localhost. S'il existe un domaine, vous pouvez également l'utiliser, mais assurez-vous que localhost est répertorié en second. Si vous souhaitez ajouter des alias pour votre machine qui rechercheront l'adresse de bouclage, vous pouvez continuer à les ajouter en tant que valeurs séparées par des espaces sur cette ligne. La spécification d'un domaine ici est facultative, mais ne supprimez pas "localhost" des options.

14
Caleb

Le format de /etc/hosts sur Linux et Windows est le même:

IP address        hostname [hostalias]...

où les crochets sont la manière habituelle d'indiquer que quelque chose est facultatif (ne les tapez pas réellement) et les points (...) signifie qu'il peut y en avoir plusieurs.

Vous ne devriez pas avoir à intégrer votre hôte à un domaine. Essayez-le et voyez. Mais ce serait une bonne idée d'utiliser .localdomain si vous n'avez pas de vrai nom de domaine. Cela peut rendre la résolution du nom d'hôte un peu plus rapide grâce à l'option ndots dans /etc/resolv.conf .

Notez que dans ce sens, domaine signifie domaine DNS (comme google.com ou stackexchange.com), pas un domaine Windows ou quelque chose comme ça.

La ligne commençant par ::1 est pour IPv6 . ::1 est comme 127.0.0.1 dans le nouveau schéma d'adressage. Courir ifconfig lo et vous devriez voir qu'il a deux adresses. Notez l'entrée commençant par inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Consultez la page de manuel hosts (5) pour plus de détails.

23
Mikel

Je ne peux pas parler de la façon dont Windows peut différer de Linux, mais le format de la définition de la machine locale affecte les résultats que vous obtiendrez à partir de la commande 'hostname'.

Le format que je trouve le plus cohérent est celui-ci:

127.0.0.1 etest.mydomain.com etest localhost

La chose importante que j'ai trouvée est d'avoir le FQDN d'abord et les alias, dans n'importe quel ordre, après.

Si vous essayez de réorganiser les noms après l'adresse IP, puis en utilisant les commandes 'hostname -s' (nom court) et 'hostname -f' (nom de domaine complet ou FQDN), vous verrez ce que je veux dire. Ça devrait ressembler a quelque chose comme ca:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname' en lui-même devrait retourner le nom que vous avez entré pour l'hôte dans /etc/conf.d/hostname ou/etc/hostname (l'emplacement du fichier varie selon la distribution, mais doit être trouvé sous/etc quelque part).

Si vous changez l'ordre des noms, vous pouvez constater que "hostname -f" vous donne des réponses comme "localhost" ou "hostname: system error". Le seul arrangement que j'ai trouvé qui fonctionne correctement est de mettre le FQDN en premier.

Je règle toujours la ligne d'adresse locale IPv6 (:: 1) de la même manière, c'est-à-dire:

::1 etest.mydomain.com etest localhost

Je sais que certaines distributions définissent le nom IPv6 sur quelque chose comme ip6-localhost. Je n'utilise pas encore vraiment IPv6, donc je ne peux pas commenter quels seraient les meilleurs paramètres pour cette ligne. Je peux simplement dire que dans un réseau IPv4, cela fonctionne pour avoir les deux lignes avec les mêmes noms.

6
Angelo Babudro

Conserver le fichier des hôtes esclaves en tant que

127.0.0.1 localhost

Conserver le fichier hôte maître en tant que

<private ip> master
<private ip> slave1
<private ip> slave2

100% de travail

0
Puneet