Re: Fedora 33 System-Wide Change proposal: systemd-resolved

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Di, 14.04.20 15:52, Fedora Development ML (devel@xxxxxxxxxxxxxxxxxxxxxxx) wrote:

> On Tue, 14 Apr 2020 16:18:02 -0500
> Michael Catanzaro <mcatanzaro@xxxxxxxxx> wrote:
>
> > NetworkManager has three DNS backends: default (nss-dns, what we use
> > currently), dnsmasq, and systemd-resolved. The default backend just
> > does the wrong thing and cannot be fixed. When either dnsmasq or
> > systemd-resolved is in use, NetworkManager will go ahead and do the
> > right thing by telling dnsmasq/systemd-resolved which network
> > interfaces should be used to resolve which hostnames. I consulted
> > with the NetworkManager developers and they recommended
> > systemd-resolved over dnsmasq, although I understand that dnsmasq is
> > good too.
>
> Will the ability to turn off NetworkManager involvement in DNS in the
> configuration file (None) still remain?  I use a local caching DNS
> server, and had to do that in order to allow it to run without
> interference / override by NetworkManager.

resolved has three modes:

1. If /etc/resolv.conf is a regular file, resolved will *consume* it
   for DNS configuration, and never change it or modify it or replace
   it. If this mode is selected arbitrary other programs that do DNS
   will talk directly to the provided DNS servers, and resolved is out
   of the loop.

2. Alternatvely, /etc/resolv.conf can be made a symlink to
   /run/systemd/resolve/stub-resolv.conf. That file is updated by
   resolved whenever DNS configuration changes. In it you'll find as
   DNS server the local host configured, where resolved is
   listening. In this mode other programs that do DNS will talk to
   resolved, and resolved propagates it to other DNS servers.

3. Alternatively /etc/resolv.conf can be made a symlink to
   /run/systemd/resolve/resolv.conf. That file is also updated by
   resolved whenever DNS configuration changes. In it you find a
   merged set of configured upstream DNS servers. In this mode
   programs that do DNS will talk directly to the upstream DNS
   servers, but resolved will still tell them which ones, based on all
   the information it has.

In mode #1 resolved neither manages /etc/resolv.conf nor inserts
itself into DNS resolution in any way. In mode #2 it manages *and*
inserts itself into DNS resolution. In mode #3 it manages DNS
resolution but will not insert itself to.

NetworkManager natively supports informing resolved about DNS
configuration changes, hence whenever NM discovers a new DNS server it
tells resolved, which resolved then uses itself and writes it to
/run/systemd/resolve/stub-resolv.conf and
/run/systemd/resolve/resolv.conf.

Long story short: we want to default to mode #2. But if you can chose
mode #1 or #3 if you like, depending on whether you want to kick
resolved out of managing resolv.conf or out of doing any DNS lookups
for you at all.

Lennart

--
Lennart Poettering, Berlin
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux