Un serveur de noms permet d'associer une adresse IP à un nom. Dans un réseau, chaque machine se voit attribuer une adresse IP unique1, qui permet de l'identifier. C'est un peu comme une adresse postale, qui permet d'identifier une maison de façon certaine. Mais si une adresse chiffrée est plus facile à manipuler par un ordinateur, elle est difficile à mémoriser par un humain. Ainsi, on se souvient facilement de www.linux-france.org, mais plus difficilement de 216.167.114.128. Le serveur de noms va permettre de trouver l'adresse IP à partir d'un nom (ou inversement), que l'ordinateur pourra ensuite interroger.
Dans la suite de ce document, le terme DNS (Domaine Name Server, serveur de noms en français) fait référence au serveur DNS.
La méthode la plus simple consiste à mettre tous les noms d'hôtes et leurs adresses associées dans le fichier /etc/hosts
:
Cette méthode peut se révéler fastidieuse à la longue : chaque fois qu'on veut insérer une nouvelle machine dans le réseau, il faut modifier le fichier /etc/hosts
de chaque machine. De plus, ces machines seront difficilement identifiables par des machines non Unixiennes (comme Windows, par exemple). Enfin, un DNS permet de mettre en place des services comme la distribution du mél ou des alias sur des noms plus facilement, et offre la mémorisation des adresses résolues par un autre DNS (comme celui du fournisseur d'accès, par exemple).