• Aucun résultat trouvé

Variables d'environnement du resolver

Con guration du serveur de

6.1 La bibliotheque resolver

6.1.2 Variables d'environnement du resolver

La con guration inscrite dans host.conf peut ^etre modi ee par un certain nombre de variables d'environnement qui sont:

RESOLV HOST CONF

Speci e un chier a lire a la place de /etc/host.conf.

RESOLV SERV ORDER

Remplace l'option order donnee dans host.conf. Les services sont hosts, bind et nis, separes par une espace, une virgule, un point, ou un deux-points (:).

RESOLV SPOOF CHECK

Determine les mesures a prendre en cas de spoo ng. Completement invalide par o . Les valeurs warn et warn o mettent le test de spoo-

ngen service, mais valident ou invalident l'enregistrement dans les chiers trace, respectivement. Une valeur de * met le test en service, mais laisse l'enregistrement des traces tel que con gure dans le chier host.conf.

RESOLV MULTI Les valeurs on ou o sont utilisees pour prendre le dessus sur celles

indiquees a l'option multi dans host.conf.

RESOLV OVERRIDE TRIM DOMAINS

Speci e la liste des domaines a supprimer, remplacant celle donnee dans host.conf par l'option trim.

RESOLV ADD TRIM DOMAINS

Speci e une liste de domaines a supprimer, qui s'ajoutera a celle donnee dans host.conf par l'option trim.

6.1.3 Con guration des recherches DNS |resolv.conf

Lorsque vous con gurez le resolver pour qu'il utilise le service BIND pour la recherche de noms, vous devez aussi lui indiquer quels serveurs de noms il doit utiliser. Il y a un chier separe destine a cet usage, resolv.conf. S'il n'existe pas, ou s'il est vide, le resolverconsiderera que le serveur de noms se trouve sur votre propre machine. Pour utiliser un serveur de noms sur votre h^ote local, il vous faut le con gurer se- parement, comme nous le decrirons dans les sections suivantes. Si vous ^etes connecte a un reseau local et que vous avez la possibilite d'utiliser un serveur de noms deja existant, cette solution sera toujours a preferer.

L'option la plus importante dans resolv.conf est nameserver, qui indique l'adresse IP du serveur de noms a contacter. Si vous en speci ez plusieurs, en utilisant cette option plusieurs fois, ils seront essayes dans l'ordre donne. Par consequent, vous devez toujours indiquer le plus able en premier. L'implementation courante autorise jusqu'a trois declarations nameserver dans le chier resolv.conf. Si aucune option nameserver n'est precisee, le resolver tentera de se connecter sur celui qui est local a la machine. Deux autres options, domain et search, vous permettent d'employer des raccourcis pour les h^otes appartenant a votre domaine local. Generalement, pour vous connecter sur une machine de votre reseau, vous preferez taper un nom simple et court comme

gauss

, et laisser le resolver rajouter la partie

mathematiques.groucho.edu

tout seul.

C'est le but de l'option domain. Elle vous permet de speci er un domaine par defaut, qui sera rajoute si le DNS echoue lors de la resolution d'un nom. Par exemple, en recherchant

gauss

, il ne trouvera pas ((

gauss.

)) puisqu'il n'y a aucun domaine de

haut niveau de ce nom. Si on lui indique

mathematiques.groucho.edu

comme domaine par defaut, il fera sa requ^ete sur

gauss.mathematiques.groucho.edu

, qui cette fois aboutira.

Tout cela est tres bien, nous direz-vous; mais des que l'on sort du Departement Mathematiques, nous revoila avec ces noms pleinement quali es. Et bien s^ur, vous voudriez aussi pouvoir utiliser des raccourcis comme

quark.physique

pour atteindre les machines dans le domaine du Departement de Physique.

Et c'est ici que la liste de recherche entre en jeu: l'option search permet d'indiquer une liste de recherche, qui correspond a une generalisation de la declaration domain. La ou cette derniere n'autorise qu'un seul domaine par defaut, search permet de speci er toute une liste de domaines, chacun etant essayes jusqu'a ce que la recherche aboutisse. Cette liste utilise des espaces ou des tabulations comme caractere de separation. Les declarations domain et search sont mutuellement exclusives, et ne peuvent appa- ra^tre plus d'une fois. Si aucune d'elles n'est indiquee, le resolver tentera de deviner le domaine par defaut a partir du nom d'h^ote local, en utilisant l'appel systeme getdo- mainname(2). Si le nom n'a pas de partie domaine, c'est le domaine racine qui sera utilise par defaut.

Si vous decidez de mettre une instruction search dans resolv.conf, vous devez faire

}

tres attention aux domaines que vous declarez dans la liste. Les bibliotheques resolver de version anterieure a BIND-4.9 construisaient une liste de recherche par defaut a partir du nom de domaine, si aucune liste n'etait precisee. Cette liste par defaut etait constituee du domaine par defaut lui-m^eme, plus tous ses domaines parents, jusqu'a la racine. Cela a pose quelques problemes car les requ^etes DNS aboutissaient a des serveurs de noms qui n'auraient jamais d^u ^etre concernes.

Supposons que vous vous trouviez a(( La biere virtuelle )), et que vous vouliez vous

connecter a la machine

foot.groucho.edu

. Mais, ayant un peu abuse des productions de cette honorable societe, vos doigts derapent sur le clavier et au lieu de taper

foot

, vous mettez

foo

, qui n'existe pas. Le serveur de noms de GMU vous indiquera donc qu'il ne conna^t aucun h^ote de ce nom. Avec l'ancienne implementation de la liste de recherche, le resolver commencerait alors a rajouter

bibine.com

, puis

com

au bout. Ce dernier cas pose un gros probleme car

groucho.edu.com

pourrait ^etre un domaine valide. Leur serveur de noms pourrait m^eme trouver une machine

foo

dans leur domaine, ce qui n'est pas du tout ce que vous vouliez1!

Dans certaines applications, ces recherches boguees peuvent poser des problemes de securite. Par consequent, vous devez generalement limiter les domaines de votre liste de recherche a votre organisation locale, ou equivalent. Au Departement de Ma- thematiques de l'universite Groucho Marx, la liste de recherche serait initialisee a

maths.groucho.edu

et

groucho.edu

.

Si vous trouvez que les domaines par defaut sont un peu diciles a apprehender, regardez cet exemple de chier resolv.conf pour((La biere virtuelle)):

# /etc/resolv.conf # Notre domaine

domain bibine.com

#

# Nous utilisons kro comme serveur de noms central: nameserver 172.16.1.1

Lors de la recherche du nom

trappiste

, le resolver cherchera

trappiste

, et ne le trouvant pas,

trappiste.bibine.com

.