<div dir="ltr">I'm trying to understand what is wrong (or is there a bug in systemd-resolved) with my systemd-resolved configuration (I use NetworkManager to set up interfaces). systemd-resolved does not resolve .local names and always forwards them to external DNS.<div><br></div><div>Build:</div><div><br></div><div>$ systemctl --version <br></div><div><div>systemd 239</div><div>+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid</div></div><div><br></div><div>Settings:</div><div><br></div><div><div>$ resolvectl</div><div>Global</div><div>...</div><div>MulticastDNS setting: yes</div><div>...</div><div><br></div><div>Link 3 (wlp4s0)</div><div>      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6</div><div>       LLMNR setting: yes</div><div>MulticastDNS setting: resolve</div><div>  DNSOverTLS setting: no</div><div>      DNSSEC setting: no</div><div>    DNSSEC supported: no</div><div>  Current DNS Server: 192.168.1.1</div><div>         DNS Servers: 192.168.1.1</div><div>          DNS Domain: ~.</div></div><div><br></div><div>/etc/nsswitch.conf:</div><div><br></div><div><div>hosts: files mymachines myhostname resolve [!UNAVAIL=return] dns</div></div><div><br></div><div><div><div><div>$ ping -c 1 -q wndr3800.local</div><div>PING <a href="http://google.com">google.com</a> (173.194.32.196) 56(84) bytes of data.</div><div><br></div></div></div></div><div><div>$ ping -c 1 -q wndr3800.local</div><div>ping: printer.local: Name or service not known</div></div><div><br></div><div>If I change DNS domain to something other then mDNS starts working while DNS works very slow:</div><div><br></div><div><div>$ resolvectl domain wlp4s0 'foobar'</div></div><div><br></div><div><div><div><div><div>$ ping -c 1 -q <a href="http://google.com">google.com</a> # takes about 10-20 seconds</div><div>PING <a href="http://google.com">google.com</a> (173.194.32.196) 56(84) bytes of data.</div></div></div></div></div><div><br></div><div><div>$ ping -c 1 -q wndr3800.local</div><div>PING WNDR3800.local (192.168.1.1) 56(84) bytes of data.</div></div><div><br></div><div>systemd-resolved log (for case when domain=~.):</div><div><br></div><div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Got message type=method_call sender=:1.9072 destination=org.freedesktop.resolve1 path=/org/freedesktop/resolve1 interface=org.freedesktop.resolve1.Manager member=ResolveHostname cookie=2 reply_cookie=0 signature=isit error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Looking up RR for wndr3800.local IN A.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Looking up RR for wndr3800.local IN AAAA.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=AddMatch cookie=12134 reply_cookie=0 signature=s error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=GetNameOwner cookie=12135 reply_cookie=0 signature=s error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.5717 path=n/a interface=n/a member=n/a cookie=5959 reply_cookie=12135 signature=s error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Cache miss for wndr3800.local IN A</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Transaction 7869 for <wndr3800.local IN A> scope dns on wlp4s0/*.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Using feature level UDP for transaction 7869.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Using DNS server 192.168.1.1 for transaction 7869.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Sending query packet with id 7869.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.5717 path=n/a interface=n/a member=n/a cookie=5958 reply_cookie=12134 signature=n/a error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Match type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.9072' successfully installed.</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Processing incoming packet on transaction 7869 (rcode=NXDOMAIN).</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Added NXDOMAIN cache entry for wndr3800.local IN ANY 60s</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Transaction 7869 for <wndr3800.local IN A> on scope dns on wlp4s0/* now complete with <rcode-failure> from network (unsigned).</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Sent message type=error sender=n/a destination=:1.9072 path=n/a interface=n/a member=n/a cookie=12136 reply_cookie=2 signature=s error-name=org.freedesktop.resolve1.DnsError.NXDOMAIN error-message='wndr3800.local' not found</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RemoveMatch cookie=12137 reply_cookie=0 signature=s error-name=n/a error-message=n/a</div><div>Aug 06 17:50:10 theta systemd-resolved[18512]: Freeing transaction 7869.</div></div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Sergey Zolotorev</div></div>