NetworkManager global LLMNR and MulticastDNS settings are not picked up from configuration file, and thus aren't default values for connections
Distro: Arch Linux, Linux 4.19.87-1-lts x86-64
NetworkManager version: 1.20.8
Issue:
Setting the defaults as connection.llmnr=no
and connection.mdns=resolve
in the configuration file doesn't work.
They aren't picked up by NetworkManager, as can be seen below from the output of resolvectl
.
$ cat /etc/NetworkManager/conf.d/50-my.conf
[logging]
level=trace
domains=all
[connection]
connection.llmnr=no
connection.mdns=resolve
$ nmcli con show "Wired connection 1" | grep -P 'llmnr|mdns'
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
$ resolvectl
Global
LLMNR setting: resolve <-- should be "no"
MulticastDNS setting: resolve <-- correct (now), but changing this in the config file has no effect (so this, too, is broken)
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Fallback DNS Servers: --snip--
DNS Domain: --snip--
DNSSEC NTA: --snip--
Link 2 (enp0s31f6)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 <-- not entirely sure how to parse this. but LLMNR here doesn't seem correct.
DefaultRoute setting: yes
LLMNR setting: yes <-- should be "no", because the connection uses "-1 (default)"
MulticastDNS setting: no <-- should be "resolve", because the connection uses "-1 (default)"
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: --snip--
DNS Servers: --snip--
DNS Domain: --snip--
$ nmcli -f all con
NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME
Wired connection 1 7e76e36a-5193-4e45-81b2-d77f48771b21 ethernet --snip-- --snip-- yes -999 no /org/freedesktop/NetworkManager/Settings/1 yes enp0s31f6 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- /var/run/NetworkManager/system-connections/Wired connection 1.nmconnection
$ journalctl _SYSTEMD_INVOCATION_ID=(systemctl show --value -p InvocationID NetworkManager)