Re: DNS : pas de résolution en local

2019-08-22 Par sujet Pascal Hambourg

Le 21/08/2019 à 23:17, Migrec a écrit :


La livebox fait DHCP (décodeur TV branché dessus via du CPL) et elle 
indique son IP interne (192.168.1.1) comme DNS lorsque le serveur reçoit 
son bail DHCP.
Le serveur fait du DHCP/DNS pour le réseau local. Son IP est donc dans 
le resolv.conf.


Ça me paraissait pas mal car si mon serveur DNS est down, celui de la 
box fait au moins la résolution "externe", non ?


Dans ce cas il faut faire en sorte que le DNS de la box soit positionné 
après le DNS local dans resolv.conf, et ce de façon fiable (donc pas en 
réordonnant les interfaces). Il me semble que resolvconf qui gère ton 
resolv.conf a des possibilités dans ce sens.




Re: DNS : pas de résolution en local

2019-08-21 Par sujet Migrec

Le 21/08/2019 à 20:42, Pascal Hambourg a écrit :

Le 21/08/2019 à 10:00, Migrec a écrit :

Le 21/08/2019 à 07:34, Pascal Hambourg a écrit :


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


Merci pour ces précisions.
Mon problème était lié à l'odre des DNS inscrits dans /etc/resolv.conf. 


Non. Ton problème est lié au fait que resolv.conf contient l'adresse 
d'un serveur DNS qui ne fournit pas les bonnes réponses.


Comme je l'ai écrit ci-dessus, tous les DNS inscrits dans resolv.conf 
sont censés être équivalents et fournir les mêmes réponses, donc 
l'ordre ne devrait pas avoir d'importance.


En fait j'ai ceci :

INTERNET <-> LIVEBOX <---> (enp3s0) SERVEUR (enp2s0) <---> 
ROUTEUR <> POINT D'ACCES WIFI


La livebox fait DHCP (décodeur TV branché dessus via du CPL) et elle 
indique son IP interne (192.168.1.1) comme DNS lorsque le serveur reçoit 
son bail DHCP.
Le serveur fait du DHCP/DNS pour le réseau local. Son IP est donc dans 
le resolv.conf.


Ça me paraissait pas mal car si mon serveur DNS est down, celui de la 
box fait au moins la résolution "externe", non ?





Or ce fichier est dynamique et je n'ai pas trouvé comment modifier 
l'ordre. Ça semble lié au montage des interfaces réseau.
Du coup, j'ai inversé mes 2 cables ethernet et modifié enp2s0 en 
enp3s0 (et vice-versa). De cette façon, c'est ok.


Pas fiable. Si un serveur DNS ne doit pas être interrogé parce qu'il 
ne fournit pas les bonnes réponses, il ne doit pas être inscrit dans 
resolv.conf. dhclient (request, supersede, prepend) et NetworkManager 
(méthode : "adresses automatiques uniquement") ont des options pour 
l'empêcher.


Entendu mais ça dépasse ce que je peux mettre en œuvre.

--
Migrec



Re: DNS : pas de résolution en local

2019-08-21 Par sujet Pascal Hambourg

Le 21/08/2019 à 13:05, Daniel Huhardeaux a écrit :

Le 21/08/2019 à 07:34, Pascal Hambourg a écrit :

Le 20/08/2019 à 11:00, Daniel Huhardeaux a écrit :

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.


Je parlais du résolveur de la libc utilisé par les programmes, pas d'un 
serveur DNS récursif.




Re: DNS : pas de résolution en local

2019-08-21 Par sujet Pascal Hambourg

Le 21/08/2019 à 10:00, Migrec a écrit :

Le 21/08/2019 à 07:34, Pascal Hambourg a écrit :


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


Merci pour ces précisions.
Mon problème était lié à l'odre des DNS inscrits dans /etc/resolv.conf. 


Non. Ton problème est lié au fait que resolv.conf contient l'adresse 
d'un serveur DNS qui ne fournit pas les bonnes réponses.


Comme je l'ai écrit ci-dessus, tous les DNS inscrits dans resolv.conf 
sont censés être équivalents et fournir les mêmes réponses, donc l'ordre 
ne devrait pas avoir d'importance.


Or ce fichier est dynamique et je n'ai pas trouvé comment modifier 
l'ordre. Ça semble lié au montage des interfaces réseau.
Du coup, j'ai inversé mes 2 cables ethernet et modifié enp2s0 en enp3s0 
(et vice-versa). De cette façon, c'est ok.


Pas fiable. Si un serveur DNS ne doit pas être interrogé parce qu'il ne 
fournit pas les bonnes réponses, il ne doit pas être inscrit dans 
resolv.conf. dhclient (request, supersede, prepend) et NetworkManager 
(méthode : "adresses automatiques uniquement") ont des options pour 
l'empêcher.




Re: DNS : pas de résolution en local

2019-08-21 Par sujet Daniel Huhardeaux

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  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



Re: DNS : pas de résolution en local

2019-08-21 Par sujet Migrec

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  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.

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


Merci pour ces précisions.
Mon problème était lié à l'odre des DNS inscrits dans /etc/resolv.conf. 
Or ce fichier est dynamique et je n'ai pas trouvé comment modifier 
l'ordre. Ça semble lié au montage des interfaces réseau.
Du coup, j'ai inversé mes 2 cables ethernet et modifié enp2s0 en enp3s0 
(et vice-versa). De cette façon, c'est ok.


Merci pour les pistes.
--
Migrec




Re: DNS : pas de résolution en local

2019-08-20 Par sujet Pascal Hambourg

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  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.

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




Re: DNS : pas de résolution en local

2019-08-20 Par sujet Migrec



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  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.

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


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




Visiblement, le premier répond que le nom n'existe pas.






Si j'inverse les 2 IP dans /etc/resolv.conf, ça fonctionne.


C'est donc tout à fait logique ;-)

Mais si tu as un resolver local, tu ne devrais utiliser que celui-là, 
ce sera plus efficace

(celui des box laissant parfois à désirer…)


Quand je dis celui de la box, c'est celui de mon FAI en fait. Mon 
serveur obtient son IP en DHCP depuis la box et le DNS est fournit avec.
Avant la mise à jour, ça fonctionnait bien, j'ai du modifier un 
paramètre DHCP/DNS mais je ne sais pas lequel.


PS : désolé de ne pas avoir répondu aux autres messages, je ne les ai 
pas tous eu (bounce).

--
Migrec



Re: DNS : pas de résolution en local

2019-08-20 Par sujet Daniel Huhardeaux

Le 20/08/2019 à 10:55, Daniel Caillibaud a écrit :

Le 20/08/19 à 00:47, Migrec  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.
Ici le 1er répond que le nom n'existe pas, donc ça s'arrête là.


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





Si j'inverse les 2 IP dans /etc/resolv.conf, ça fonctionne.


C'est donc tout à fait logique ;-)

Mais si tu as un resolver local, tu ne devrais utiliser que celui-là, ce sera 
plus efficace
(celui des box laissant parfois à désirer…)


+1

--
Daniel



Re: DNS : pas de résolution en local

2019-08-20 Par sujet Daniel Caillibaud
Le 20/08/19 à 00:47, Migrec  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.
Ici le 1er répond que le nom n'existe pas, donc ça s'arrête là.

> Si j'inverse les 2 IP dans /etc/resolv.conf, ça fonctionne.

C'est donc tout à fait logique ;-)

Mais si tu as un resolver local, tu ne devrais utiliser que celui-là, ce sera 
plus efficace
(celui des box laissant parfois à désirer…)

-- 
Daniel

Je sais qu'il n'y a qu'une chance sur un million d'être dévoré
vivant par un lion sur les Champs Elysées, mais il suffit d'une fois.



DNS : pas de résolution en local

2019-08-19 Par sujet Migrec

Bonjour,

Depuis Buster, je n'ai plus de résolution DNS sur le serveur DHCP/DNS 
lui même et uniquement pour les adresses du réseau local. Depuis les 
clients, tout est ok.


# cat /etc/resolv.conf
# 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.1.1
nameserver 192.168.0.2
search home homeg.lan

192.168.1.1 est ma box et 192.168.0.2 est mon serveur DNS/DHCP

# ping skeleton
ping: skeleton: Nom ou service inconnu

# dig skeleton

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> skeleton
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8304
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;skeleton.  IN  A

;; Query time: 1 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: mar. août 20 00:42:34 CEST 2019
;; MSG SIZE  rcvd: 26

Ç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 ?

Si j'inverse les 2 IP dans /etc/resolv.conf, ça fonctionne.

Une idée ?

--
Migrec