|
| SIG 11 | ARTICLES | DOCUMENTS | MEMBRES | LIENS |
UN SERVEUR DE NOMS DE DOMAINES AVEC BIND 9créer les fichiers de zonesIl existe bien des manières d'écrire un tel fichier ; celle qui a été adoptée ici n'est pas nécessairement la
plus concise, mais elle est homogène et à priori, aussi claire que possible.
$TTL 86400
localhost. SOA superathlon.mondomicile.local. root.mondomicile.local.(
2001122400 ; Numero
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
localhost. NS superathlon.mondomicile.local.
localhost. A 127.0.0.1
Restent donc les deux fichiers créés pour notre DNS. Le nombre est pair, c'est normal : le second fichier assure la
résolution inverse du nom, c'est à dire à la recherche d'un nom associé à une adresse IP connue. Le concept est
un petit peu compliqué, on y reviendra donc en détail plus loin. Et le premier, arbitrairement nommé
mondomicile.dns, contient toute les données nécessaires au bon fonctionnement de la zone. On connaît donc ce type
de fichier sous le nom de resource records, alias RR.
les données dans mondomicile.dnsChaque enregistrement du fichier contient normalement cinq champs, séparés par un espace ; on verra pourquoi il
existe quelques exceptions. Ces cinq champs sont :
Le fichier utilisé a la syntaxe suivante :
$TTL 86400
@ IN SOA superathlon.mondomicile.local. root.mondomicile.local. (
2001122303 ; Numero
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
NS superathlon.mondomicile.local.
superathlon A 192.168.200.20
superathlon HINFO "AMD Athlon 1Ghz" "Linux Mandrake 8.1"
www CNAME superathlon
imap CNAME superathlon
pop CNAME superathlon
smtp CNAME superathlon
ftp CNAME superathlon
moregroup CNAME superathlon
nuke CNAME superathlon
myadmin CNAME superathlon
midgard CNAME superathlon
mensaidf CNAME superathlon
bravek6 A 192.168.200.21
486pourri A 192.168.200.22
alien A 192.168.200.19
alien TXT "Alien Computer - ordinateur invite"
On se souvient que notre serveur de noms est maître sur la zone mondomicile.local, ce pourquoi il a été défini
avec le type master dans named.conf. Notre fichier de zone doit donc commencer par un enregistrement dit
SOA pour start or autority, qui définira le nom du serveur, l'adresse électronique de l'administrateur, et
quelques paramètres. Pourtant, le fichier commence par : $TTL 86400Qu'est-ce que ça fait là ? Bind nous permet de définir un nombre très limité de variables, qui seront placées au début du fichier et établiront des valeurs par défaut pour les enregistrements. Il s'agit de :
Passons donc à l'analyse de notre premier enregistrement, le SOA.
@ IN SOA superathlon.mondomicile.local. root.mondomicile.local. (
20010122303 ; Numero
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
Cela semble d'abord un peu déroutant, mais les cinq champs dont nous parlions plus haut sont bien présents, et dans
l'ordre prévu. Détaillons un peu :
Passons à la suite, à savoir la résolution du nom du serveur lui-même : NS superathlon.mondomicile.local. superathlon A 192.168.200.20 superathlon HINFO "AMD Athlon 1Ghz" "Linux Mandrake 8.1"Nous voyons apparaître trois nouveaux types d'enregistrements : NS, A et HINFO. NS désigne naturellement un serveur de noms, et A une adresse IP classique. Pour que l'on puisse trouver notre serveur, et qu'il arrive à se trouver lui-même, deux lignes sont nécessaires :
Sur notre petit réseau ne figure qu'un seul serveur de noms. En principe, c'est très mal, et on peut donc entrer les adresses d'autres serveurs, chacun sur leur ligne. On constate d'autre part que le @ en tête de ligne a disparu : dans la mesure où le domaine est toujours le même, il est déduit de l'enregistrement précédent. Le même principe s'applique à la classe, IN en l'occurrence : il suffit de la préciser une fois, dans l'enregistrement SOA. Nous trouvons enfin deux séries d'enregistrements : www CNAME superathlon imap CNAME superathlon pop CNAME superathlon smtp CNAME superathlon ftp CNAME superathlon moregroup CNAME superathlon nuke CNAME superathlon myadmin CNAME superathlon midgard CNAME superathlon mensaidf CNAME superathlon bravek6 A 192.168.200.21 486pourri A 192.168.200.22 alien A 192.168.200.19 alien TXT "Alien Computer - ordinateur invite" On constate la présence d'un nouveau type d'enregistrement, CNAME : il s'agit d'un alias qui renverra
vers le serveur réel. On en profite pour mettre là tout son bazar d'hôtes virtuels, tous hébergés par la même
machine : Apache étant correctement configuré, en saisissant mensaidf.mondomicile.local dans la barre d'adresse de
mon navigateur client, j'arriverai directement sur mon site. On retrouve enfin des adresses de type A, qui établissent
la correspondance vers les autres ordinateurs du réseau, ceux que l'on a déjà vu dans le fichier hosts.
la résolution inverseTout le travail effectué jusqu'à présent ne servait qu'à associer une adresse IP à un nom. Pour le bon fonctionnement
du réseau, il est nécessaire que l'opération inverse - retrouver un nom à partir d'une adresse IP - soit
possible : nombre de protocoles, HTTP et FTP pour n'en citer que deux, vérifient grâce à cette méthode, lors de la
connexion d'un client, l'exactitude des informations d'identification qu'il a donné. On utilise pour cela une
arborescence dont la racine n'est plus matériaisée par un simple point, mais par un nom : in-addr.arpa, et où les
adresses IP sont consignées en sens inverse de l'ordre habituel. 1 IN PTR localhost.Ces deux informations permettent à Bind de reconstituer l'adresse complète. Le fichier mondomicile.inv comportera donc les enregistrements suivants :
$TTL 86400
@ IN SOA superathlon.mondomicile.local. root.mondomicile.local. (
2001121702 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
NS superathlon.mondomicile.local.
20 PTR superathlon.mondomicile.local.
21 PTR bravek6.mondomicile.local.
22 PTR 486pourri.mondomicile.local.
19 PTR alien.mondomicile.local.
Et c'est tout : la partie supérieure reprend exactement la déclaration SOA de mondomicile.dns, mais
la zone à laquelle renvoie le @ est maintenant 200.168.192.in-addr.arpa., et les seuls enregistrements appropriés
sont des pointeurs, alias PTR, auxquels sont associés les derniers octets des adresses des machines. Remarquons
que rien n'interdit d'entrer des adresses complètes, 20.200.168.192.in-addr.arpa., de la même manière que l'on peut
éventuellement entrer des noms pleinement qualifiés dans les enregistrements de type A. C'est plus long, plus sûr d'un
certain point de vue, mais d'un autre côté on multiplie le risque de fautes de frappe. Et Bind fonctionne très bien
sans. Le problème avec Bind, c'est d'ailleurs qu'il fonctionne presque toujours, du moment que named.conf ne comporte
pas d'erreur de syntaxe, même quand il n'est pas en mesure de fournir les informations demandées : c'est pourquoi
il ne faut pas hésiter à le torturer un peu.
|
| SIG 11 | DOCUMENTS | L' INTRO | LES ELEMENTS | LA CONFIGURATION | LES ENNUIS |