DJBDNS
Installation
Configuration
En root, créez les comptes de dnscache : useradd -s /bin/false dnscache et # useradd -s /bin/false dnslog.
Il faut ensuite dire à dnscache d'utiliser ces comptes : dnscache-conf dnscache dnslog /etc/dnscache.
Entrez la commande : ln -s /etc/dnscache /service qui permet de créer un lien vers le dossier /service pour gérer le service dncache (et le service tinydns pour lequel on répetera la même procédure).
Tapez la commande svstat /service/dnscachepour connaïtre le bon état du service (on pourra également taper svstat /service/tinydnspour vérifier le bon fonctionnement de tinydns ou svstat /service/*pour faire une vérification sur les deux services.) On obtient un résultat semblable à celui-ci :
/service/dnscache: up (pid 1664) 190450 seconds
/service/tinydns: up (pid 1665) 190450 seconds
Pour avoir accès aux logs (liste de toutes les connexions), exécutez la commande : ln -sf /etc/dnscache/log/main /var/log/djbdns/dnscache (sauvegarder les logs dans le répertoire créé précédemment).
Il faut maintenant créer une adresse virtuelle pour avoir une adresse pour dnscache et une autre pour tinydns. Pour cela, on crée un script qui se lance au démarrage avec la syntaxe suivante que l'on placera dans le répertoire /etc/init.d :
#!/bin/sh
ifconfig eth1:0 10.X.XXX.XXX netmask 255.255.XXX.0
Il reste maintenant à lancer ce script au démarrage. En tapant # cd /etc/rc2.d puis ls -la on peut voir ce qui est lancé ou au tué au démarrage (S pour Start et K pour Kill). En tapant la commande # ln -s /etc/init.d/IP_virt S99IP_virt, on crée un lien vers le script qui sera lancé au démarrage : en effet, on peut voir après le ls -la que le script est bien lancé puisque l'on voit ceci :
lrwxrwxrwx 1 root root 19 2006-11-13 10:24 S99IP_virt -> /etc/init.d/IP_virt
Une fois cette adresse virtuelle crée, modifiez le fichier/etc/dnscache/env/IP : mettez 10.X.XXX.XXX
Modifiez le fichier /etc/resolv.conf : mettez le même IP que précédemment.
Vous pouvez taper la commande dnsip www.google.com pour vérifier que dnscache marche bien :
209.85.135.104 209.85.135.103 209.85.135.99 209.85.135.147
Passons maintenant au cas de tinydns, le serveur de noms.
Comme pour dnscache, on crée les comptes Unix nécessaires à tinydns : useradd -s /bin/false tinydns et # useradd -s /bin/false dnslog
On va configurer tinydns pour qu'il utilise ces comptes tinydns-conf tinydns dnslog /etc/tinydns 10.X.XXX.XXX
Pour la création d'un lien symbolique, tapez ln -s /etc/tinydns /service
ln -sf /etc/tinydns/log/main /var/log/djbdns/tinydns pour avoir accès aux logs dans /var/log
Editez le fichier data dans /etc/tinydns/root pour indiquer les noms de domaine, par exemple pour le nom toto.nexserv.itinet.fr :
@toto.nexserv.itinet.fr:82.230.89.213:a.mx.nexserv.itinet.fr::86400pour les adressages MX (afin d'utiliser le serveur de messagerie)
=toto.nexserv.itinet.fr:82.230.89.213:86400 pour avoir une adresse sur Internet.
Le compiler en tapant /usr/local/bin/tinydns-data
Astuce : Pour tester dnscache et tinydns, vous pouvez utiliseznslookup en tapant nslookup et choisir de tester dnscache ou tinydns en tapant server XXX.XXX.XXX.XXX dans nslookup avec XXX.XXX.XXX.XXX l'adresse IP attribuée à tel ou tel service.