next up previous contents Next: Requêtes inverses. Up: DNS et résolution de Previous: Le processus de résolution   Table des matières  


28.3 Configuration de votre machine locale.

Nous discutons ici des fichiers de configuration locaux tels qu'évoqués dans la section précédente. Il n'y a que trois fichiers concernés: /etc/host.conf, /etc/hosts et /etc/resolv.conf. Ils spécifient comment toutes les applications procèdent à une requête d'adresse IP. Notez qu'ils n'ont rien à voir avec les fichiers de configuration du démon serveur de noms lui-même, même si un démon serveur de noms peut être en cours d'exécution sur la machine locale.

Lorsqu'une application doit effectuer une requête à propos d'un nom d'hôte, elle procède ainsi [en réalité, l'application fait un appel de bibliothèque C sur la fonction gethostbyname(), donc tous ces fichiers de configuration appartiennent en fait aux paquets glibc oulibc de la bibliothèqueC. Cependant, ceci est peu important en terme d'administration]. Les explications qui suivent reprennent en détail les étapes 1, 2 et 3 décrites dans la section qui précède. Les fichiers de configuration qui sont mentionnés appartiennent à une installation réelle.

  1. L'application vérifie le fichier /etc/host.conf. Ce fichier possède usuellement une ligne order hosts, bind qui indique que la vérification devrait d'abord concerner (c'est le sens du terme hosts) la base locale de données /etc/hosts et, rechercher (c'est le sens du terme bind) le serveur de noms indiqué dans /etc/resolv.conf. Le fichier /etc/hosts contient une liste de correspondance des adresses IP et des noms. Un exemple est fourni ci-dessous. Si l'application peut obtenir une réponse à l'issue de cette étape, elle ne procède pas plus loin.
  2. L'application recherche la ligne nameserver <server_nom> dans le fichier /etc/resolv.conf. Il peut y avoir trois lignes de ce type: si une des lignes n'est pas valide, l'application utilise la ligne suivante.
  3. L'application envoie une requête avec le nom d'hôte à un serveur de noms. Si le nom d'hôte est non-qualifié, l'application -avant d'essayer la recherche- ajoute un nom de domaine local au nom d'hôte local. Une ligne search <domain1> <domain2> ... <domainN> peut être ajoutée à /etc/resolv.conf jusqu'à ce que la requête retourne avec succès une adresse IP. Ceci vous évite de devoir taper tous les noms d'hôte des ordinateurs de votre réseau.
  4. Le serveur de noms procède selon la hiérarchie des requêtes à partir de l'étape 4, tel que cela a été vu précédemment.
Le fichier /etc/hosts devrait ressembler à ceci:

127.0.0.1       localhost.localdomain    localhost  
192.168.3.9     cericon.cranzgot.co.za   cericon 
192.168.3.10    pepper.cranzgot.co.za    pepper 
192.168.2.1     onion.cranzgot.co.za     onion 


Les hôtes pepper, cericon et onion sont ceux avec lesquels cette machine communique le plus. Par conséquent, leur nom est cité. cericon est la machine locale et doit être répertoriée. Vous pouvez inclure n'importe quel hôte auquel vous voulez adresser des requêtes rapides ou des hôtes qui doivent être connus.
Le fichier /etc/host.conf pourrait avoir l'allure suivante:

order     hosts, bind, nis 
trim      some.domain 
spoofalert 
nospoof 
multi     on 
reorder 

order
ce terme désigne l'ordre dans lequel les requêtes sont effectuées. N'essayez pas de jouer sur cette valeur. Elle semble ne pas avoir d'effet. Vous devriez laisser la ligne order hosts, bind telle qu'elle (ou utiliser order hosts, bind, nis, si vous avez un NIS [NdT: il s'agit du service d'information du réseau (Network Information Service) qui permet à certaines informations d'être connues par toutes les machines disponibles du réseau. Ce service est géré par la bibliothèque C standard, libc de LINUX. La version NIS+ présente un niveau de sécurité supérieur ainsi qu'une convivialité améliorée pour les installations de grande taille --voir le HOWTO sur le web.]

trim
ôte le domaine un.domaine se trouvant à la fin du nom d'hôte qualifié avant de tenter une requête.Vous n'aurez probablement jamais besoin de cette option.

spoofalert
tente des requêtes inverses sur un nom d'hôte après avoir effectuer une requête d'IP: spoofalert demande de trouver le nom d'hôte à partir d'une IP. Si la demande ne retourne pas le résultat correct, cela peut signifier qu'une machine essaye de se faire passer pour ce qu'elle n'est pas. C'est une astuce de pirate (ou cracker) appellée ``usurpation d'identité'' (ou en anglais: spoofing). spoofalert vous avertit d'une telle tentative dans votre journal /var/log/messages.

nospoof
écarte les résultats qui n'ont pas réussi le test d'usurpation d'identité.

multi on
retourne plus d'un résultat s'il y a des alias ou synonymes. En réalité, un hôte peut avoir plusieurs adresses IP et une adresse IP peut correspondre à plusieurs noms d'hôtes. Considérons un ordinateur ayant plusieurs noms (ftp.cranzgot.co.za et www.cranzgot.co.za sont la même machine), ou alors une machine qui est équipée de plusieurs cartes réseau avec une adresse pour chacune d'elles. L'option multi on devrait toujours être activée. multi off est une autre option possible. Pour la plupart, les applications utilisent seulement la première valeur retournée.

reorder
si plus d'une adresse IP est retournée lors d'une requête, reordrer affiche une liste selon l'IP qui présente la route réseau la plus aisée à emprunter.

Bien que toutes ces options existent, un fichier /etc/hosts.conf ressemble généralement à ceci:

order     hosts, bind 
multi     on 


Le fichier /etc/resolv.conf pourrait se présenter ainsi:

nameserver 192.168.2.1 
nameserver 160.123.76.1 
nameserver 196.41.0.131 
search cranzgot.co.za ct.cranzgot.co.za uct.co.za 
sortlist 192.168.3.0/255.255.255.0 192.168.2.0/255.255.255.0 
options ndots:1 timeout:30 attempts:2 rotate np-check-names inet6 

nameserver
spécifie un serveur de noms à rechercher. Il n'y aura pas plus de trois de ces serveurs listés. Le fait d'en avoir plus d'un est une sécurité si jamais un des serveur de noms était hors service. Si c'était le cas, les autres membres de la liste seraient pris en considération séquentiellement.

search
si un nom d'hôte avec moins de ndots points était donné (c'est-à-dire 1 dans ce cas; voir la dernière ligne de l'encart), search ajouterait chacun des domaines tour à tour au nom d'hôte, en essayant une requête avec chaque combinaison. Cette option vous permet de saisir un nom d'hôte non-qualifié; l'application détermine à partir de la liste fournie quel est l'organisme auquel cette machine appartient. Vous pouvez mentionner jusqu'à six domaines mais alors, les requêtes prendront beaucoup de temps.

domain
la ligne ``domain ct.cranzgot.co.za'' désigne la même chose que ``search ct.cranzgot.co.za cranzgot.co.za co.za'' . Utilisez toujours search explicitement au lieu de domain de façon à réduire le nombre de requêtes.

options
divers paramètres supplémentaires peuvent être précisés dans cette ligne:

ndots
voir le cas search ci-dessus. Par défaut, la valeur est 1;

timeout
indique la durée au bout de laquelle une requête est considérée comme ayant échoué. La valeur par défaut est 30 s;

attempts
est le nombre d'essais à réaliser avant de considérer qu'il y a échec. La valeur par défaut est 2. Ceci signifie que si une application contacte un serveur de nom hors service, elle effectuera la requête durant 1 minute avant d'avertir qu'elle ne peut résoudre l'adresse IP.

rotate
essaie les serveurs de noms tour-à-tour (dans le jargon: ``mode round-robin''). Ceci permet de distribuer la charge des requêtes sur différents serveurs de noms.

no-check-names
permet de ne pas vérifier les caractères non-valides des noms d'hôtes.

inet6
la page de man associée à resolv.conf (resolver(5)) précise ceci:


inet 6 sets RES_USE_INET6 in _res.options. This has the effect of trying a AAAA query before an A query inside the gethostbyname function, and of mapping IPv4 responses in IPv6 ``tunneled form'' if no AAAA records are found but an A record set exists.


Une requête AAAA est une adresse internet IP de type ``IPv6'' c'est-à-dire de ``prochaine génération''.
En dépit de cette gamme d'options, un fichier /etc/resolv.conf ressemble le plus souvent à ceci:

nameserver 192.168.2.254 
search cranzgot.co.za 


next up previous contents Next: Requêtes inverses. Up: DNS et résolution de Previous: Le processus de résolution   Table des matières  
1-01-2006