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.1Restent 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 |