On sait que le logiciel à utiliser est appelé Berkeley
Internet Name Domain (BIND). On oriente donc
la recherche dans la base de données des paquets Debian vers la chaîne de
caractère bind*.
saphir:~$ dpkg -l bind* Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé |/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais) ||/ Nom Version Description +++-=================-=================-=========================================== pn bind <néant> (aucune description n'est disponible) pn bind-dev <néant> (aucune description n'est disponible) pn bind-doc <néant> (aucune description n'est disponible) pn bind9 <néant> (aucune description n'est disponible) pn bind9-doc <néant> (aucune description n'est disponible) ii bind9-host 9.3.1-2 Version of 'host' bundled with BIND 9.X pn bindgraph <néant> (aucune description n'est disponible)
Les paquetages à installer à partir de la liste ci-dessus sont :
bind9 et bind9-doc. Une
fois l'opération # apt-get install bind9 bind9-doc
effectuée, on vérifie le résultat.
saphir:~# dpkg -l bind* |grep ^ii ii bind9 9.3.1-2 Internet Domain Name Server ii bind9-doc 9.3.1-2 Documentation for BIND ii bind9-host 9.3.1-2 Version of 'host' bundled with BIND 9.X
On valide l'activité du service à partir de la liste des processus, des
ports ouverts en écoute sur le réseau et des messages système. La
«singularité» du service DNS provient du nom du processus
exécuté : named.
saphir:~# ps aux |grep named bind 7503 0.0 0.6 29816 2812 ? Ssl 09:46 0:00 /usr/sbin/named -u bind
saphir:~# lsof -i |grep named named 7503 bind 20u IPv4 13663 UDP localhost.localdomain:domain named 7503 bind 21u IPv4 13664 TCP localhost.localdomain:domain (LISTEN) named 7503 bind 22u IPv4 13665 UDP 192.168.1.7:domain named 7503 bind 23u IPv4 13666 TCP 192.168.1.7:domain (LISTEN) named 7503 bind 24u IPv4 13667 UDP *:1072 named 7503 bind 25u IPv6 13668 UDP *:1073 named 7503 bind 26u IPv4 13669 TCP localhost.localdomain:953 (LISTEN) named 7503 bind 27u IPv6 13670 TCP ip6-localhost:953 (LISTEN)
saphir:~# netstat -autp |grep named tcp 0 0 192.168.1.7:domain *:* LISTEN 7503/named tcp 0 0 localhost.locald:domain *:* LISTEN 7503/named tcp 0 0 localhost.localdoma:953 *:* LISTEN 7503/named tcp6 0 0 ip6-localhost:953 *:* LISTEN 7503/named udp 0 0 *:1072 *:* 7503/named udp 0 0 192.168.1.7:domain *:* 7503/named udp 0 0 localhost.locald:domain *:* 7503/named udp6 0 0 *:1073 *:* 7503/named
saphir:~# tail -150 /var/log/daemon.log |grep named May 26 09:46:59 localhost named[7503]: starting BIND 9.3.1 -u bind May 26 09:46:59 localhost named[7503]: found 1 CPU, using 1 worker thread May 26 09:46:59 localhost named[7503]: loading configuration from '/etc/bind/named.conf' May 26 09:46:59 localhost named[7503]: listening on IPv4 interface lo, 127.0.0.1#53 May 26 09:46:59 localhost named[7503]: listening on IPv4 interface wlan0, 192.168.1.7#53 May 26 09:46:59 localhost named[7503]: command channel listening on 127.0.0.1#953 May 26 09:46:59 localhost named[7503]: command channel listening on ::1#953 May 26 09:46:59 localhost named[7503]: zone 0.in-addr.arpa/IN: loaded serial 1 May 26 09:46:59 localhost named[7503]: zone 127.in-addr.arpa/IN: loaded serial 1 May 26 09:46:59 localhost named[7503]: zone 255.in-addr.arpa/IN: loaded serial 1 May 26 09:46:59 localhost named[7503]: zone localhost/IN: loaded serial 1 May 26 09:46:59 localhost named[7503]: running
Comme tout service implanté sur un système GNU/Linux, les fichiers de
configuration sont placés dans le répertoire /etc/.
saphir:~# dpkg -L bind9 |grep etc /etc /etc/bind /etc/bind/db.0 /etc/bind/db.255 /etc/bind/db.empty /etc/bind/zones.rfc1918 /etc/bind/db.127 /etc/bind/db.local /etc/bind/db.root /etc/bind/named.conf /etc/bind/named.conf.local /etc/bind/named.conf.options /etc/init.d /etc/init.d/bind9
De la même façon, les données du services doivent être placées dans le
répertoire /var/.
saphir:~# dpkg -L bind9 |grep var /var /var/cache /var/cache/bind/var/run /var/run/bind /var/run/bind/run
![]()
|
C'est dans le répertoire |
|
|
C'est dans le fichier saphir:~# cat /var/run/bind/run/named.pid 7503 |
Le service DNS, tel qu'il est installé par défaut, est de type cache-only :
Il ne contient aucune déclaration de zone. Le répertoire /var/cache/bind/ est vide.
La liste des fichiers de configuration indique que le service
possède la liste des serveurs racine via le fichier
db.root.
Le processus étant actif, il va pouvoir prendre en charge les requêtes et mémoriser dans son cache les résultats. Du côté «local», on optimise le traitement des requêtes en ayant recours à ce cache. Du côté «Internet», on surcharge les serveurs racines en les sollicitant directement à chaque nouvelle requête.
C'est le fichier /etc/resolv.conf qui configure le
resolver. En partant de la configuration initiale du
poste (voir Section 2, « Architecture type de travaux pratiques » ), le
resolver fait référence au service
DNS du serveur 192.168.1.1 :
saphir:~# cat /etc/resolv.conf search lan.stri nameserver 192.168.1.1
On édite ce même fichier pour qu'il fasse référence au service local :
saphir:~# cat /etc/resolv.conf search lan.stri nameserver 127.0.0.1
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 :
saphir:~# 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.
Vous êtes ici :