Hello les gens. Sur mon nouveau PC Win 11 j’ai un souci petit mais chiant avec WSL : pas moyen de faire fonctionner le DNS local ! C’est-à-dire que:
Sur Windows je fais un ipconfig et mon DNS server c’est bien 192.168.1.1
J’arrive à pinger aussi bien Geekzone.fr que Toto.local … Great success!
Sur WSL/Ubuntu avec la config par défaut mon DNS server est 10.255.255.254
J’arrive à pinger Geekzone.fr mais pas Toto.local … D’oh!
Donc je:
modifie /etc/wsl.conf pour désactiver la géneration automatique de /etc/resolv.conf
Je flingue le fichier /etc/resolv.conf pour supprimer le link et je recrée le fichier derrière
Je mets dedans : nameserver 192.168.1.1 search home
Je restarte le bazar et j’obtiens le résultat suivant:
J’arrive à pinger Geekzone.fr mais TOUJOURS PAS Toto.local … D’oh!\
Que pourrais-je faire d’autre pour faire marcher le DNS local du routeur dans WSL?
; <<>> DiG 9.18.30-0ubuntu0.24.04.1-Ubuntu <<>> Toto.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26950
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
J’ai jamais réussi à trop comprendre le fonctionnement des lookups DNS avec WSL. J’ai des fois où j’arrive à contacter les machines sur mon réseau avec des pings (entre autres), et des fois ça veut pas. Je suspecte que c’est dû à l’IPv6 et mon pihole, mais j’ai jamais réussi à le diagnostiquer correctement. Tellement la flemme de sortir Wireshark et de me fader des analyses.
Alors oui c’est une très mauvaise pratique d’utiliser le .local dans une configuration manuelle. Si tu veux utiliser un DNS local, utilise un domaine ou sous-domaine sur lequel tu as réellement la main.
Pour ce qui est du paramètre « search » c’est pour définir le domaine par défaut, donc ce n’est pas pris en compte lors d’un ping (ou n’importe quel autre commande) si un FQDN est spécifié.
Que tu mette local, home ou pouet, ça ne changera rien si tu ping toto.local. Ça complètera juste si tu ping toto tout court.
OK, mais là de toute façon j’ai remis home au lieu de local et ça ne marche toujours pas. Faudrait que je mette la main sur mon ancien PC pour voir ce que j’avais bricolé à l’époque pour que ça marche!
Ça y est j’ai du nouveau!
En repassant sur mon ancienne machine en Windows 10 et en faisant un bon vieux ipconfig /all des familles, j’ai remarqué qu’il existait une interface réseau (est-ce la bonne traduction pour network adapter?) pour WSL. Sur mon PC actuel en Windows 11, elle existe aussi mais s’appelle autrement ( vEthernet (WSL (Hyper-V firewall)) ).
En utilisant l’adresse IP de cette interface dans le fichier /etc/resolv.conf, j’arrive à faire marcher mon DNS local dans ma distro! Great success!
Edit : oui alors success de rien du tout. Ça marche pour une machine mais pas pour les autres. Et ça fait pareil dans Windows en fait. Donc je dois trouver:
Pourquoi le DNS local marche pas (probablement la faute à mon routeur)
Pourquoi ça marche pour une machine uniquement (j’ai dû faire une config spéciale et j’ai oublié ce que c’était…)