7. Configuration du serveur secondaire de la zone zone(i).lan-213.stri

Il s'agit ici de configurer un serveur secondaire pour la zone de l'arborescence DNS de travaux pratiques mise en place dans la section précédente. Comme dans le cas du serveur primaire, on part de l'installation du service cache-only fournie par le paquet Debian et on complète les fichiers de configuration.

Pour distinguer un serveur primaire d'un serveur secondaire, il faut savoir que le serveur primaire détient effectivement les fichiers de déclaration des enregistrements. Un serveur secondaire, en revanche, obtient les copies des déclarations des enregistrements par transfert réseau.

Q21.

Quel est le fichier de configuration à éditer pour que le service DNS installé ait autorité sur la zone zone(i).lan-213.stri ?

Établir la correspondance entre l'organisation des fichiers de configuration du paquet Debian et les indications des documents de référence.

Le fichier /etc/bind/named.conf.local du serveur DNS secondaire doit être édité. Bien sûr, les noms de zone doivent correspondre à ceux du serveur primaire. Voici une copie de la configuration globale du service.

# cat /etc/bind/named.conf.local 
//
// Do any local configuration here
//

zone "lab.lan-213.stri." { 
        type slave;
        masters {
                198.51.100.2;
        };
        file "backup.lab.lan-213.stri";
};

zone "100.51.198.in-addr.arpa" {
        type slave;
        masters {
                198.51.100.2;
        };
        file "backup.100.51.198";
};

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

Q22.

Quel est le fichier de configuration qui désigne le répertoire de stockage des fichiers de déclaration de zone ? Quel est ce répertoire ? Quelle est la particularité de son masque de permissions ?

Établir la correspondance entre l'organisation des fichiers de configuration du paquet Debian et les indications de la documentation de référence. Repérer le propriétaire du processus named et relever ses caractéristiques : uid, gid, répertoire utilisateur, etc.

  • C'est le fichier named.conf.options qui désigne le répertoire de travail du service de noms de domaines : /var/cache/bind/.

  • On retrouve la même information au niveau des paramètres du compte utilisateur système dédié au service.

    $ grep bind /etc/passwd
    bind:x:105:107::/var/cache/bind:/bin/false
  • Le masque de permissions donne les droits d'écriture aux membres du groupe système bind.

    $ ll /var/cache/ | grep bind
    drwxrwxr-x  2 root bind 4,0K oct.   7 21:05 bind

Q23.

Quel est l'outil à utiliser pour valider la syntaxe des déclarations d'enregistrement avant d'activer la nouvelle zone ?

Consulter la liste des outils fournis avec les paquets relatifs au logiciel bind9.

Le paquet bind9utils fournit plusieurs outils dont le programme named-checkconf qui permet de valider la syntaxe des fichiers de configuration.

Dans le cas de notre exemple, on obtient les résultats suivants.

# named-checkconf -p /etc/bind/named.conf
options {
        directory "/var/cache/bind";
        listen-on-v6 {
                "any";
        };
        auth-nxdomain no;
        dnssec-validation auto;
};
zone "lab.lan-213.stri." {
        type slave;
        file "backup.lab.lan-213.stri";
        masters {
                198.51.100.2 ;
        };
};
zone "100.51.198.in-addr.arpa" {
        type slave;
        file "backup.100.51.198";
        masters {
                198.51.100.2 ;
        };
};
zone "." {
        type hint;
        file "/etc/bind/db.root";
};
zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

Q24.

Comment les enregistrements (Resource Records) d'un serveur DNS secondaire sont ils obtenus ? Quel est le type de requête qui permet de valider la disponibilité des nouveaux enregistrements ?

Rechercher dans la liste des requêtes utilisables avec la commande dig.

Les enregistrements d'un serveur secondaire sont obtenus par transfert réseau.

Le type d'une requête de transfert de zone est : AXFR. Voici deux exemples de résultats.

# dig axfr @198.51.100.2 lab.lan-213.stri

; <<>> DiG 9.8.1-P1 <<>> axfr @198.51.100.2 lab.lan-213.stri
; (1 server found)
;; global options: +cmd
lab.lan-213.stri.       60      IN      SOA     lab.lan-213.stri. postmaster.lab.lan-213.stri. 2012100801 20 5 420 60
lab.lan-213.stri.       60      IN      NS      primary-srvr.lab.lan-213.stri.
lab.lan-213.stri.       60      IN      NS      secondary-srvr.lab.lan-213.stri.
lab.lan-213.stri.       60      IN      MX      10 smtp.lab.lan-213.stri.
lab.lan-213.stri.       60      IN      TXT     "DNS training Lab"
file-srvr.lab.lan-213.stri. 60  IN      A       198.51.100.5
ldap.lab.lan-213.stri.  60      IN      CNAME   file-srvr.lab.lan-213.stri.
nfs.lab.lan-213.stri.   60      IN      CNAME   file-srvr.lab.lan-213.stri.
ns1.lab.lan-213.stri.   60      IN      CNAME   primary-srvr.lab.lan-213.stri.
ns2.lab.lan-213.stri.   60      IN      CNAME   secondary.lab.lan-213.stri.
primary-srvr.lab.lan-213.stri. 60 IN    A       198.51.100.2
rtr.lab.lan-213.stri.   60      IN      A       198.51.100.1
secondary-srvr.lab.lan-213.stri. 60 IN  A       198.51.100.3
smtp.lab.lan-213.stri.  60      IN      A       198.51.100.10
lab.lan-213.stri.       60      IN      SOA     lab.lan-213.stri. postmaster.lab.lan-213.stri. 2012100801 20 5 420 60
;; Query time: 1 msec
;; SERVER: 198.51.100.2#53(198.51.100.2)
;; WHEN: Mon Oct  8 17:20:52 2012
;; XFR size: 15 records (messages 1, bytes 400)
# dig axfr @198.51.100.2 100.51.198.in-addr.arpa.

; <<>> DiG 9.8.1-P1 <<>> axfr @198.51.100.2 100.51.198.in-addr.arpa.
; (1 server found)
;; global options: +cmd
100.51.198.in-addr.arpa. 60     IN      SOA     lab.lan-213.stri. postmaster.lab.lan-213.stri. 2012100801 20 5 420 60
100.51.198.in-addr.arpa. 60     IN      NS      primary-srvr.lab.lan-213.stri.
100.51.198.in-addr.arpa. 60     IN      NS      secondary-srvr.lab.lan-213.stri.
1.100.51.198.in-addr.arpa. 60   IN      PTR     rtr.lab.lan-213.stri.
10.100.51.198.in-addr.arpa. 60  IN      PTR     smtp.lab.lan-213.stri.
2.100.51.198.in-addr.arpa. 60   IN      PTR     primary-srvr.lab.lan-213.stri.
3.100.51.198.in-addr.arpa. 60   IN      PTR     secondary-srvr.lab.lan-213.stri.
5.100.51.198.in-addr.arpa. 60   IN      PTR     file-srvr.lab.lan-213.stri.
100.51.198.in-addr.arpa. 60     IN      SOA     lab.lan-213.stri. postmaster.lab.lan-213.stri. 2012100801 20 5 420 60
;; Query time: 1 msec
;; SERVER: 198.51.100.2#53(198.51.100.2)
;; WHEN: Mon Oct  8 17:22:34 2012
;; XFR size: 9 records (messages 1, bytes 296)

Q25.

Comment activer les nouveaux enregistrements de zone ? Valider la prise en charge de ces enregistrements

Recharger la configuration du service DNS et consulter les journaux système correspondant

Le rechargement de la configuration du service ne se distingue pas des autres services Internet.

# service bind9 reload
[ ok ] Reloading domain name service...: bind9.

Voici un extrait de journal système.

# tail -100 /var/log/syslog
named[3188]: received control channel command 'reload'
named[3188]: loading configuration from '/etc/bind/named.conf'
named[3188]: reading built-in trusted keys from file '/etc/bind/bind.keys'
named[3188]: using default UDP/IPv4 port range: [1024, 65535]
named[3188]: using default UDP/IPv6 port range: [1024, 65535]
named[3188]: sizing zone task pool based on 7 zones
named[3188]: using built-in root key for view _default
named[3188]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
named[3188]: zone 100.51.198.IN-ADDR.ARPA/IN: (master) removed
named[3188]: reloading configuration succeeded
named[3188]: reloading zones succeeded
named[3188]: zone 100.51.198.in-addr.arpa/IN: Transfer started.
named[3188]: transfer of '100.51.198.in-addr.arpa/IN' from 198.51.100.2#53: connected using 198.51.100.3#54386
named[3188]: zone 100.51.198.in-addr.arpa/IN: transferred serial 2012100801
named[3188]: transfer of '100.51.198.in-addr.arpa/IN' from 198.51.100.2#53: \
  Transfer completed: 1 messages, 9 records, 296 bytes, 0.001 secs (296000 bytes/sec)
named[3188]: zone 100.51.198.in-addr.arpa/IN: sending notifies (serial 2012100801)
named[3188]: zone lab.lan-213.stri/IN: Transfer started.
named[3188]: transfer of 'lab.lan-213.stri/IN' from 198.51.100.2#53: connected using 198.51.100.3#45144
named[3188]: zone lab.lan-213.stri/IN: transferred serial 2012100801
named[3188]: transfer of 'lab.lan-213.stri/IN' from 198.51.100.2#53: \
  Transfer completed: 1 messages, 15 records, 400 bytes, 0.001 secs (400000 bytes/sec)
named[3188]: zone lab.lan-213.stri/IN: sending notifies (serial 2012100801)

Lors d'une modification de la liste des enregistrements, il est important d'incrémenter correctement le numéro de série de façon à notifier l'ensemble des serveurs ayant autorité sur une zone. Dans l'extrait du fichier /var/log/syslog/ du serveur primaire donné ci-dessous, on voit bien apparaître ces notifications.

named[2863]: client 198.51.100.3#54299: transfer of 'lab.lan-213.stri/IN': AXFR started
named[2863]: client 198.51.100.3#54299: transfer of 'lab.lan-213.stri/IN': AXFR ended
named[2863]: client 198.51.100.3#57978: transfer of '100.51.198.in-addr.arpa/IN': AXFR started
named[2863]: client 198.51.100.3#57978: transfer of '100.51.198.in-addr.arpa/IN': AXFR ended