Serveur DNS · 3 min read · Oct 02, 2025
Serveur DNS djbDNS propre sur CentOS - dnscache et tinydns - De A à Z
Serveur DNS djbDNS propre sur CentOS - dnscache et tinydns - De A à Z
Qu’est-ce que djbDNS ? Et pourquoi utilisons-nous djbDNS ? Il existe un nouveau point de vue pour servir le service DNS - chacune des fonctionnalités du serveur DNS est un service séparé, comme l’autorité, le cache, le transfert, etc. L’autre différence est les outils de démon qui redémarrent rapidement les services pour éviter les zombies.
Exigences :
Installation propre de CentOS 5.4
Connectez-vous en tant que root.
# yum update# yum install gcc# mkdir pkg# cd pkgLa première étape consiste à installer les outils de démon :
# cd ~/pkg# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz# gunzip daemontools-0.76.tar# tar -xpf daemontools-0.76.tar# rm -f daemontools-0.76.tar# cd admin/daemontools-0.76# vi src/conf-ccAjoutez la ligne suivante à la fin de la ligne gcc :
-include /usr/include/errno.h# ./package/installUn autre paquet que nous devons préparer pour que djbdns soit fonctionnel est ucspi :
# cd ~/pkg# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz# gunzip ucspi-tcp-0.88.tar# tar -xf ucspi-tcp-0.88.tar# cd ucspi-tcp-0.88# vi src/conf-ccAjoutez la ligne suivante à la fin de la ligne gcc :
-include /usr/include/errno.h# make# make setup checkL’étape suivante est la publication du document :
# cd ~/pkg# wget http://cr.yp.to/djbdns/doc.tar.gzEnsuite, nous allons décompresser les docs sous /doc :
# gunzip < doc.tar.gz | (cd /; tar -xf -)Utilisez le script suivant pour fusionner dans les docs système :
#!/bin/sh
for i in packages commands cfunctions fileformats
do
sort -f /dev/null `find /doc/merge -name $i.html` > /doc/$i.new
mv /doc/$i.new /doc/$i.html
doneEnregistrez le script dans un fichier : script.sh
# chmod +x script.sh# ./script.sh# cd ~/pkg# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz# gunzip djbdns-1.05.tar# tar -xf djbdns-1.05.tar# cd djbdns-1.05# vi src/conf-ccAjoutez la ligne suivante à la fin de la ligne gcc :
-include /usr/include/errno.h# make# make setup checkTout le processus de compilation est terminé.
L’étape suivante est la configuration du serveur DNS.
DNSCACHE
Créez deux comptes d’utilisateur système :
# useradd -d /var/dnscache -s /bin/false dnscache# useradd -d /var/dnscache -s /bin/false dnslogConfigurez le cache :
# dnscache-conf dnscache dnslog /var/dnscache/dnscache Exemple : dnscache-conf dnscache dnslog /var/dnscache/dnscache 192.168.20.1
Autorisez le reste de votre réseau à interroger dnscache :
# touch /var/dnscache/dnscache/root/ip/Exemple : touch /var/dnscache/dnscache/root/ip/192.168
Ajoutez dnscache à la liste des services à surveiller par svscan :
# ln -sf /var/dnscache/dnscache /service/Si vous aimez ms-windows… vous pouvez redémarrer pour vous assurer que tout est en place.
Il y a un point ici que vous n’êtes toujours pas en mesure d’interroger depuis votre serveur de cache, car vos clients peuvent maintenant être résolus en mode inverse.
Comme mentionné précédemment, c’est l’une des fonctionnalités de sécurité du cache DNS de vérifier les clients en mode inverse. Donc, dans l’étape suivante, nous allons travailler sur tinydns pour agir pour nous.
DNSTINY
Encore une fois, nous avons besoin de deux comptes d’utilisateur système :
# useradd -d /var/dnscache -s /bin/false tinydns# useradd -d /var/dnscache -s /bin/false tinylog# tinydns-conf tinydns tinylog /var/dnscache/tinydns 127.0.0.1Il est maintenant temps d’ajouter des nœuds dans la base de données DNS :
# cd /var/dnscache/tinydns/root# ./add-ns internal 192.168.20.1# ./add-ns 20.168.192.in-addr.arpa 192.168.20.1# ./add-mx internal 192.168.20.2# ./add-host ns.internal 192.168.20.1# ./add-host mail.internal 192.168.20.2# ./add-alias unagi.internal 192.168.20.2# makeCes nœuds iront dans le fichier de base de données /var/dnscache/tinydns/root/data que vous pouvez éditer manuellement.
La dernière étape est le démarrage du service DNS :
# ln -sf /var/dnscache/tinydns /serviceRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.