Si je veux append une input à /etc/hosts
pour résoudre tout le trafic de example.com
vers 1.2.3.4
, dois-je append
1.2.3.4 example.com 1.2.3.4 www.example.com 1.2.3.4 smtp.example.com 1.2.3.4 pop.example.com ...
Ou appenda juste
1.2.3.4 example.com
suffire?
Vous devrez spécifier chaque sous-domaine. Si ce n'est pas ce que vous voulez, vous devriez envisager d'installer un vrai server DNS (par exemple bind9).
Ceci est assez facile à vérifier en ajoutant d'abord juste example.com
à /etc/hosts
, puis en faisant
ping -c 2 example.com ping -c 2 www.example.com
Le premier réussira avec l'adresse IP fournie. Le second passera à 93.184.216.119
(l'adresse IP sur Internet pour http://www.example.com)
/etc/hosts
est / était le préslider du système DNS à partir du moment où Internet était à ses balbutiements. Il est toujours utilisé aujourd'hui, par exemple lorsque vous souhaitez résoudre un petit nombre de systèmes locaux ou dans une configuration de développement où vous n'avez pas configuré le DNS.
Vous placez tous les noms d'hôte que vous voulez résoudre à une adresse IP. Vous pouvez atsortingbuer plusieurs noms à une adresse IP comme la ligne localhost
de la plupart des dissortingbutions:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
Si vous voulez append 1.2.3.4
à votre server web, qui s'appelle www.example.com
et que vous y accédez via un www
plus court, ajoutez:
1.2.3.4 www www.example.com
Dans votre instance, vous pouvez placer tous les noms sur une seule ligne:
1.2.3.4 www.example.com smtp.example.com pop.example.com
L'ordre dans lequel votre système résout ces noms ( /etc/hosts
ou DNS en premier) peut être configuré dans les hosts:
line of /etc/nsswitch.conf
)
Mais callbackez-vous, /etc/hosts
ne fonctionne que depuis votre machine. Si vous avez quelques systèmes, éditer /etc/hosts
sur chacun peut devenir fastidieux.