Skip to Content

Résolution des noms avec resolvconf sous Linux Debian

But de ce document

En fonction du type de connexion utilisé, il est parfois nécessaire de faire appel à différents serveurs de noms (DNS). Par exemple, lors d’une connexion à son lieu de travail, il faut utiliser le serveur DNS de son réseau, mais lors d’une connexion à internet, il faut utiliser les serveurs DNS de son fournisseur d’accès. Dans ce cas, le paquet «  resolvconf  » sous Debian permet de résoudre ces problèmes.

Rappel sur l’utilité du fichier « /etc/resolv.conf »

Ce fichier permet d’indiquer le ou les domaines de recherche et les différents serveurs DNS à utiliser.

Par exemple, dans un réseau local, nous pourrions avoir un serveur DNS à l’adresse 192.168.0.1 chargé de gérer le domaine « mon-domaine.local ». En cas de défaillance du DNS local, nous pourrions faire appel aux serveurs DNS de notre fournisseur d’accès. Dans ce cas, le contenu du fichier « /etc/resolv.conf », pourrait ressembler à cela :

nameserver 192.168.0.1
nameserver 212.27.53.252
nameserver 212.27.52.252
search mon-domaine.local

La première ligne indique l’adresse du serveur DNS du réseau local. En cas de défaillance de ce serveur, les serveurs suivants seront utilisés (Serveurs du fournisseur d’accès à Internet).

La dernière ligne permet d’indiquer le nom du domaine géré par le serveur DNS local. Par exemple, si nous cherchons à contacter le serveur « MonServeur  », le système cherchera en fait à contacter l’adresse complète « MonServeur.mon-domaine.local  », car le nom du serveur indiqué ne comportait pas le domaine de recherche.

Présentation et installation de resolvconf

Le paquet « resolvconf  » permet de gérer très finement le contenu du fichier «  /etc/resolv.conf  » servant à la résolution des noms en fonction du type de connexion utilisé et en récupérant les informations à différents endroits statiques ou dynamiques (clients ppp, dhcp ou autres).

# aptitude install resolvconf

ATTENTION : Pour que ce paquet fonctionne correctement, j’ai dû redémarrer l’ordinateur.

Une fois le paquet «  resolvconf  » installé, il ne faut plus modifier le fichier « /etc/resolv.conf  », car le contenu de celui-ci sera automatiquement géré et remplacé par «  resolvconf  ».

Utilisation de resolvconf avec une interface de type « eth0 »

Le configuration de ce type d’interface est faite dans le fichier « /etc/network/interfaces ».

Par exemple, pour une interface de type « eth0 », il faut ajouter les lignes « dns-nameservers  » et « dns-search » au contenu du fichier « /etc/network/interfaces ». Exemple

iface eth0 inet dhcp
 dns-nameservers 192.168.0.1 212.27.53.252 212.27.52.252
 dns-search mon-domaine.local

Pour vérifier que tout fonctionne correctement, il faut commencer par désactiver l’interface «  eth0  » :

# ifdown eth0

Après cette commande, le fichier « /etc/resolv.conf  » doit être vidé et devrait donc ressembler à cela :

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

Et après l’activation de l’interface «  eth0  » :

# ifup eth0

Le fichier « /etc/resolv.conf  » devrait ressembler à cela :

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.1
nameserver 212.27.53.252
nameserver 212.27.52.252
search mon-domaine.local

Remarque : Il est possible de personnaliser le message d’avertissement des deux premières lignes (pour le mettre par exemple en français) en modifiant le contenu du fichier « /etc/resolvconf/resolv.conf.d/head »

Utilisation de resolvconf avec une interface de type « ppp » avec kppp

Avec kppp, dans l’onglet DNS de la configuration d’un compte de connexion, il est possible d’obtenir les serveurs DNS automatiquement à partir du fournisseur d’accès en cochant « Configuration Automatique » ou d’en préciser un ou plusieurs spécifiquement.

Dans les deux cas, resolvconf utilisera ces adresses pour renseigner le fichier « /etc/resolv.conf  ».

Test de la résolution des noms

Le paquet «  dnsutils  » fournit des utilitaires pour tester la résolution des noms. Ce paquet contient en particulier les utilitaires «  dig  » et «  nslookup  »

aptitude install dnsutils

Exemple :

$ dig www.coagul.org

ou :

$ nslookup www.coagul.org

Autres liens

Concernant la résolution des noms, vous pouvez lire également un autre mémo concernant l’installation du serveur DNS Bind :

  •  http://www.coagul.org/article.php3 ?id_article=185

    Historique des modifications

    Version Date Commentaire
    0.1 01/06/06 Création par Tony GALMICHE
    0.2 20/08/06 Mise en ligne
  • Commentaires

    > Résolution des noms avec resolvconf et dnsmask sous Linux Debi

    J’avais hésité à mettre cette partie sur dsnmasq, car je la trouvait un peu HS avec le reste de l’article et tu viens de me convaincre de l’enlever :-)

    Je ferai peut-être une autre fois un article sur les caches DNS avec Bind, dnsmasq et nscd.

    Merci pour ta relecture.

    > Résolution des noms avec resolvconf et dnsmask sous Linux Debi

    Dans le titre tu mets dnsmask alors que c’est dnsmasq.

    De plus tu ne semble utiliser dnsmasq que pour un poste local. dnsmasq est avant tout un serveur DNS complet qui fait également cache DNS. Si tu n’as qu’un ordinateur, il me semble beaucoup plus judicieux d’utiliser le cache nscd (qui agit au niveau de la libc). En plus d’un cache DNS (local), il faut cache de /etc/passwd (pratique si l’authentification est distante), /etc/group (meme remarque que precedement), ...