Les fichiers à écrire restent les mêmes que dans le cas d'un serveur DNS ne servant que de cache. Ils sont juste un peu plus longs.
Voici le fichier /etc/named.conf :
/* * Fichier /etc/named.conf - Premier fichier lu par named. Cf. named.conf(5) * * Specifie le(s) chemin(s) ou se trouvent les fichiers de zone DNS. * * Valeurs possibles : directory chemin */ options { directory "/var/named"; /* * Adresse des serveurs a contacter si le serveur de noms local est incapable * de resoudre le nom. Cette option peut remplacer la commande nameserver * du fichier /etc/resolv.conf. */ forward first; forwarders { 212.27.32.5; 212.27.32.6; }; }; /* * Fichier de cache. */ zone "." { type hint; file "named.ca"; }; /* * Fichier utilise pour la resolution inverse. Les adresses IP commencant * par 127.0.0 peuvent etre resolues en nom d'hote dans le fichier specifie */ zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; /* * Fichier utilise pour la resolution des noms d'hote se terminant par * domaine1 */ zone "domaine1" { type master; file "domaine1"; }; /* * Fichier utilise pour la resolution inverse. Les adresses IP commencant * par 192.168.1 peuvent etre resolues en nom d'hote dans le fichier * specifie */ zone "1.168.192.in-addr.arpa" { type master; file "domaine1.rev"; };
Le fichier /var/named/named.local reste presque le même que pour le cas d'un serveur ne servant que de cache. La ligne indiquant le serveur de noms pour la zone change :
; ; Enregistrement de ressources. Syntaxe : ; ; proprietaire ttl classe type donnees ; ; ou : ; ; - proprietaire : nom de domaine ou nom d'hote relatif a ; l'enregistrement. Nom de domaine de l'enregistrement de ressources ; precedent par defaut ; ; ; - ttl (time to live) : indique la duree de validite des informations, ; en secondes, depuis leur recuperation depuis un serveur DNS. ttl ; minimal du dernier debut d'autorisation par defaut ; ; ; - classe : classe d'adresse du reseau. IN pour les resaux TCP/IP (ceux ; qu'on utilise). Celle de l'enregistrement de ressources precedent par ; defaut ; ; ; - type : type d'enregistrement de ressources. Champ OBLIGATOIRE. Le ; type sera explicite dans chaque exemple ; ; ; - donnees : donnees associes au type d'enregistrement ; ; ; Cf. named(8). ; ; Debut d'autorisation (SOA=Start Of Authority). Cet enregistrement de ; ressources utilise l'adressage TCP/IP (IN). Le serveur de noms primaire ; a pour nom "machine1.domaine1.", la personne a contacter a pour ; adresse mel "root@machine1.domaine1". ; ; @ IN SOA machine1.domaine1. root.machine1.domaine1. ( ; ; Les options qui suivent n'ont pas a etre modifiees dans le cas d'une ; configuration simple. Elles concernent le serveur de noms secondaire. ; 1997022700 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expire 86400 ; default_ttl ) ; ; "machine1.domaine1" est le serveur de noms pour le domaine. ; @ IN NS machine1.domaine1. ; ; l'adresse domaine_local.1 (soit 192.168.1.1) sera accociee au nom ; "localhost". ; 1 IN PTR localhost.
Voici le fichier /var/named/domaine1 :
; ; Fichier /var/named/domaine1 - Contient les informations sur ; la zone domaine1 pour resoudre un nom d'hote en adresse IP. ; ; Ce fichier est appelle par le fichier /etc/named.conf. Le domaine ; actuel est celui specifie par la ligne appelant ce fichier : ; ; zone "domaine1" { ; type master; ; file "domaine1"; ; }; ; ; Le domaine local, represente par le caractere ``@'', est donc ; "domaine1". ; @ IN SOA machine1.domaine1. root.machine1.domaine1. ( 2000070306 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire 43200 ; default_ttl ) ; ; Permet d'associer le domaine local (@) a l'adresse IP 192.168.1.1. ; @ IN A 192.168.1.1 ; ; Ce qui suit est assez explicite... ; @ TXT "Serveur DNS local de domaine1" ; ; "machine1" et "machine1.domaine1" sont les serveurs de noms pour ; le domaine1. ; @ IN NS machine1 @ IN NS machine1.domaine1. ; ; Echange de mel : tout mel doit etre envoye d'abord a machine1, puis a ; machine1.domaine1. Les nombres indiquent la priorite. ; @ IN MX 10 machine1 @ IN MX 20 machine1.domaine1. ; ; Informations concernant chaque machine du reseau devant etre resolue ; par le serveur de noms local. ; ; Adresse de reference de machine1 : 192.168.1.1 (type A, unique pour une ; adresse). Diverses informations sur la machine peuvent etre specifiees ; par HINFO. Ici, c'est en commentaires car problème sécurité ;-) ; machine1 IN A 192.168.1.1 machine1. IN A 192.168.1.1 ; machine1 IN HINFO "Intel P133+" "Linux 2.2.14-12" ; ; nougat, une autre machine. ; nougat IN A 192.168.1.2 ; nougat IN HINFO "Non definit" "Non definit" ; ; localhost, pour l'interface de bouclage. ; localhost IN A 127.0.0.1 ; ; Quelque alias (CNAME) : un nom d'hote precise par un enregistrement de ; type A peut avoir un ou plusieurs alias. Dans l'exemple ci-dessous, ; www <-> machine1, ftp <-> machine1, mail <-> machine1, si bien que ; www.domaine1, ftp.domaine1 ou encore mail.domaine1 ; designent la meme adresse IP, celle de l'enregistrement de type A de ; machine1. On peut ainsi faire une requête du style : ; ; - lynx http://www.domaine1 ; ; - ftp ftp.domaine1 ; ; - fetchmail mail.domaine1 ; www CNAME machine1 ftp CNAME machine1 mail CNAME machine1
Enfin, voici le fichier /var/named/domaine1.rev :
; ; Fichier /var/named/domaine1.rev - Contient les informations sur ; la zone domaine1 pour resoudre une adresse IP en nom d'hote. ; ; Ce fichier est appelle par le fichier /etc/named.conf. Le domaine ; actuel est celui specifie par la ligne appelant ce fichier : ; ; zone "1.168.192.in-addr.arpa" { ; type master; ; file "domaine1"; ; }; ; ; Le domaine local, represente par le caractere ``@'', est donc ; "1.168.192.in-addr.arpa". ; @ IN SOA machine1.domaine1. root.machine1.domaine1. ( 2000070305 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire 43200 ; default_ttl ) ; ; Serveur de noms pour le domaine. ; IN NS machine1.domaine1. ; ; Associe des adresses IP a des noms. Les adresses sont donnees par rapport ; au domaine local. Ainsi, 2 <-> 2.1.168.192.in-addr.arpa. ; 1 IN PTR machine1.domaine1. 2 IN PTR nougat.domaine1.