Pour comprendre facilement le fonctionnement d'un résolveur DNS, imaginons que notre réseau local est constitué d'un serveur de noms (192.168.1.101) et d'un serveur web ( 192.168.1.102) qui héberge plusieurs sites Internet : nagios.local.net et www.local.net.
Connectons-nous à la machine qui fera office de serveur DNS et commençons par installer ce dont nous avons besoin :
apt-get install bind9
Rendons-nous dans le dossier où se trouve les fichiers de configurations :
cd /etc/bind/
Copions le fichier d’exemple pour ajouter les informations qui nous intéresse :
cp db.empty db.local.net
nano db.local.net
Inclure les paramètres suivants :
$TTL 604800 @ IN SOA local.net. root.local.net. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.local.net. @ IN A 192.168.1.102 ns IN A 192.168.1.101 www IN CNAME local.net. nagios IN CNAME local.net.
Vérifier que la zone ci-dessus est correcte :
named-checkzone local.net /etc/bind/db.local.net
nano named.conf.local
zone "local.net" { type master; file "/etc/bind/db.local.net"; };
On configure le forwarding qui va permettre de rediriger les requêtes non résolus vers un autre serveur :
nano named.conf.options
options { forwarders { 8.8.8.8; }; };
nano /etc/bind/named.conf
Puis on peut ajouter ces directives :
logging { channel "requetes" { file "/var/log/bind/queries.log" size 10m; print-time yes; print-category yes; }; category queries { "requetes"; }; channel "securite" { file "/var/log/bind/securite.log" size 5m; print-category yes; print-severity yes; print-time yes; }; category security { "securite"; }; channel "global" { file "/var/log/bind/global.log" size 5m; print-category yes; print-severity yes; print-time yes; }; category general { "global"; }; channel "configuration" { file "/var/log/bind/config.log" size 5m; print-category yes; print-severity yes; print-time yes; }; category config { "configuration"; }; };
On définit leur emplacement :
mkdir /var/log/bind chown bind.adm /var/log/bind/
Pour terminer on renseigne le serveur à la machine cliente :
nano /etc/resolv.conf
On ajoute cette ligne :
nameserver 192.168.1.101
Pour conserver cette configuration à chaque redémarrage, on peut le signaler au près du client DHCP déjà installé :
nano /etc/dhcp/dhclient.conf
prepend domain-name-servers 192.168.1.101;