J'ai un serveur local (192.168.0.10) qui exécute Dnsmasq pour fournir le protocole DHCP à mon réseau local et un serveur DNS pour résoudre les noms d'hôte des clients DHCP.
Quand je courais 16.04, cela a bien fonctionné. Toute machine obtenant une adresse DHCP du serveur utilisait le serveur DNS et pouvait résoudre d'autres noms d'hôte sur le réseau.
Cependant, depuis la mise à niveau vers 18.04, je ne peux plus résoudre les noms d'hôte. Je comprends que 18.04 utilise maintenant systemd-resol. Il semble qu’il connaisse le serveur DNS:
mark@coachz:~$ systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 3 (wlp59s0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.0.10
Link 2 (enp58s0f1)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
Cependant, il ne semble pas l'utiliser pour résoudre les noms d'hôte:
mark@coachz:~$ nslookup homestar
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find homestar: SERVFAIL
Bien que si je le dis explicitement, il peut:
mark@coachz:~$ nslookup homestar 192.168.0.10
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: homestar
Address: 192.168.0.101
Comment le faire pour qu'il utilise automatiquement le serveur DNS fourni par DHCP?
En fait, le problème était que je n'avais pas de suffixe de domaine configuré sur mon serveur Dnsmasq.
J'ai ajouté la ligne: domain=lan
à /etc/dnsmasq.conf
et redémarré le service. Je peux maintenant résoudre l'adresse pour homestar
ou homestar.lan
parfaitement.
J'ai réussi comme suit:
mv resolv.conf resolv.conf-old
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf