Bonjour à vous, il y a quelque chose que je ne comprends pas dans ma résolution de noms sur le LAN, je m’en suis rendu compte en butant pendant un moment sur l’installation de mon imprimante Wi-Fi. Désolé c’est un peu long.
La résolution de nom sur mon LAN :
- Mon routeur (Freebox), avec le DHCP configuré pour donner comme premier DNS le NAS Synology, et en secondaire des DNS libres du net. Quelques machines importantes du LAN sont en bail fixe (la box elle-même, le PC du salon, et le Synology)
- Le Synology sert de serveur DNS, avec pour le LAN une zone nommée
.homequi me sert les adresses des bécanes en IP fixe… Les DNS backup sont les mêmes que ceux configurés sur la box, pour la résolution de nom internet
Et maintenant passons au souci. Avec un laptop en Trixie 13.3 tout ce qu’il y a de plus normal (à ceci près qu’il a été installé par l’install live), impossible de faire fonctionner mon imprimante Wi-Fi.
Vérification que l’imprimante est visible sur le réseau :
$ sudo lpinfo -v
(...)
network ipps://Canon%20G6000%20series._ipps._tcp.local/
network dnssd://Canon%20G6000%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-00186502f97a
Il s’agit bien de la Canon G6000 series.
Affichage des détails :
$ avahi-browse -rt _ipp._tcp
+ wlp5s0 IPv6 Canon G6000 series Internet Printer local
+ wlp5s0 IPv4 Canon G6000 series Internet Printer local
= wlp5s0 IPv6 Canon G6000 series Internet Printer local
hostname = [84AD43000000.local]
address = [192.168.1.134]
port = [631]
(...)
= wlp5s0 IPv4 Canon G6000 series Internet Printer local
hostname = [84AD43000000.local]
address = [192.168.1.134]
port = [631]
(...)
La découverte trouve bien le hostname (en .local comme c’est du mDNS), l’IP v4, le port.
Tentative d’installation :
$ sudo lpadmin -p Canon_Test -v "dnssd://Canon%20G6000%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-00186502f97a" -m everywhere -E
lpadmin : Unable to connect to 84AD43000000.local:631: Name or service not known
Ça marche pas, le nom est mal résolu. Même tentative avec l’IP:port :
$ sudo lpadmin -p Canon_Test -v "dnssd://192.168.1.134:631/?uuid=00000000-0000-1000-8000-00186502f97a" -m everywhere -E
lpadmin : Unable to create PPD: Printer does not support required IPP attributes or document formats.
Ça marche à moitié, le message est un warning, l’imprimante est bien créée mais impossible d’imprimer dessus.
Tests avec ping, le nom ne fonctionne pas, l’IP fonctionne :
$ ping 84AD43000000.local
ping: 84AD43000000.local: Nom ou service inconnu
$ ping 192.168.1.134
PING 192.168.1.134 (192.168.1.134) 56(84) bytes of data.
64 bytes from 192.168.1.134: icmp_seq=1 ttl=64 time=212 ms
^C
Je regarde dans mes paramètres Debian de résolution de noms :
$ cat /etc/nsswitch.conf
(...)
hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns
Si je lis bien, l’ordre est :
- La résolution du fichier
/etc/hosts - La résolution de localhost
- La résolution mDNS
- La résolution DNS ← mon Synology
La résolution par mDNS fonctionne bien :
$ avahi-resolve -n 84AD43000000.local
84AD43000000.local 192.168.1.134
Et naturellement la résolution par DNS ne fonctionne pas puisque je gère seulement le .home :
$ nslookup 84AD43000000.local
Server: 192.168.1.250 <-- mon Synology
Address: 192.168.1.250#53
** server can't find 84AD43000000.local: NXDOMAIN
Finalement, j’ai changé mon DNS sur le laptop, au lieu du Synology j’ai utilisé celui de mon FAI, et là BIM ça marche :
$ sudo lpadmin -p Canon_G6000_Test2 -v "dnssd://Canon%20G6000%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-00186502f97a" -m everywhere -E```
$ echo $?
0
L’impression fonctionne, tout nickel.
SYNTHÈSE JUSQU’ICI :
- Si j’utilise mon DNS Synology, impossible de résoudre les noms en .local (alors qu’il ne comporte aucune configuration pour gérer ce domaine)
- Si je n’utilise pas mon DNS Synology, tout marche bien (mDNS)
- Ce qui me gène là-dedans, c’est que Debian est censé faire la résolution de noms d’abord sur mDNS pour le .local, et le DNS ensuite, je ne vois donc pas pourquoi la résolution de nom plante en présence du DNS Synology.
En cherchant un peu plus loin, je me suis aperçu que (pour une raison inconnue), le DNS Synology a un enregistrement SOA pour le .local :
$ host -t SOA local 192.168.1.250
Using domain server:
Name: 192.168.1.250
Address: 192.168.1.250#53
Aliases:
local has SOA record localhost. root. 1 604800 86400 2419200 604800
Outre le fait qu’il n’est pas censé le faire, en tout cas je n’a rien demandé, la question que je me pose c’est pourquoi ce souci DNS gène la résolution mDNS qui est censée se faire avant ?