Q2.
|
Quels sont les paquets Debian correspondant
au service DNS ?
Reprendre les différentes possibilités d'interrogation de la
base de données des paquets vues lors des travaux pratiques
précédents. On ne retient que les paquets relatifs à la version 9.x
du logiciel BIND (Berkeley Internet Name Domain).
|
|
On oriente la recherche dans la base de données des paquets de
la distribution vers la chaîne de caractères qui débute par
bind .
# aptitude search ^bind
p bind9 - Serveur de noms de domaines internet
p bind9-doc - documentation de BIND
i bind9-host - Version de « host » intégrée avec BIND 9.X
p bind9utils - Utilitaires pour BIND
p bindfs - mirrors or overlays a local directory with altered permissions
p bindgraph - DNS statistics RRDtool frontend for BIND9
Les paquets à installer à partir de la liste ci-dessus sont :
bind9 et bind9-doc . Une fois l'opération # aptitude install
bind9 bind9-doc effectuée, on vérifie le
résultat.
# aptitude search ~ibind9
i bind9 - Serveur de noms de domaines internet
i bind9-doc - documentation de BIND
i bind9-host - Version de « host » intégrée avec BIND 9.X
i A bind9utils - Utilitaires pour BIND
i A libbind9-80 - Bibliothèque partagée BIND9 utilisée par BIND
|
Q3.
|
Quelles sont les manipulations à effectuer
pour valider le fonctionnement du service DNS ?
Contrôler la liste des processus actifs sur le système, la liste
des ports réseau ouverts ainsi que les journaux système.
|
|
La «singularité» du service DNS provient du nom du processus exécuté :
named .
- Liste des processus actifs
-
# ps aux | grep na[m]ed
bind 2863 0.0 1.2 170168 13224 ? Ssl 21:05 0:00 /usr/sbin/named -u bind
- Ports réseau ouverts
-
En utilisant la commande lsof, on obtient la liste ports
ouverts en fonction du processus.
# lsof -i | grep na[m]ed
named 2863 bind 20u IPv6 6733 0t0 TCP *:domain (LISTEN)
named 2863 bind 21u IPv4 6738 0t0 TCP localhost:domain (LISTEN)
named 2863 bind 22u IPv4 6740 0t0 TCP 198.51.100.2:domain (LISTEN)
named 2863 bind 23u IPv4 6743 0t0 TCP localhost:953 (LISTEN)
named 2863 bind 24u IPv6 6744 0t0 TCP localhost:953 (LISTEN)
named 2863 bind 512u IPv6 6732 0t0 UDP *:domain
named 2863 bind 513u IPv4 6737 0t0 UDP localhost:domain
named 2863 bind 514u IPv4 6739 0t0 UDP 198.51.100.2:domain
En utilisant la commande netstat, on obtient les mêmes
informations en partant des ports réseau ouverts.
# netstat -autp | grep na[m]ed
tcp 0 0 198.51.100.2:domain *:* LISTEN 2863/named
tcp 0 0 localhost:domain *:* LISTEN 2863/named
tcp 0 0 localhost:953 *:* LISTEN 2863/named
tcp6 0 0 [::]:domain [::]:* LISTEN 2863/named
tcp6 0 0 localhost:953 [::]:* LISTEN 2863/named
udp 0 0 198.51.100.2:domain *:* 2863/named
udp 0 0 localhost:domain *:* 2863/named
udp6 0 0 [::]:domain [::]:* 2863/named
- Journaux systèmes
-
# grep na[m]ed /var/log/syslog
named[2863]: starting BIND 9.8.1-P1 -u bind
named[2863]: built with '--prefix=/usr' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var'
'--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared'
'--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld'
'--with-geoip=/usr' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE
-O2'
named[2863]: adjusted limit on open files from 4096 to 1048576
named[2863]: found 2 CPUs, using 2 worker threads
named[2863]: using up to 4096 sockets
named[2863]: loading configuration from '/etc/bind/named.conf'
named[2863]: reading built-in trusted keys from file '/etc/bind/bind.keys'
named[2863]: using default UDP/IPv4 port range: [1024, 65535]
named[2863]: using default UDP/IPv6 port range: [1024, 65535]
named[2863]: listening on IPv6 interfaces, port 53
named[2863]: listening on IPv4 interface lo, 127.0.0.1#53
named[2863]: listening on IPv4 interface eth0, 198.51.100.2#53
named[2863]: generating session key for dynamic DNS
named[2863]: sizing zone task pool based on 5 zones
named[2863]: using built-in root key for view _default
named[2863]: set up managed keys zone for view _default, file 'managed-keys.bind'
named[2863]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
named[2863]: automatic empty zone: 254.169.IN-ADDR.ARPA
named[2863]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
named[2863]: automatic empty zone: 100.51.198.IN-ADDR.ARPA
named[2863]: automatic empty zone: 113.0.203.IN-ADDR.ARPA
named[2863]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
named[2863]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
named[2863]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
named[2863]: automatic empty zone: D.F.IP6.ARPA
named[2863]: automatic empty zone: 8.E.F.IP6.ARPA
named[2863]: automatic empty zone: 9.E.F.IP6.ARPA
named[2863]: automatic empty zone: A.E.F.IP6.ARPA
named[2863]: automatic empty zone: B.E.F.IP6.ARPA
named[2863]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
named[2863]: command channel listening on 127.0.0.1#953
named[2863]: command channel listening on ::1#953
named[2863]: zone 0.in-addr.arpa/IN: loaded serial 1
named[2863]: zone 127.in-addr.arpa/IN: loaded serial 1
named[2863]: zone 255.in-addr.arpa/IN: loaded serial 1
named[2863]: zone localhost/IN: loaded serial 2
named[2863]: managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found
named[2863]: managed-keys-zone ./IN: loaded serial 0
named[2863]: running
|
Q4.
|
Quels sont les répertoires contenant les
fichiers de configuration du service DNS ?
Identifier les répertoires à partir de la liste des fichiers du
paquet bind9.
|
|
Comme pour tout service implanté sur un système GNU/Linux, les
fichiers de configuration sont placés dans le répertoire
/etc/ .
# dpkg -L bind9 |grep etc
/etc
/etc/bind
/etc/bind/named.conf.default-zones
/etc/bind/named.conf
/etc/bind/db.empty
/etc/bind/db.255
/etc/bind/db.127
/etc/bind/db.local
/etc/bind/db.root
/etc/bind/db.0
/etc/bind/named.conf.local
/etc/bind/zones.rfc1918
/etc/bind/bind.keys
/etc/init.d
/etc/init.d/bind9
/etc/ppp
/etc/ppp/ip-down.d
/etc/ppp/ip-down.d/bind9
/etc/ppp/ip-up.d
/etc/ppp/ip-up.d/bind9
/etc/apparmor.d
/etc/apparmor.d/force-complain
/etc/apparmor.d/usr.sbin.named
/etc/apparmor.d/local
/etc/apparmor.d/local/usr.sbin.named
/etc/network
/etc/network/if-down.d
/etc/network/if-down.d/bind9
/etc/network/if-up.d
/etc/network/if-up.d/bind9
/etc/ufw
/etc/ufw/applications.d
/etc/ufw/applications.d/bind9
De la même façon, les données du service doivent être placées
dans le répertoire /var/ .
# dpkg -L bind9 |grep var
/var
/var/cache
/var/cache/bind
/var/run
|
Q5.
|
Qu'est ce qui distingue le répertoire
général de configuration du répertoire de stockage des fichiers de
zone ?
Consulter la documentation
BIND 9 Administrator Reference Manual.
|
|
C'est dans le répertoire /var/cache/bind/ que l'on place les fichiers
contenant les enregistrements ou Resource
Records (RRs). Ces
enregistrements correspondent aux zones sur lesquelles le serveur a
autorité. Ce choix de répertoire fait partie des options du
service. Voir l'option directory dans
le fichier /etc/bind/named.conf.options .
|
Q6.
|
Pourquoi l'installation du paquet
bind9 correspond à un service
DNS de type cache-only ?
Identifier la ou les zones sur lesquelles le services a
autorités à partir des informations contenues dans les journaux
système et les fichiers de configuration named.conf.* .
Consulter la section relative au service de type cache-only dans le document
BIND 9 Administrator Reference Manual.
|
|
-
La configuration livrée avec le paquet ne contient aucune
déclaration de zone spécifique. Le fichier /etc/bind/named.conf.local ne contient que des
commentaires.
-
Le répertoire /var/cache/bind/ est
vide.
-
Le service peut contacter les serveurs racine. La liste de ces
serveurs est donnée dans le fichier db.root .
-
Le service étant actif, il peut prendre en charge les requêtes
et mémoriser dans son cache les résultats.
|
Q7.
|
Comment appelle-t-on le logiciel client
chargé d'interroger le service de noms de domaines ?
Rechercher le mot clé resolver dans
les pages de manuels.
|
|
C'est le fichier /etc/resolv.conf
qui sert à configurer la partie cliente du service de résolution
des noms de domaines ; le resolver.
Dans le cas des postes de travaux pratiques, la configuration
initiale du resolver est prise en
charge par le service DHCP.
|
Q8.
|
Quelle est l'opération à effectuer pour le
service DNS installé plus tôt
soit effectivement utilisé ?
Rechercher la syntaxe à utiliser pour éditer le fichier
/etc/resolv.conf .
|
|
Il est possible de créer un nouveau fichier simplement en
désignant l'interface de boucle locale.
# echo nameserver 127.0.0.1 >/etc/resolv.conf
Vu du système sur lequel le service est exécuté, on optimise le
traitement des requêtes en alimentant puis en utilisant le cache
mémoire. Vu de l'Internet, on sollicite directement les serveurs
racines à chaque nouvelle requête.
|
Q9.
|
À quel paquet appartient la commande
dig ? Quelle est sa
fonction ?
Utiliser le gestionnaire de paquets local dpkg.
|
|
La commande dig
est le «couteau suisse» qui va permettre d'effectuer tous les tests
de requêtes DNS. On obtient le
nom du paquet auquel elle appartient à partir d'une recherche du
type :
# dpkg -S `which dig`
dnsutils: /usr/bin/dig
Le paquet dsnutils fait partie
de l'installation de base. Il est donc présent sur tous les
systèmes.
|