Skip to content

Handle LLMNR only by nss-resolve #23622

@pemensik

Description

@pemensik

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions