<h2>But de ce document</h2>
<p class="spip">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 « <strong class="spip"> resolvconf </strong> » sous Debian permet de résoudre ces problèmes.</p>

<h2>Rappel sur l’utilité du fichier « /etc/resolv.conf »</h2>
<p class="spip">Ce fichier permet d’indiquer le ou les domaines de recherche et les différents serveurs DNS à utiliser.</p>

<p class="spip">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 :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>nameserver 192.168.0.1<br />
nameserver 212.27.53.252<br />
nameserver 212.27.52.252<br />
search mon-domaine.local</code></div>
<p class="spip">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).</p>

<p class="spip">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 « <strong class="spip">MonServeur </strong> », le système cherchera en fait à contacter l’adresse complète « <strong class="spip">MonServeur.mon-domaine.local </strong> », car le nom du serveur indiqué ne comportait pas le domaine de recherche.</p>

<h2>Présentation et installation de resolvconf</h2>
<p class="spip">Le paquet « <strong class="spip">resolvconf </strong> » permet de gérer très finement le contenu du fichier « <strong class="spip"> /etc/resolv.conf </strong> » 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).</p>

<p class="spip"><code class='spip_code' dir='ltr'># aptitude install resolvconf</code></p>

<p class="spip"><strong class="spip">ATTENTION</strong> : Pour que ce paquet fonctionne correctement, j’ai dû redémarrer l’ordinateur.</p>

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

<h2>Utilisation de resolvconf avec une interface de type « eth0 »</h2>
<p class="spip">Le configuration de ce type d’interface est faite dans le fichier « <strong class="spip">/etc/network/interfaces</strong> ».</p>

<p class="spip">Par exemple, pour une interface de type « eth0 », il faut ajouter les lignes « <strong class="spip">dns-nameservers </strong> » et « <strong class="spip">dns-search</strong> » au contenu du fichier « <strong class="spip">/etc/network/interfaces</strong> ». Exemple</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>iface eth0 inet dhcp<br />
  dns-nameservers 192.168.0.1 212.27.53.252 212.27.52.252<br />
  dns-search mon-domaine.local</code></div>
<p class="spip">Pour vérifier que tout fonctionne correctement, il faut commencer par désactiver l’interface « <strong class="spip"> eth0 </strong> » :</p>

<p class="spip"><code class='spip_code' dir='ltr'># ifdown eth0</code></p>

<p class="spip">Après cette commande, le fichier « <strong class="spip">/etc/resolv.conf </strong> » doit être vidé et devrait donc ressembler à cela :</p>

<p class="spip"><code class='spip_code' dir='ltr'># Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN</code></p>

<p class="spip">Et après l’activation de l’interface « <strong class="spip"> eth0 </strong> » :</p>

<p class="spip"><code class='spip_code' dir='ltr'># ifup eth0</code></p>

<p class="spip">Le fichier « <strong class="spip">/etc/resolv.conf </strong> » devrait ressembler à cela :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code># Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)<br />
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN<br />
nameserver 192.168.0.1<br />
nameserver 212.27.53.252<br />
nameserver 212.27.52.252<br />
search mon-domaine.local</code></div>
<p class="spip"><strong class="spip">Remarque</strong> : 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 »</p>

<h2>Utilisation de resolvconf avec une interface de type « ppp » avec kppp</h2>
<p class="spip">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.</p>

<p class="spip">Dans les deux cas, resolvconf utilisera ces adresses pour renseigner le fichier « <strong class="spip">/etc/resolv.conf </strong> ».</p>

<h2>Test de la résolution des noms</h2>
<p class="spip">Le paquet « <strong class="spip"> dnsutils </strong> » fournit des utilitaires pour tester la résolution des noms. Ce paquet contient en particulier les utilitaires « <strong class="spip"> dig </strong> » et « <strong class="spip"> nslookup </strong> »</p>

<p class="spip"><code class='spip_code' dir='ltr'>aptitude install dnsutils</code></p>

<p class="spip">Exemple :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ dig www.coagul.org</code></p>

<p class="spip">ou :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ nslookup www.coagul.org</code></p>

<h2>Autres liens</h2>
<p class="spip">Concernant la résolution des noms, vous pouvez lire également un autre mémo concernant l’installation du serveur DNS Bind :
<br /></p>
<li> <a href="http://www.coagul.org/article.php3?id_article=185" class="spip_out">http://www.coagul.org/article.php3 ?id_article=185</a>
<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>01/06/06</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td>0.2</td><td>20/08/06</td><td>Mise en ligne</td></tr>
</tbody>
</table>