Désireux d’avoir un temps de chargement rapide des pages internet, nous allons installer un serveur DNS cache sous GNU/Linux.
Pourquoi un serveur DNS? car au lieu d’interroger un serveur distant(temps de latence) nous allons interroger directement notre serveur en local donc gros gain de temps en perspective!
Le principe de fonctionnement: notre serveur va effectuer les requêtes DNS et inscrire les réponses en mémoire cache pour les requêtes à venir.
Vu que c’est pour un petit LAN(réseau privé à la maison), nous n’allons pas utiliser le célèbre serveur DNS Bind9, qui serait un bazooka pour tué une mouche, mais Unbound
Unbound est un serveur DNS très simple de configuration et amplement suffisant pour notre petit réseau.
Exemple d’instalation et de configuration sous Ubuntu :
- Installation
- Configuration
- Test
$sudo apt-get install unbound
$sudo nano /etc/unbound/unbound.conf
Voici un exemple de configuration commenté pour plus de compréhension:
server: verbosity: 1 num-threads: 2 #cas cpu 2 coeurs interface: 0.0.0.0 do-ip4: yes do-udp: yes do-tcp: yes access-control: 192.168.0.0/24 allow # j'autorise toutes les machines de mon LAN a interroger le dns chroot: "" #pas de chroot par défaut logfile: "/var/log/unbound.log" #ici un fichier est dédié aux logs use-syslog: no #log par défaut dans syslog hide-identity: yes #pas besoin d être verbeux ici hide-version: yes #pas besoin d être verbeux ici harden-glue: yes harden-dnssec-stripped: yes use-caps-for-id: yes # on résout gOogLe.cOm et google.com de la même manière private-domain: "monlan" #a partir d'ici on définit son propre suffix dns de réseau local local-zone: "monlan." static local-data: "freebox.monlan. IN A 192.168.0.254" #résolution sens nom vers adresse local-data: "freeboxplayer.monlan. IN A 192.168.0.10" local-data-ptr: "192.168.0.10 freeboxplayer.monlan" #résolution inverse : adresse vers nom local-data-ptr: "192.168.0.254 freebox.monlan" python: remote-control: forward-zone: name: "." forward-addr:208.67.222.222 #serveur DNS d'OpenDNS forward-addr: 208.67.220.220 #serveur DNS d'OpenDNS
ensuite on édite /etc/resolv.conf
$sudo nano /etc/resolv.conf
et on modifié l’IP du serveur DNS comme suit:
nameserver 127.0.0.1
Alors en premier, on ouvre son navigateur favori et on test avec ses sites favoris voir ce que ça donne, ensuite pour aller plus loin on test avec namebench vue dans l’article précédent et on compare avec les résultats obtenus:
et voici le résultat:
donc je pense que ça vaut le coup d’avoir son DNS cache local, non? :-)
Salut Fred
Très bon travail.Grace a tes conseils mes pages s’ouvre 40% plus vite.
Merci de faciliter la vie de ceux qui comme moi n’ont pas la science !!!!
@+
Salut Raftu!
merci pour ton retour :-)
Merci pour ce tuto que m’a fait connaitre Unbound mais aussi Namebench.
Je vois au contenu de ton fichier de conf de Unbound que tu as une
Freebox. En possédant une moi-même j’ai mis dans nameservers de
namebench « 127.0.0.1 192.168.0.254 » afin de comparer unbound en local mais aussi la Freebox au reste du monde. La différence de temps de réponse entre unbound et la Freebox est minime probablement car cette dernière doit posséder son propre serveur de nom. Je ne sais pas ce qu’il pour les autres box mais cette solution ne semble pas très intéressante avec une Freebox.
De plus il faudrait peut-être rajouter la méthode pour ajouter ce nouveau serveur de nom lorsque l’on utilise l’applet network-manager. En effet dans le cas contraire tes lecteurs vont installer et tester cette solution mais croiront l’utiliser sans jamais le faire.
Cordialement,
Bonsoir Biord,
merci pour tes remarques,
l’adresse 192.168.0.254 n’est pas une adresse de serveur DNS mais l’adresse de la passerelle de ton réseau local.
Le temps de réponse entre ton serveur DNS local sera forcément plus rapide que n’importe quel autres serveurs DNS.
Par contre tu as raison de signaler un problème avec network-manager, car à chaque démarrage de la machine, les paramètres réseaux seront donnés par la freebox.
Au moment de la rédaction du billet, je ne n’utilise pas network-manager vu que j’écris en dur mes paramètres réseaux dans /etc/network/interfaces, donc j’ai oublié d’en parler. Bien vu! ;-)
Merci beaucoup pour cet article mais je ne sais pas quoi penser de mon installation.
Lorsque j’essaie de la benchmarker avec namebench mon serveur DNS (192.168.1.111) n’est pas prs en compte, namebench me renvoi :
« Unable to get uncached results for: xxx »
De plus si je veux pinger ma freebox avec ping freebox.monlan je n’ai pas de réponse….
A chaque démarrage de unbound j’ai le message :
warning: increased limit(open files) from 1024 to 4140
Enfin pour finir aucune log de généré dans mon /var/log
Bref je penses que j’ai foiré mon install qq part….
le serveur DNS a pour adresse 127.0.0.1 et non 192.168.1.111