Bonsoir à tous,
Ça fait un moment que ça déconne, et cette fois ci j'aimerais comprendre.
Mon '/etc/resolv.conf' :
# Generated by NetworkManager
domain domain1.dom
search domain1.dom domain2.dom
nameserver 192.168.1.1
nameserver 192.168.28.1
Donc on est bien d'accord que pour tout nom d'hôte non complètement qualifié, par exemple 'hote' avec mon 'resolv.conf' tel que configuré ci-dessus, on tente de résoudre :
- 'hote.domain1.dom' et si rien n'est résolu alors on tente de résoudre
- 'hote.domain2.dom' et ce sur les 2 serveurs déclarés par les options 'nameserver', donc sur '192.168.1.1' & '192.168.28.1'
Et bien a priori non !!!
Quelqu'un peut m'expliquer la subtilité :
bigbob@bigbob-laptop:~$ host hote1
hote1.domain1.dom is an alias for dns1.domain1.dom.
dns1.domain1.dom has address 192.168.1.1
Ici ça marche, résolu via '192.168.1.1', le 1er serveur de la liste dans le 'resolv.conf'.
Maintenant :
bigbob@bigbob-laptop:~$ host hote2
Host hote2 not found: 3(NXDOMAIN)
Ici, ça ne marche pas, pas de réponse de '192.168.1.1' et on ne passe pas automatiquement au 2eme serveur de la liste dans le 'resolv.conf'.
Et si je force la résolution manuellement sur le 2eme serveur de la liste, alors, miracle :
bigbob@bigbob-laptop:~$ host hote2 192.168.28.1
Using domain server:
Name: 192.168.28.1
Address: 192.168.28.1#53
Aliases:
hote2.domain2.dom is an alias for dns1.domain2.dom.
dns1.domain2.dom has address 192.168.28.1
Pourquoi donc, lorsque la résolution ne fonctionne pas sur le 1er serveur de la liste, le 2eme serveur déclaré dans le 'resolv.conf' n'est pas utilisé ???
Par contre on peut s'appercevoir que l'option 'search' du 'resolv.conf' fonctionne ...
Si quelqu'un peut m'expliquer ça m'arrangerais bien.
A++
# man resolv.conf
Posté par NeoX . Évalué à 3.
nameserver Name server IP address
Internet address (in dot notation) of a name server that the resolver should query. Up to MAXNS (currently 3, see <resolv.h>) name servers may be listed, one per keyword.
If there are multiple servers, the resolver library queries them in the order listed.
If no nameserver entries are present, the default is to use the name server on the local machine. (The algorithm used is to try a name server, and if the query times out, try the next, until out of name servers, then repeat trying all the name servers until a maximum number of retries are made.)
ton probleme c'est que host hote2 ne fait qu'une seule tentative de resolution (qui echoue) et rend la main
si tu essaie en faisant un ping, ca peut forcer à tester le 2e dns
[^] # Re: man resolv.conf
Posté par Stephane COLIN (site web personnel) . Évalué à 1.
bigbob@bigbob-laptop:~$ ping hote2
ping: unknown host hote2
:-(
[^] # Re: man resolv.conf
Posté par NeoX . Évalué à 3.
me suis trompé
en fait il faut que le premier ne soit pas joignable pour que ca passe sur le deuxieme
hors dans ton cas, le premier DNS repond (negativement, mais il repond)
donc le 2e n'est pas testé
[^] # Re: man resolv.conf
Posté par netsurfeur . Évalué à 3.
Tant que le premier serveur DNS répond, le second n'est pas utilisé.
Dans le cas que tu cites: $ host hote2
Le premier serveur répond que hote2 n'existe pas, il n'y a donc pas besoin d'interroger le second.
Pour que le second soit interrogé, il faut que le premier ne réponde pas.
Je ne comprends pas ce que tu cherches à faire.
Le second serveur n'est qu'un serveur de secours, il n 'y a aucune raison pour qu'il connaisse des hôtes inconnus du serveur primaire.
[^] # Re: man resolv.conf
Posté par Stephane COLIN (site web personnel) . Évalué à 1.
Le comportement est effectivement correct.
J'ai perdu une occasion de la fermer ...
Pour aller plus loin dans la démarche, est il possible que si je demande par exemple :
host hote2.domaine2.dom
Le serveur en 192.168.28.1 soit utilisé et pour tout ce qui se trouve dans xxx.domain1.dom ce soit donc 192.168.1.1 qui soit utilisé ?
A++
[^] # Re: man resolv.conf
Posté par NeoX . Évalué à 3.
Pour aller plus loin dans la démarche, est il possible que si je demande par exemple :
host hote2.domaine2.dom
Le serveur en 192.168.28.1 soit utilisé et pour tout ce qui se trouve dans xxx.domain1.dom ce soit donc 192.168.1.1 qui soit utilisé ?
probablement que non
car ce n'est pas le but du resolv.conf
par contre tu peux faire que ton 192.168.1.1 renvoie sur 192.168.28.1 pour le(s) domaine(s) qu'il ne connait pas ou l'inverse
[^] # Re: man resolv.conf
Posté par Stephane COLIN (site web personnel) . Évalué à 1.
A++
[^] # Re: man resolv.conf
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
tu met un bind en local (ou ailleurs remarque), avec un fichier de configuration du genre:
zone "domaine2.dom" { type forward; forwarders { 192.168.28.1;}; };
zone "domaine1.dom" { type forward; forwarders { 192.168.1.1;}; };
puis "nameserver 127.0.0.1" dans ton resolv.conf
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.