Besoin d'aide Linux SVP | Problème de résolution DNS

Bonjour,

J’ai un problème qui est apparu il y a environ 2 semaines, mais je n’ai pas la moindre idée de pourquoi : incompatibilité entre mon serveur DNS local (192.168.0.225) et ma machine Jeedom (Pi-Hole en 192.168.0.202) =>

  • je ne peux plus résoudre d’@IP sur ma machine Jeedom avec mon serveur DNS interne
  • pourtant la machine ping bien mon serveur DNS, donc ce n’est pas un problème de liaison entre elles
  • elle ping bien les @IP externes, donc ce n’est pas un problème de passerelle
  • les autres machines de mon réseau fonctionnent parfaitement avec mon serveur DNS principal (y compris une autre machine Jeedom d’ailleurs)
  • si je fais un « nslookup » avec mon serveur DNS, j’ai pourtant bien la résolution en retour ??!!??
  • dès que je mets un serveur DNS externe (8.8.8.8 par exemple) dans /etc/resolv.conf, ça fonctionne immédiatement
  • si je mets mon serveur DNS secondaire (192.168.0.201), qui est une copie de secours du .225, ça marche très bien aussi

Je ne comprend rien du tout à ce qui peut bloquer :frowning:

Je suis en Debian 10 (oui je sais, c’est trop vieux, et patati et patata).
Je n’ai pas NetworkManager d’activé.
J’ai « resolvconf » d’installé par je ne sais quel logiciel, mais même en le désactivant pour qu’il ne touche plus au fichier /etc/resolv.conf, ça ne marche pas mieux.


Si la conf DNS est sur mon serveur normal (.225) :

root@NUNUX2ND:[~]:$ cat /etc/resolv.conf
nameserver 192.168.0.225

root@NUNUX2ND:[~]:$ ping www.free.fr -c 1
ping: www.free.fr: Nom ou service inconnu
root@NUNUX2ND:[~]:$ nslookup www.free.fr 192.168.0.225
Server:         192.168.0.225
Address:        192.168.0.225#53
Non-authoritative answer:
Name:   www.free.fr
Address: 212.27.48.10
Name:   www.free.fr
Address: 2a01:e0c:1::1

root@NUNUX2ND:[~]:$ nslookup www.free.fr 192.168.0.201
Server:         192.168.0.201
Address:        192.168.0.201#53
Non-authoritative answer:
Name:   www.free.fr
Address: 212.27.48.10
Name:   www.free.fr
Address: 2a01:e0c:1::1


Si la conf DNS est sur mon serveur de secours (.201) :

root@NUNUX2ND:[~]:$ cat /etc/resolv.conf
nameserver 192.168.0.201

root@NUNUX2ND:[~]:$ ping www.free.fr -c 1
PING www.free.fr (212.27.48.10) 56(84) bytes of data.
64 bytes from www.free.fr (212.27.48.10): icmp_seq=1 ttl=52 time=10.3 ms
--- www.free.fr ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 10.310/10.310/10.310/0.000 ms

root@NUNUX2ND:[~]:$ nslookup www.free.fr 192.168.0.225
Server:         192.168.0.225
Address:        192.168.0.225#53
Non-authoritative answer:
Name:   www.free.fr
Address: 212.27.48.10
Name:   www.free.fr
Address: 2a01:e0c:1::1

root@NUNUX2ND:[~]:$ nslookup www.free.fr 192.168.0.201
Server:         192.168.0.201
Address:        192.168.0.201#53
Non-authoritative answer:
Name:   www.free.fr
Address: 212.27.48.10
Name:   www.free.fr
Address: 2a01:e0c:1::1


Est-ce que quelqu’un qui s’y connait un minimum en réseau sous Linux saurait me guider vers une solution, ou au moins m’indiquer dans quel endroit chercher SVP ?
Je peux fournir d’autres infos, mais comme je ne sais pas ce qui serait utile, n’hésitez pas à me le dire …

Un parefeu qui interdit le port 53 ?

J’ai bien cherché les problèmes de liaison entre la machine Jeedom et le serveur DNS, mais à priori il n’y en a pas : les deux se ping et un nslookup fonctionne bien. Si le port 53 était bloqué sur la machine, elle ne saurait pas résoudre d’IP en forçant manuellement le nslookup sur le serveur.

en tapant dig tu vois l’ip de ton serveur ?

Bonjour

Il est déconseillé de rester sur un réseau en 192.168.0.XXX. Généralement en configuration usine les routeurs, les switchs ou tout autres matériels démarrent sur cette plage d’adresse. Si vous avez un matériel qui a redémarré en configuration usine il peut perturber votre réseau.
Voir :https://community.jeedom.com/t/soucis-adresse-ip/139379

Cordialement

Oui via « dig » je vois l’IP du serveur DNS, que ce soit en configurant celui qui marche comme celui qui ne marche pas :

DNS sur le .225 (qui ne marche plus avec Jeedom, mais qui marche bien avec toutes les autres machines de mon réseau) =>

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       424786  IN      NS      g.root-servers.net.
.                       424786  IN      NS      h.root-servers.net.
.                       424786  IN      NS      i.root-servers.net.
.                       424786  IN      NS      j.root-servers.net.
.                       424786  IN      NS      k.root-servers.net.
.                       424786  IN      NS      l.root-servers.net.
.                       424786  IN      NS      m.root-servers.net.
.                       424786  IN      NS      a.root-servers.net.
.                       424786  IN      NS      b.root-servers.net.
.                       424786  IN      NS      c.root-servers.net.
.                       424786  IN      NS      d.root-servers.net.
.                       424786  IN      NS      e.root-servers.net.
.                       424786  IN      NS      f.root-servers.net.

;; Query time: 0 msec
;; SERVER: 192.168.0.225#53(192.168.0.225)
;; WHEN: mar. avril 01 21:07:44 CEST 2025
;; MSG SIZE  rcvd: 444

DNS sur le .201 (le secours) =>

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       87203   IN      NS      d.root-servers.net.
.                       87203   IN      NS      i.root-servers.net.
.                       87203   IN      NS      f.root-servers.net.
.                       87203   IN      NS      b.root-servers.net.
.                       87203   IN      NS      h.root-servers.net.
.                       87203   IN      NS      k.root-servers.net.
.                       87203   IN      NS      a.root-servers.net.
.                       87203   IN      NS      j.root-servers.net.
.                       87203   IN      NS      g.root-servers.net.
.                       87203   IN      NS      c.root-servers.net.
.                       87203   IN      NS      e.root-servers.net.
.                       87203   IN      NS      m.root-servers.net.
.                       87203   IN      NS      l.root-servers.net.

;; Query time: 23 msec
;; SERVER: 192.168.0.202#53(192.168.0.202)
;; WHEN: mar. avril 01 21:07:13 CEST 2025
;; MSG SIZE  rcvd: 239

Il n’y a aucune autre machine venue mettre la grouille. Si c’était le cas je le saurais car j’ai deux conteneurs WhatchYourLAN et NetAlertX sur un serveur qui surveillent le réseau en permanence et me l’aurait remontée.
Et à l’inverse, j’ai un autre conteneur avec Uptime Kuma qui surveille que tout mon petit monde soit bien en ligne, donc lui aussi m’aurait alerté si « quelqu’un » avait disparu (ou perdu sa conf).

Mais pour être sûr j’ai quand même lancé un petit coup de Rogue Checker et il n’a rien trouvé. De toute façon ma machine Jeedom prend bien sa conf depuis mon serveur DHCP, y compris l’info du serveur DNS, donc il n’y a pas un autre serveur DHCP qui viendrait la perturber.

tu utilises quel type de serveur DNS?
Cela semble être un problème de résolution des noms externes.
Comment déclares tu tes "forwarders"?

C’est Pi-Hole, dans les deux cas (celui qui ne marche plus sur mon Jeedom mais partout ailleurs, ainsi que le secours qui marche partout).

C’est quoi « forwarders » ? Je comprends le mot anglais, mais je ne sais pas ce que c’est sous Linux.
Je suis assez pointu en réseau Windows, ça a été mon métier pendant pas mal d’années, mais je ne fait que survoler ce domaine sous Linux, désolé :face_with_peeking_eye:

Un serveur DNS personnel agit normalement sur le nom de domaine de ton LAN.
On parle d’autorité, il a donc autorité pour répondre sur ton domaine toto.fr.
Par contre, pour les autres domaines, il demande à d’autres serveurs (8.8.8.8, 1.1.1.1, où d’autres). On parle de forwarding.
Je ne connais pas dnsmasq qui semble être utilisé par Pi-Hole mais il serait bien de voir ses fichiers de configuration.
Ce qui est bizarre c’est qu’il ne répond pas juste pour la machine Jeedom.

Bonjour

Suite au post de Jeandhom, quel est l’extension de votre nom de domaine interne. Surtout ne pas utiliser le .local qui est réservé au avahi-daemon mDNS, j’ai déjà fait l’erreur.

Déjà merci pour votre aide à tous.

Mon domaine est en .lan partout, y compris dans Pi-Hole.

Oui, ce que je ne comprends pas, c’est pourquoi seule cette machine Jeedom en .202 est touchée, tout le reste marche, que ce soit des PC, des serveurs, des iot ou des Raspberry. Je n’y comprends rien du tout, surtout que c’est venu il y a 2 semaines et je ne me souviens pas d’un changement.

Après des jours et des jours de recherches sans manger ni dormir, j’ai enfin trouvé le coupable !

C’était la ligne suivante dans le fichier /etc/nsswitch qui mettait le bazar :

hosts:   files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns

Une fois retirée l’option resolve [!UNAVAIL=return] pour obtenir cette ligne :

hosts:   files mdns4_minimal [NOTFOUND=return] dns

tout refonctionne immédiatement, même pas à rebooter ni relancer un service.

Si jamais ça arrive à d’autres … vous aurez la solution !

PS : par contre, je n’ai pas la moindre idée de ce qui a été me modifier cette fichue ligne et encore moins pour quelle raison … et encore-encore moins pourquoi ça marche avec un de mes serveurs DNS local et pas avec l’autre ??? :thinking:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.