Changer de résolveur(s) DNS sous une distribution GNU/Linux

Si vous cherchez à changer de résolveur DNS sous Microsoft Windows ou Apple macOS, ZDNet a fait un article, et Petit-teckel en a écrit un pour installer un résolveur sous Windows. Ce sont des systèmes non libres contrôlés par des entreprises lucratives, il faut donc être particulièrement vigilant si vous en utilisez (par exemple Microsoft a ainsi contribué, peut être involontairement, à la surveillance par le régime tunisien de Ben Ali).

C'est quoi un DNS ?

DNS est le système qui convertit des adresses Internet (comme www.kernel.org) en des IP (comme 198.145.20.140 en version 4 et 2001:db8:0:85a3:0:0:ac1f:8001 en version 6). Les adresses Internet sont faites pour être facilement manipulables pour l'être humain, tandis que les adresses IP sont adaptées à des ordinateurs.

Explication plus poussée

DNS est l'abréviation de Domain Name System, ce qui signifie système de noms de domaine. Un nom de domaine est identifiant de domaine Internet sous forme de chaine de caractères. fr.wikipedia.org est par exemple un nom de domaine, avec org comme domaine de premier niveau, wikipedia comme domaine de second niveau et fr comme nom de domaine de troisième niveau. Il faut voir les noms de domaine Internet comme un système de fichiers POSIX, mais en lisant à partir de la droite et avec le point commé séparateur au lieu du slash. Ainsi fr.wikipedia.org et org.wikipedia.fr sont différents, comme /org/wikipedia/fr/ et /fr/wikipedia/org/. À partir du nom de domaine, un DNS renvoie l'IP correspondante si elle existe. Avec ping nom-de-domaine.ext, on obtient l'IP de "nom-de-domaine.ext".

Pourquoi changer de résolveur DNS ?

Par défaut, c'est généralement le DNS de votre fournisseur d'accès à Internet (FAI) qui est utilisé. Malheureusement, ceux-ci peuvent mentir ou vous épier, parfois involontairement (par exemple à cause d'une attaque d'empoisonnement du cache DNS). Les résolveurs DNS menteurs sont utilisés pour nuire à la concurrence (comme Free l'a fait) ou censurer (comme en Turquie ou en France). Les résolveurs DNS savent probablement au moins la majorité des services Internet qui sont utilisés par leurs utilisateurs et utilisatrices, en effet de nombreux services Internet utilisent des noms de domaines, or il faut demander à un résolveur DNS pour connaitre l'adresse IP d'un service avec lequel on veut communiquer. Heureusement, il est possible de changer de résolveur DNS.

Des résolveurs DNS

Si vous êtes décidé à changer de résolveur DNS et que vous n'en avez pas encore pas choisi un, voici une liste non exhaustive de quelques résolveurs DNS.

Nom IPv4 IPv6 Vérification du fonctionnement
FDN 80.67.169.12 2001:910:800::12 ns0.fdn.org
80.67.169.40 2001:910:800::40 ns1.fdn.org
OpenDNS 208.67.220.220
208.67.222.222
Google Public DNS 8.8.8.8 2001:4860:4860::8888
8.8.4.4 2001:4860:4860::8844
Quad9 9.9.9.9 2620:fe::fe

Vous pouvez également en obtenir avec la commande host mondns.eu.org.

Vous pouvez aussi héberger votre propre résolveur, par exemple avec le logiciel libre unboud. Korben a fait un article en français sur le sujet.

IPv4 ou IPv6 ?

Dans le doute, configurez pour IPv4 et IPv6. Si la résolution DNS ne marche plus, ne configurez qu'en IPv6 ou qu'en IPv4 si ça ne marche pas en IPv6.

Changer de DNS

Changer de DNS avec NetworkManager

Si vous utilisez une interface graphique, il est probable que NetworkManager soit installé. Si vous avez une barre de recherche pour les applications, tapez "Connexions réseau". Si vous avez un menu pour les applications, allez dedans, puis dans "Paramètres" ou "Préférences", enfin démarrez "Connexions réseau". Si vous ne l'avez pas trouvé, c'est probablement parce qu'il n'est pas installé, utilisez donc une autre méthode.

Une fois NetworkManager démarré, sélectionnez la connexion pour laquelle vous voulez changer le DNS et appuyez sur "Modifier"/"Éditer". Pour IPv4, sélectionner la méthode "Adresses automatiques uniquement (DHCP)" et rentrez l'IPv4 du résolveur DNS choisi dans le champ "Serveur DNS". Pour IPv6, sélectionner la méthode "Automatique, adresses uniquement" et rentrez l'IPv6 du résolveur DNS choisi dans le champ "Serveur DNS". Si vous voulez, vous pouvez configurer plusieurs résolveurs DNS en les séparant par des espaces. Pour finir, cliquez sur "Enregistrer".

Changer de résolveur DNS avec resolv.conf

Le fichier resolv.conf se trouve dans "/etc/". Il ne faut pas confondre ce fichier avec le logiciel resolvconf.

Si vous utilisez NetworkManager ou le logiciel resolvconf, cette méthode ne marche pas, étant donné que ces logiciels générent "resolv.conf".

Le fichier resolv.conf se configure facilement. Après chaque "nameserver", il faut un espace et une adresse IP d'un résolveur DNS. Vous pouvez mettre des commentaires en les préfixant d'un "#".

Voici un exemple pour un DNS de FDN en IPv6 :
# FDN
nameserver 2001:910:800::12

Il vous faut les droits SuperUtilisateur/root pour éditer ce fichier. Pour cela, ouvez un terminal, et tapez su puis text-editor /etc/resolv.conf, ou sudo text-editor /etc/resolv.conf. Il faut remplacer text-editor par la commande d'un éditeur de texte (comme nano ou gedit) installé sur votre système d'exploitation.

Vous pouvez avoir plus d'informations sur resolv.conf avec man resolv.conf.

Références externes