Le serveur de nom

par Alexandre Guy si2g14@mscict.fr et Alexandre Vaillant vaillant@toulouse.inra.fr


Un serveur de noms est une ``base de données géante'' qui permet de connaître l'adresse IP d'une machine à partir son nom, et vice versa.

Lors de la configuration du DNS, on remarque que les adresses sont de la forme : iles.siera.ups-tlse.fr.

le point final symbolise le domaine ``_''(caractére nul)

Et pour le domaine inverse : 50.84.120.130.in-addr.arpa

Pour limiter le trafic généré et pour améliorer les temps de réponse, tous les serveurs de noms utilisent un principe de cache permettant de mémoriser temporairement les adresses les plus utilisées.

Pour des raisons de tolérance aux pannes, tout serveur de noms doit disposer d'un serveur de noms secondaire, qui sera capable de remplacer le cas échéant. Ce serveur de noms secondaire se met à jour régulièrement sur le principal et doit se trouver sur un réseau local différent.

Les différents fichiers de configuration du DNS

Pour effectuer des hébergements Internet, il faut gérer plusieurs noms de domaines. En effet, les entreprises intéressées par un hébergement, doivent posséder une adresse de la forme : www.nom_de_la_société.fr.

Les fichiers de configuration du DNS sous Linux

Fichier Fonction
/etc/host.conf Ordre de recherche: d'abord le DNS (bind) ensuite le fichier /etc/hosts
/etc/named.boot Fichier de boot du DNS: définit les serveurs de noms primaire et secondaire
/etc/resolv.conf Nom du domaine et du serveur de nom
/var/adm/dns/root.cache Information sur les serveurs de nom d'Internet. Il sert a initialiser le cache du DNS local
/var/adm/dns/named.hosts.b2m gère le premier domaine: b2m.fr
/var/adm/dns/named.hosts.comnet gère le deuxième domaine: comnet.fr
/var/adm/dns/named.rev.b2m spécification du localhost et du localhost inverse
/var/adm/dns/named.rev.comnet spécification des machines du domaine inverse comnet.fr

Concrètement, gérer plusieurs domaines sur le même serveur Internet consiste à attribuer une adresse IP différente à chaque domaine. Cette opération se réalise en créant des interfaces virtuelles (dummy). Chaque interface virtuelle désigne une adresse IP et est assignée à la même carte ethernet, à l'occurrence ``eth0''. Ce mécanisme est installé au démarrage de la machine, dans le fichier d'initialisation réseau : /etc/rc.d/rc.inet2.

extrait du fichier /etc/rc.d/rc.inet2

# création des interfaces virtuelles
/sbin/insmod -o dummy0 /lib/modules/1.2/net/dummy.o
/sbin/insmod -o dummy1 /lib/modules/1.2/net/dummy.o


# assignation du nom de domaine à chaque
# interface virtuelle
/sbin/ifconfig dummy0 www.b2m.fr up
/sbin/ifconfig dummy1 www.comnet.fr up


# ajout des noms de domaines à la table de routage
/sbin/route add www.b2m.fr dummy0
/sbin/route add www.comnet.fr dummy1


# assignation  du nom de domaine à l'adresse
# de la carte ethernet
/sbin/arp -s www.b2m.fr 08:00:00:47:74:99 pub
/sbin/arp -s www.comnet.fr 08:00:00:47:74:99 pub

Pour vérifier la fonctionnement du serveur de noms, l'outil adapté (en plus de ping et de netstat) est nslookup.

Nslookup interroge le serveur de noms déclaré dans le fichier /etc/resolv.conf. Invoqué sans argument, nslookup affiche le serveur de noms qu'il utilise et passe en mode intéractif.

Ces fonctionnalités principales sont :

Voilà c'est tout pour cette fois au prochain épisode, vous en saurez plus sur le paramètrage du dns (modif des fichiers de config) ..... A+