Utiliser un serveur DNS public – installation et tests avec namebench

Le serveur DNS est indispensable à la navigation sur Internet. Il permet de résoudre les noms de domaine comme google.fr sous forme d’adresses IP (ici 74.125.39.103). Par défaut, le serveur DNS utilisé pour se connecter à Internet est celui de votre fournisseur d’accès. Votre ordinateur le récupère automatiquement si le DHCP est utilisé. On va voir comment choisir un serveur DNS alternatif et faire quelques tests de performance.

Sous Debian, les serveurs DNS utilisés sont renseignés dans le fichier /etc/resolv.conf sous le paramètre nameserver. Il peut y avoir plusieurs serveurs DNS indiqués.

cat /etc/resolv.conf
nameserver 192.168.1.1

L’adresse IP correspond au serveur DNS à interroger pour toute requête de résolution de nom.

« 192.168.1.1 » est également l’adresse IP de la box ADSL sur le réseau local. Alors, la box sert de serveur DNS? oui et non. En fait, celle-ci utilise à son tour les serveurs DNS renseignés dans sa conf, à savoir les serveurs DNS du FAI et leur transmet simplement les requêtes et renvoie les réponses au client.

PC --->  Box ADSL ----> Serveurs DNS du FAI

Pourquoi utiliser un serveur DNS public?

Le serveur DNS peut très bien servir à bloquer l’accès à certains sites, rediriger l’utilisateur vers les sites de son choix, filtrer le contenu voire même modifier le contenu des pages renvoyées.  Ca vient de se produire aux Etats-unis chez certains FAI qui voulaient profiter des requêtes vers Google pour placer leurs propres publicités dans les pages renvoyées aux utilisateurs.

Rien ne vous oblige à utiliser les serveurs DNS de votre FAI. Il existe de nombreux serveurs DNS publics sur Internet, ouverts à tous et ne faisant aucun filtrage ou aucune redirection commerciale. Le serveur DNS est en effet un outil sensible, au coeur de la neutralité du net.

Liste de quelques serveurs DNS publics

Chaos Computer Club : 213.73.91.35
German privacy foundation : 87.118.100.175
Google : 8.8.8.8, 8.8.4.4
OpenDNS : 208.67.222.222, 208.67.220.220

Configuration d’un nouveau serveur DNS

  • Ajouter un serveur DNS public en conservant le serveur DNS du FAI (ca peut servir en cas d’indisponibilité d’un DNS, l’autre répondra à la requête)

Si vous utilisez le DHCP pour obtenir votre IP, le fichier resolv.conf est écrasé à chaque renouvellement du bail DHCP. Ca ne sert à rien de le modifier manuellement.

Il faut éditer le fichier /etc/dhcp/dhclient.conf et décommenter la ligne prepend en renseignant l’IP du DNS public à utiliser. Prepend permet d’ajouter des serveurs DNS perso en plus de ceux fournis par le serveur DHCP. On peut indiquer plusieurs IP à la suite, séparées par une virgule :

prepend domain-name-servers 213.73.91.35;

Sauvegarder le fichier et relancer une requête DHCP sur l’interface connectée à la box :

dhclient eth0

Le fichier /etc/resolv.conf ressemble maintenant à ca :

nameserver 213.73.91.35
nameserver 192.168.1.1

Le serveur DNS public du CCC est maintenant le premier serveur DNS à répondre aux requêtes.

Si vous n’utilisez pas le DHCP, il suffit d’éditer le fichier /etc/resolv.conf et d’y copier les lignes nameserver ci-dessus. Ensuite, recharger la configuration réseau pour prendre en compte les modifications.

  • Ajouter un serveur DNS public et supprimer le serveur DNS du FAI

Si le DHCP est utilisé, on retourne dans le fichier /etc/dhcp/dhclient.conf et au lieu d’utiliser le prepend, on utilise le supersede pour n’utiliser que les serveurs DNS qu’on y indique :

supersede domain-name-servers 213.73.91.35;

Ensuite, on relance une requête DHCP pour vérifier le resolv.conf :

dhclient eth0
cat /etc/resolv.conf
nameserver 213.73.91.35

Le serveur DNS du FAI a bien disparu de la conf.

Si vous avez une IP statique sans utilisation du DHCP, il suffit là encore d’éditer le fichier /etc/resolv.conf et d’y coller directement les adresses IP à utiliser.

Tests de performance avec namebench

namebench est un utilitaire qui va tester automatiquement la performance des serveurs DNS en lançant toute une série de requêtes. Il génère enfin des graphes de performance pour trouver le meilleur DNS à utiliser. Il peut aussi faire des checks de censure pour vérifier si le serveur DNS répond à toutes les requêtes de manière transparente.

Installation de namebench

apt-get install namebench

ensuite lancer namebench depuis un terminal :

namebench

Il reste à renseigner des IP de serveurs DNS à tester et ensuite lancer le benchmark.

Une fois le benchmark terminé, namebench va afficher ses résultats sous forme graphique pour illustrer les performances des serveurs DNS. Il ne reste plus qu’à choisir.

Pour aller plus loin…

2 réflexions au sujet de « Utiliser un serveur DNS public – installation et tests avec namebench »

  1. Un super merci pour cette page très clair simple de présentation et explicite😉 oui sa date déjà mais…
    J’aurai voulut et si c’était possible d’ajouter ici? savoir comment peut t’ont trouver les DNS propre a nos régions (ping oblige); universités ou administration par exemple puisqu’il faut les renseigner dans « namebench » et surtout comment savoir après si ceux-ci mentent ou sont clean? car j’en ai bien testé mais on dirait qu’il sont restreint en accès public? sinon bien bien bien sur que l’internet libre soit:/ to be continued…

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s