-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Handle LLMNR only by nss-resolve #23622
Description
Is your feature request related to a problem? Please describe.
Yes, described in #23494. LLMNR eats also queries to single label names, which are not wanted to be resolved by LLMNR. It should not
Describe the solution you'd like
I want to use LLMNR only from getaddrinfo() calls and similar. I think that is also equivalent to how Windows machines use it, because they do not redirect DNS to local service. They just provide equivalent to glibc nss plugins except dns.
Unlike Ubuntu, Fedora enabled also nss resolve plugin in /etc/nsswitch.conf. Therefore it has a way to make clear distinction, when it uses just general get me addresses for a host name xy and get me dns response for query to local stub. Take advantage of it and serve LLMNR only for queries received from resolve plugin, but not for queries received over DNS socket on port domain.
If I have search example.net in /etc/resolv.conf, then I want all single label queries to try host.example.net via DNS. I don't want resolution passed to LLMNR and end there if not found. It would work itself just like before f33, when systemd-resolved started to be installed by default. nss-dns would ensure search is applied according to resolv.conf.
Describe alternatives you've considered
Disabling LLMNR always and for all. We have mdns for multicast resolution. Create a separate nss-llmnr similar to nss-mdns. Local LLMNR on DNS stub should not serve ever LLMNR responses on 127.0.0.53 stub or 127.0.0.54 stub.
The systemd version you checked that didn't have the feature you are asking for
systemd-251.1-2.fc37.x86_64