[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DNS : pas de résolution en local



Le 21/08/2019 à 07:34, Pascal Hambourg a écrit :
Le 20/08/2019 à 11:00, Daniel Huhardeaux a écrit :
Le 20/08/2019 à 10:55, Daniel Caillibaud a écrit :
Le 20/08/19 à 00:47, Migrec <mic.grentz@online.fr> a écrit :
Ça peut paraître logique car la box n'a pas connaissance de mon réseau
local (elle est juste en liaison avec le serveur). Mais pourquoi l'échec
de la résolution ne passe pas la main au serveur DNS local ?

Parce qu'il me semble que la résolution n'utilise le 2e dns que si le 1er ne répond pas.

En effet. Ou alors répond qu'une erreur interne l'empêche de fournir une réponse (SERVFAIL, REFUSED...). En revanche NXDOMAIN (domaine inexistant) n'est pas considéré comme une absence de réponse.

Ici le 1er répond que le nom n'existe pas, donc ça s'arrête là.

En fait ici il ne dit pas que le nom n'existe pas, sinon il aurait répondu avec status=NXDOMAIN. Il répond avec status=NOERROR et ANSWER=0, ce qui signifie normalement que le nom existe mais qu'il n'a pas d'enregistrement du type demandé (A=adresse IPv4). Pour un client cela revient au même, mais cette réponse n'est pas correcte. Si je fais la même requête à mon serveur DNS, j'obtiens bien status=NXDOMAIN.

Ou alors les nameserver sont interrogés en même temps et la réponse du 1er répondant est utilisée.

Non.

Si. Exemple avec dnsmasq: si on ne met pas strict-order celui ci interroge tous les serveurs qui sont up et prend la réponse du 1er serveur qui a répondu. Ceci n'enlève rien à ton explication.

Extrait du fichier de conf:

# By default, dnsmasq will send queries to any of the upstream

# servers it knows about and tries to favour servers to are known

# to be up. Uncommenting this forces dnsmasq to try each query

# with each server strictly in the order they appear in

# /etc/resolv.conf

#strict-order


Conclusion : tous les DNS mentionnés dans resolv.conf doivent être équivalents.
--
Daniel


Reply to: