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 :
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), ...