Ou nous allons enfin voir de vrais fichiers de zone
Certains utilisateurs ont suggéré que je mette un vrai exemple d'un domaine qui marche dans la réalité car mon explication de la différence entre un vrai domaine et l'exemple bidon ci-dessus n'était pas très claire.
Une chose importante à propos de cet exemple : ne l'entrez pas
dans vos serveurs de nom ! Ne l'utilisez que comme référence. Si vous
voulez expérimentez, faites-le avec l'exemple du domain
bogus
. J'utilise cet exemple avec la permission de David Bullock de
LAND-5. Ces fichiers étaient à jour le 24 Septembre 96, et peuvent donc
différer de ce que vous pouvez trouver en questionnant les serveurs de
nom de LAND-5 aujourd'hui. Et souvenez-vous : enlevez les caractères
blancs en tête de ligne ;-)
Voici les deux lignes primary pour les deux zones inverses dont nous
avons besoin : le réseau 127.0.0, ainsi que le sous-réseau 206.6.177 de
LAND-5. Et une ligne primary pour la forward zone land-5.com. Notez
enfin qu'au lieu de mettre les fichiers dans un répertoire appelé
pz
, comme je fais dans ce HOWTO, il les place dans un répertoire
appelé zone
.
; Boot file for LAND-5 name server ; directory /var/named ; ; type domain source file or host cache . root.cache primary 0.0.127.in-addr.arpa zone/127.0.0 primary 177.6.206.in-addr.arpa zone/206.6.177 primary land-5.com zone/land-5.com
Souvenez-vous que le contenu de ce fichier peut changer, et celui donné ici est assez vieux. Vous feriez mieux d'utiliser un fichier plus récent, produit par dig.
; <<>> DiG 2.1 <<>> ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6 ;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9 ;; QUESTIONS: ;; ., type = NS, class = IN ;; ANSWERS: . 518357 NS H.ROOT-SERVERS.NET. . 518357 NS B.ROOT-SERVERS.NET. . 518357 NS C.ROOT-SERVERS.NET. . 518357 NS D.ROOT-SERVERS.NET. . 518357 NS E.ROOT-SERVERS.NET. . 518357 NS I.ROOT-SERVERS.NET. . 518357 NS F.ROOT-SERVERS.NET. . 518357 NS G.ROOT-SERVERS.NET. . 518357 NS A.ROOT-SERVERS.NET. ;; ADDITIONAL RECORDS: H.ROOT-SERVERS.NET. 165593 A 128.63.2.53 B.ROOT-SERVERS.NET. 165593 A 128.9.0.107 C.ROOT-SERVERS.NET. 222766 A 192.33.4.12 D.ROOT-SERVERS.NET. 165593 A 128.8.10.90 E.ROOT-SERVERS.NET. 165593 A 192.203.230.10 I.ROOT-SERVERS.NET. 165593 A 192.36.148.17 F.ROOT-SERVERS.NET. 299616 A 192.5.5.241 G.ROOT-SERVERS.NET. 165593 A 192.112.36.4 A.ROOT-SERVERS.NET. 165593 A 198.41.0.4 ;; Total query time: 250 msec ;; FROM: land-5 to SERVER: default -- 127.0.0.1 ;; WHEN: Fri Sep 20 10:11:22 1996 ;; MSG SIZE sent: 17 rcvd: 312
; Boot file for LAND-5 name server ; directory /var/named ; ; type domain source file or host cache . root.cache primary 0.0.127.in-addr.arpa zone/127.0.0 primary 177.6.206.in-addr.arpa zone/206.6.177 primary land-5.com zone/land-5.com
Seulement l'essentiel, le champ SOA obligatoire, et un champ qui
établit la correspondance entre 127.0.0.1 et localhost
. Ils sont
tous les deux indispensables. Rien d'autre ne doit figurer dans ce
fichier. Il ne sera probablement jamais besoin de le mettre à jour, à
moins que l'adresse du serveur de noms ou de hostmaster ne change.
@ IN SOA land-5.com. root.land-5.com. ( 199609203 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. 1 PTR localhost.
Nous trouvons ici le classique et obligatoire champ SOA ainsi que les champs NS. Nous pouvons voir qu'il a un serveur de noms secondaire ns2.psi.net. C'est comme ça que tout le monde devrait faire : toujours avoir un serveur secondaire sur un site distant pour faire des sauvegardes. Nous voyons également que le serveur primaire est land-5, qui assure tous les services, et que l'administrateur a utilisé des CNAME pour faire ça (il aurait pu utiliser des champs A).
Comme vous pouvez voir d'après le champ SOA, le fichier de zone a son
origine à land-5.com, la personne à contacter est
root@land-5.com
. hostmaster
est une autre adresse souvent
utilisée pour la personne à contacter. Le numéro de série est au format
obligatoire aaaammjj, avec le numéro de série dans la journée ajouté à
la fin; il s'agit certainement de la sixième version du fichier de zone
pour la journée du 20 septembre 1996. N'oubliez-pas que le numéro de
série doit obligatoirement augmenter de manière monotone, ici il
n'y a qu'un chiffre pour le numéro de série dans la journée, si bien
qu'après 9 modifications il faudra attendre le lendemain pour modifier le
fichier à nouveau. Envisagez d'utiliser deux chiffres au lieu d'un seul.
@ IN SOA land-5.com. root.land-5.com. ( 199609206 ; serial, todays date + todays serial # 10800 ; refresh, seconds 7200 ; retry, seconds 10800 ; expire, seconds 86400 ) ; minimum, seconds NS land-5.com. NS ns2.psi.net. MX 10 land-5.com. ; Primary Mail Exchanger localhost A 127.0.0.1 router A 206.6.177.1 land-5.com. A 206.6.177.2 ns CNAME land-5.com. ftp CNAME land-5.com. www CNAME land-5.com. mail CNAME land-5.com. news CNAME land-5.com. funn A 206.6.177.3 illusions CNAME funn.land-5.com. @ TXT "LAND-5 Corporation" ; ; Workstations ; ws_177200 A 206.6.177.200 MX 10 land-5.com. ; Primary Mail Host ws_177201 A 206.6.177.201 MX 10 land-5.com. ; Primary Mail Host ws_177202 A 206.6.177.202 MX 10 land-5.com. ; Primary Mail Host ws_177203 A 206.6.177.203 MX 10 land-5.com. ; Primary Mail Host ws_177204 A 206.6.177.204 MX 10 land-5.com. ; Primary Mail Host ws_177205 A 206.6.177.205 MX 10 land-5.com. ; Primary Mail Host ; {Many repetitive definitions deleted - SNIP} ws_177250 A 206.6.177.250 MX 10 land-5.com. ; Primary Mail Host ws_177251 A 206.6.177.251 MX 10 land-5.com. ; Primary Mail Host ws_177252 A 206.6.177.252 MX 10 land-5.com. ; Primary Mail Host ws_177253 A 206.6.177.253 MX 10 land-5.com. ; Primary Mail Host ws_177254 A 206.6.177.254 MX 10 land-5.com. ; Primary Mail Host
Une autre chose qu'il faut noter est que les stations de travail n'ont pas de nom personnel, mais plutôt un préfixe suivit des deux derniers morceaux de leur adresse IP. Utiliser une telle convention simplifie grandement la maintenance, mais c'est un peu impersonnel.
Les commentaires se trouvent après ce fichier
@ IN SOA land-5.com. root.land-5.com. ( 199609206 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. NS ns2.psi.net. ; ; Servers ; 1 PTR router.land-5.com. 2 PTR land-5.com. 3 PTR funn.land-5.com. ; ; Workstations ; 200 PTR ws_177200.land-5.com. 201 PTR ws_177201.land-5.com. 202 PTR ws_177202.land-5.com. 203 PTR ws_177203.land-5.com. 204 PTR ws_177204.land-5.com. 205 PTR ws_177205.land-5.com. ; {Many repetitive definitions deleted - SNIP} 250 PTR ws_177250.land-5.com. 251 PTR ws_177251.land-5.com. 252 PTR ws_177252.land-5.com. 253 PTR ws_177253.land-5.com. 254 PTR ws_177254.land-5.com.
La zone inverse est la partie de la configuration qui semble poser le plus de problèmes. Elle est utilisée pour trouver le nom d'hôte d'une machine connaissant son adresse IP. Exemple : vous êtes un serveur IRC et vous acceptez des connexions provenant de clients IRC. Cependant, comme vous êtes un serveur IRC norvégien, vous ne voulez accepter que les connexions venant de Norvège ou des autres pays scandinaves. Ainsi, lorsqu'un client se connecte chez vous, la bibliothèque C peut vous dire quelle est l'adresse IP du client, puisque cette-dernière se trouve dans tous les paquets qui traversent le réseau. Ensuite, vous pouvez appeler une fonction connue sous le nom de gethostbyaddr qui va rechercher le nom d'une machine connaissant son adresse IP. Gethostbyaddr va poser la question à un serveur de noms, qui va alors faire une recherche de la machine dans le DNS. Supposons que la connexion du client se fasse depuis ws_177200.land-5.com. L'adresse IP que la bibliothèque C fournit au serveur IRC est 206.6.177.200. Pour retrouver le nom de cette machine, il nous faut trouver 200.177.6.206.in-addr.arpa. Le serveur de noms va donc d'abord trouver les serveurs arpa., puis les serveurs in-addr.arpa., poursuivre la recherche inverse par 206, puis 6 et finalement trouver le serveur pour la zone 177.6.206.in-addr.arpa à land-5. C'est ce-dernier qui lui dira que pour 200.177.6.206.in-addr.arpa nous avons un champ 'PTR ws_177200.land-5.com', ce qui veut dire que le nom qui va avec 206.6.177.200 est ws_177200.land-5.com. Tout comme pour l'explication de la résolution de prep.ai.mit.edu, tout ceci est légerement fictif.
Revenons à l'exemple du serveur IRC. Le serveur n'accepte que les connexions venant des pays scandinaves, c'est-à-dire *.no, *.se, *.dk. Le nom ws_177200.land-5.com ne correspond évidemment pas, et le serveur va donc refuser la connexion. Si il n'existait pas de résolution inverse de 206.2.177.200 au travers de la zone in-addr.arpa, le serveur aurait été tout à fait incapable de trouver le nom, et aurait dû se contenter de comparer 206.6.177.200 à *.no, *.se et *.dk, dont aucun ne correspond.
Certains gens vous diront que la résolution de noms inverse n'est importante que pour les serveurs, ou pas importante du tout. Pas tant que ça : beaucoup de serveurs ftp, news, irc ou http (Web) n'acceptent pas les connexions venant de machines dont ils ne peuvent retrouver le nom. C'est pourquoi la résolution de noms inverse pour les machines est obligatoire.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre