Système de nommage
Présentation du problème
A ce stade, nous avons étudié plusieurs dictionnaires qui permettent de transformer des noms en références. A titre d'exemple :
- /etc/passwd (login en UID),
- /etc/shadow (login en mot de passe),
- /etc/group (groupe en GID),
- /etc/hosts (nom de machine en adresse IP),
- /etc/services (nom de service en numéro de port),
- /etc/network (nom de réseau en adresse IP),
- /etc/ethers (adresse IP en adresse MAC),
- etc.
Pour accéder à ces dictionnaires les applications utilisent des API particulières intégrées à la libraire standard du langage C (regardez à titre d'exemple la fonction getpwent avec la commande man 3 getpwent, qui présente les pages du manuel de la section 3, c'est-à-dire les API).
Depuis plusieurs années, les fichiers ne sont plus les seuls dictionnaires. On peut maintenant utiliser le DNS, des bases de données ou des annuaires d'entreprises basés sur LDAP ou NIS. La configuration du choix entre ces systèmes de nommage, se fait dans le fichier /etc/nsswitch.conf (Name Service Switch). Chaque système de nommage doit fournir sa propre implantation des fonctions systèmes dans une libraire dynamique (voir ls /lib/libnss*). Lisez la page de manuel de nsswitch.conf.
Exercices
♦ Modifiez le fichier /etc/hosts en ajoutant la nouvelle ligne ci-dessous. En faisant un ping vous pouvez vérifier que votre définition masque l'accès au DNS et donc la véritable adresse du serveur Yahoo. Essayez également avec un navigateur WEB.
139.124.14.122 www.yahoo.fr
♦ Modifiez le fichier /etc/nsswitch.conf pour faire en sorte que le DNS soit toujours prioritaire (attention : ce n'est pas la configuration standard).
♦ Le service de nommage basé sur le DNS se configure à l'aide du fichier /etc/resolv.conf. Après avoir lu la page de manuel, faites en sorte d'ajouter la machine 139.124.1.2 comme serveur de secours et de permettre la résolution des machines du département à partir de leur nom court (par exemple pc10 par opposition au nom pleinement qualifié pc10.dil.univ-mrs.fr aussi appelé le FQDN pour Fully Qualified Domain Name).