Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-02 Thread Alexander Bokovoy

On ti, 02 maalis 2021, Zbigniew Jędrzejewski-Szmek wrote:

On Tue, Mar 02, 2021 at 11:29:21AM +0200, Alexander Bokovoy wrote:

On ma, 01 maalis 2021, Lennart Poettering wrote:
>On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:
>
>>> 1. Dots (".") for separating IPV4 address bytes
>>> 2. Colons (":") for separating IPv6 address parts, as well as separating
>>>   port numbers from the IP addres
>>> 3. Brackets ("[]") for separating ipv6 addresses from the rest of the
>>>   construct
>>> 4. Percent ("%") characters to separate interface info from the rest
>>> 5. Hash ("#") characters to separate SNI host name specifications
>>>
>>> Now, we currently don't use "," and ";" for separators here, but as
>>> these things keep growing we might need them for something soon too.
>>
>>I understand your willingness to apply the same rules for multiple
>>options in the config files owned by systemd codebase. This, however, is
>>a content pushed out by external parties, not a part of systemd
>>proper.
>
>It's a configuration file *owned* by resolved. it's its private
>property, with defined and documented syntax. if other tools make
>changes to that config files, but they better follow the documented
>syntax then.
>
>I'd be a lot more open to a more relaxed parser if this was some
>"foreign" config file, not owned by resolved. i.e. /etc/resolv.conf is
>owned by glibc and is maybe even more generic than that. There it's
>our duty to to accept even the worst formatted files.
>
>But resolved.conf is inherently only ours, we define the contents and
>are the sole consumer of it. Hence I think we don't have to be and
>shouldn't be so lenient, so that the variances remain smaller.
>
>I mean, I#d consider the original issue here a simple bug. The
>question is simply where to fix it: in cloud-init or in systemd. Given
>that cloud-init is responsible for it, and given that either way
>there's exactly one project to fix I think it should be cloud-init
>that is fixed.

Clearly, what happened in the cases described in this thread, is that
some other configuration file was imported into resolved state and
parsing the content that came from that import was failing.

This is what I think an issue on systemd-resolved side. See below for
cloud-init part.

>
>>Digital Ocean updates pushed with cloud-init use. Cloud-init does not
>>have any native support for systemd-resolved. It means it writes
>>something that systemd-resolved imports into own state. I would argue
>>that your arguments for systemd-wide configuration rules do not apply
>>here. Either you'd need to fix cloud-init or allow for a variance in
>>input data that comes to systemd-resolved from third parties.
>
>Hmm, cloud-init has no direct support for resolved.conf? But how is it
>then that that file is modified? I don't get it?

https://github.com/canonical/cloud-init/search?q=resolved.conf --
nothing handles resolved.conf.

It is done by something else after parsing cloud-init provided content.
For example, on my Digital Ocean's node which is not affected by this
bug I have /etc/sysconfig/network-scripts/ifcfg-eth0 which was written by
cloud-init.

The network scripts update is done by
cloudinit/net/sysconfig.py:Renderer._render_subnets() method.
Additionally, render_network_state() writes down NetworkManager
configuration snippet.

Does systemd-resolved parse any of those?


No.

It seems DigitalOcean added *custom code* [1] to write 
/etc/systemd/resolved.conf,
and in *that new code* they messed up the syntax. Considering that it's
new code, it seems most reasonable to just fix that.


Yes, I agree with that. How can we ensure they'd fix it? :)



[1] 
https://www.digitalocean.com/community/questions/fedora-33-how-to-persist-dns-settings-via-etc-resolv-conf?comment=96290

Zbyszek
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure




--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-02 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Mar 02, 2021 at 11:29:21AM +0200, Alexander Bokovoy wrote:
> On ma, 01 maalis 2021, Lennart Poettering wrote:
> >On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:
> >
> >>> 1. Dots (".") for separating IPV4 address bytes
> >>> 2. Colons (":") for separating IPv6 address parts, as well as separating
> >>>   port numbers from the IP addres
> >>> 3. Brackets ("[]") for separating ipv6 addresses from the rest of the
> >>>   construct
> >>> 4. Percent ("%") characters to separate interface info from the rest
> >>> 5. Hash ("#") characters to separate SNI host name specifications
> >>>
> >>> Now, we currently don't use "," and ";" for separators here, but as
> >>> these things keep growing we might need them for something soon too.
> >>
> >>I understand your willingness to apply the same rules for multiple
> >>options in the config files owned by systemd codebase. This, however, is
> >>a content pushed out by external parties, not a part of systemd
> >>proper.
> >
> >It's a configuration file *owned* by resolved. it's its private
> >property, with defined and documented syntax. if other tools make
> >changes to that config files, but they better follow the documented
> >syntax then.
> >
> >I'd be a lot more open to a more relaxed parser if this was some
> >"foreign" config file, not owned by resolved. i.e. /etc/resolv.conf is
> >owned by glibc and is maybe even more generic than that. There it's
> >our duty to to accept even the worst formatted files.
> >
> >But resolved.conf is inherently only ours, we define the contents and
> >are the sole consumer of it. Hence I think we don't have to be and
> >shouldn't be so lenient, so that the variances remain smaller.
> >
> >I mean, I#d consider the original issue here a simple bug. The
> >question is simply where to fix it: in cloud-init or in systemd. Given
> >that cloud-init is responsible for it, and given that either way
> >there's exactly one project to fix I think it should be cloud-init
> >that is fixed.
> 
> Clearly, what happened in the cases described in this thread, is that
> some other configuration file was imported into resolved state and
> parsing the content that came from that import was failing.
> 
> This is what I think an issue on systemd-resolved side. See below for
> cloud-init part.
> 
> >
> >>Digital Ocean updates pushed with cloud-init use. Cloud-init does not
> >>have any native support for systemd-resolved. It means it writes
> >>something that systemd-resolved imports into own state. I would argue
> >>that your arguments for systemd-wide configuration rules do not apply
> >>here. Either you'd need to fix cloud-init or allow for a variance in
> >>input data that comes to systemd-resolved from third parties.
> >
> >Hmm, cloud-init has no direct support for resolved.conf? But how is it
> >then that that file is modified? I don't get it?
> 
> https://github.com/canonical/cloud-init/search?q=resolved.conf --
> nothing handles resolved.conf.
> 
> It is done by something else after parsing cloud-init provided content.
> For example, on my Digital Ocean's node which is not affected by this
> bug I have /etc/sysconfig/network-scripts/ifcfg-eth0 which was written by
> cloud-init.
> 
> The network scripts update is done by
> cloudinit/net/sysconfig.py:Renderer._render_subnets() method.
> Additionally, render_network_state() writes down NetworkManager
> configuration snippet.
> 
> Does systemd-resolved parse any of those?

No.

It seems DigitalOcean added *custom code* [1] to write 
/etc/systemd/resolved.conf,
and in *that new code* they messed up the syntax. Considering that it's
new code, it seems most reasonable to just fix that.

[1] 
https://www.digitalocean.com/community/questions/fedora-33-how-to-persist-dns-settings-via-etc-resolv-conf?comment=96290
   

Zbyszek
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-02 Thread Ed Greshko

On 02/03/2021 17:30, Alexander Bokovoy wrote:

On ti, 02 maalis 2021, Ed Greshko wrote:

On 02/03/2021 06:03, Lennart Poettering wrote:

On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:


Digital Ocean updates pushed with cloud-init use. Cloud-init does not
have any native support for systemd-resolved. It means it writes
something that systemd-resolved imports into own state. I would argue
that your arguments for systemd-wide configuration rules do not apply
here. Either you'd need to fix cloud-init or allow for a variance in
input data that comes to systemd-resolved from third parties.

Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?



Pardon my "editorial" comment here.  I'm rather down on Digital Ocean.  Servers 
in their
network have been responsible for the majority of sustained brute force ssh 
attacks on my
systems.  I find myself filing multiple abuse reports with them weekly.


This can be said about pretty much every public cloud provider with
'cheap' systems that easy to deploy and remove. I see 'ssh' attacks
everywhere to any just created machine.



While I do see attacks from "everywhere" the attacks are generally short lived. 
 With
Digital Ocean I get attacks that last for hours.  I would think these kind of 
providers
could detect outgoing attacks.

Oh, well.

--
People who believe they don't make mistakes have already made one.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-02 Thread Alexander Bokovoy

On ti, 02 maalis 2021, Ed Greshko wrote:

On 02/03/2021 06:03, Lennart Poettering wrote:

On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:


Digital Ocean updates pushed with cloud-init use. Cloud-init does not
have any native support for systemd-resolved. It means it writes
something that systemd-resolved imports into own state. I would argue
that your arguments for systemd-wide configuration rules do not apply
here. Either you'd need to fix cloud-init or allow for a variance in
input data that comes to systemd-resolved from third parties.

Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?



Pardon my "editorial" comment here.  I'm rather down on Digital Ocean.  Servers 
in their
network have been responsible for the majority of sustained brute force ssh 
attacks on my
systems.  I find myself filing multiple abuse reports with them weekly.


This can be said about pretty much every public cloud provider with
'cheap' systems that easy to deploy and remove. I see 'ssh' attacks
everywhere to any just created machine.

--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-02 Thread Alexander Bokovoy

On ma, 01 maalis 2021, Lennart Poettering wrote:

On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:


> 1. Dots (".") for separating IPV4 address bytes
> 2. Colons (":") for separating IPv6 address parts, as well as separating
>   port numbers from the IP addres
> 3. Brackets ("[]") for separating ipv6 addresses from the rest of the
>   construct
> 4. Percent ("%") characters to separate interface info from the rest
> 5. Hash ("#") characters to separate SNI host name specifications
>
> Now, we currently don't use "," and ";" for separators here, but as
> these things keep growing we might need them for something soon too.

I understand your willingness to apply the same rules for multiple
options in the config files owned by systemd codebase. This, however, is
a content pushed out by external parties, not a part of systemd
proper.


It's a configuration file *owned* by resolved. it's its private
property, with defined and documented syntax. if other tools make
changes to that config files, but they better follow the documented
syntax then.

I'd be a lot more open to a more relaxed parser if this was some
"foreign" config file, not owned by resolved. i.e. /etc/resolv.conf is
owned by glibc and is maybe even more generic than that. There it's
our duty to to accept even the worst formatted files.

But resolved.conf is inherently only ours, we define the contents and
are the sole consumer of it. Hence I think we don't have to be and
shouldn't be so lenient, so that the variances remain smaller.

I mean, I#d consider the original issue here a simple bug. The
question is simply where to fix it: in cloud-init or in systemd. Given
that cloud-init is responsible for it, and given that either way
there's exactly one project to fix I think it should be cloud-init
that is fixed.


Clearly, what happened in the cases described in this thread, is that
some other configuration file was imported into resolved state and
parsing the content that came from that import was failing.

This is what I think an issue on systemd-resolved side. See below for
cloud-init part.




Digital Ocean updates pushed with cloud-init use. Cloud-init does not
have any native support for systemd-resolved. It means it writes
something that systemd-resolved imports into own state. I would argue
that your arguments for systemd-wide configuration rules do not apply
here. Either you'd need to fix cloud-init or allow for a variance in
input data that comes to systemd-resolved from third parties.


Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?


https://github.com/canonical/cloud-init/search?q=resolved.conf --
nothing handles resolved.conf.

It is done by something else after parsing cloud-init provided content.
For example, on my Digital Ocean's node which is not affected by this
bug I have /etc/sysconfig/network-scripts/ifcfg-eth0 which was written by
cloud-init.

The network scripts update is done by
cloudinit/net/sysconfig.py:Renderer._render_subnets() method.
Additionally, render_network_state() writes down NetworkManager
configuration snippet.

Does systemd-resolved parse any of those?

--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-01 Thread Michael Catanzaro
On Mon, Mar 1, 2021 at 11:03 pm, Lennart Poettering 
 wrote:

Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?


I think they've deployed something entirely custom.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-01 Thread Ed Greshko

On 02/03/2021 06:03, Lennart Poettering wrote:

On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:


Digital Ocean updates pushed with cloud-init use. Cloud-init does not
have any native support for systemd-resolved. It means it writes
something that systemd-resolved imports into own state. I would argue
that your arguments for systemd-wide configuration rules do not apply
here. Either you'd need to fix cloud-init or allow for a variance in
input data that comes to systemd-resolved from third parties.

Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?



Pardon my "editorial" comment here.  I'm rather down on Digital Ocean.  Servers 
in their
network have been responsible for the majority of sustained brute force ssh 
attacks on my
systems.  I find myself filing multiple abuse reports with them weekly.

--
People who believe they don't make mistakes have already made one.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-03-01 Thread Lennart Poettering
On Fr, 26.02.21 21:01, Alexander Bokovoy (aboko...@redhat.com) wrote:

> > 1. Dots (".") for separating IPV4 address bytes
> > 2. Colons (":") for separating IPv6 address parts, as well as separating
> >   port numbers from the IP addres
> > 3. Brackets ("[]") for separating ipv6 addresses from the rest of the
> >   construct
> > 4. Percent ("%") characters to separate interface info from the rest
> > 5. Hash ("#") characters to separate SNI host name specifications
> >
> > Now, we currently don't use "," and ";" for separators here, but as
> > these things keep growing we might need them for something soon too.
>
> I understand your willingness to apply the same rules for multiple
> options in the config files owned by systemd codebase. This, however, is
> a content pushed out by external parties, not a part of systemd
> proper.

It's a configuration file *owned* by resolved. it's its private
property, with defined and documented syntax. if other tools make
changes to that config files, but they better follow the documented
syntax then.

I'd be a lot more open to a more relaxed parser if this was some
"foreign" config file, not owned by resolved. i.e. /etc/resolv.conf is
owned by glibc and is maybe even more generic than that. There it's
our duty to to accept even the worst formatted files.

But resolved.conf is inherently only ours, we define the contents and
are the sole consumer of it. Hence I think we don't have to be and
shouldn't be so lenient, so that the variances remain smaller.

I mean, I#d consider the original issue here a simple bug. The
question is simply where to fix it: in cloud-init or in systemd. Given
that cloud-init is responsible for it, and given that either way
there's exactly one project to fix I think it should be cloud-init
that is fixed.

> Digital Ocean updates pushed with cloud-init use. Cloud-init does not
> have any native support for systemd-resolved. It means it writes
> something that systemd-resolved imports into own state. I would argue
> that your arguments for systemd-wide configuration rules do not apply
> here. Either you'd need to fix cloud-init or allow for a variance in
> input data that comes to systemd-resolved from third parties.

Hmm, cloud-init has no direct support for resolved.conf? But how is it
then that that file is modified? I don't get it?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Petr Menšík
On 2/26/21 12:10 PM, Marius Schwarz wrote:
> Am 25.02.21 um 10:51 schrieb Florian Weimer:
>>
>> Why do you think that?
>>
>> Caching DNS server availability is a commonly requested feature even in
>> data center deployments.  The way Fedora currently implements its DNS
>> client, it more or less defeats the built-in high availability mechanism
>> of DNS, and complex network-based mitigations are needed (like using
>> anycast DNS resolvers).
> 
> If you run a server farm with mailservers, you usually have antispam
> services like spamhaus enabled.
> 
> If one server from an ip adressrange is using spamhaus, spamhaus is fine
> with it.
> If a hundret ips from that ip addressrange ask spamhaus, you get blocked
> quite fast.

Nobody here requested independent iteration from root servers, right? If
a machine is caching itself, it would reduce the load to upstream
resolver. If local cache forwards cache misses to central DNS cache
configured by network administrators, no blocking should ever happen.
systemd-resolved or dnsmasq are incapable of independent resolving, they
always need upstream iterative resolver doing work for them. Unbound is
capable of doing that, but that was not proposed by nobody. Forwarders
usage is always expected by default. It might depend on how to choose
them only.

Local cache is especially useful on DNS intensive service, which SMTP
with various spam filters tends to be. Spamhaus wants prevention of
unconfigured unbound or bind caches, which would without additional
configuration iterate from root servers. Just add forwarders to shared
network cache.
> 
> The cache on the server itself, is of limit use here. Thats why you use
> a central dns cache on one server,
> so anyone benefits from the caching and spamhaus is happy : win-win.
> 
> On a desktop / laptop you won't have such a scenario in the first place,
> here local caching makes more sense.
Multi layer caching is supported by DNS. Having local cache on the host
does not prevent caching also by a big DNS cache for whole network. On
the contrary. It is a bit suppressed by DNS over TLS/HTTPS, but default
configuration still should obtain DNS from DHCP/autoconfiguration. On
servers, clients, VMs and containers.
> 
> best regards,
> Marius Schwarz-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Alexander Bokovoy

On pe, 26 helmi 2021, Lennart Poettering wrote:

On Mi, 24.02.21 22:08, Alexander Bokovoy (aboko...@redhat.com) wrote:


I think one of the issues reported in the discussion you mention was
that systemd-resolved considered invalid a DNS= line where addresses
were separated by a comma rather than space. Can systemd-resolved be
improved to allow common separators like both space and comma?


I am not a fan of such needless ambiguity, and it's not going to
retroactively fix the original reporter's configuration that has now
been fixed anyway... Moreover, across the systemd codebase in
configuration files we so far stuck to using mostly whitespace for
separating multiple values on the same config option line.

The thing is: separator characters end up being used for various other
purposes sooner or later. For example the DNS= lines in resolved.conf
already uses:

1. Dots (".") for separating IPV4 address bytes
2. Colons (":") for separating IPv6 address parts, as well as separating
  port numbers from the IP addres
3. Brackets ("[]") for separating ipv6 addresses from the rest of the
  construct
4. Percent ("%") characters to separate interface info from the rest
5. Hash ("#") characters to separate SNI host name specifications

Now, we currently don't use "," and ";" for separators here, but as
these things keep growing we might need them for something soon too.


I understand your willingness to apply the same rules for multiple
options in the config files owned by systemd codebase. This, however, is
a content pushed out by external parties, not a part of systemd proper.

As pointed out by Michael in this discussion, Digital Ocean uses ',' to
separate DNS servers pushed out by cloud-init. I don't think they are
alone in this.

Digital Ocean updates pushed with cloud-init use. Cloud-init does not
have any native support for systemd-resolved. It means it writes
something that systemd-resolved imports into own state. I would argue
that your arguments for systemd-wide configuration rules do not apply
here. Either you'd need to fix cloud-init or allow for a variance in
input data that comes to systemd-resolved from third parties.


--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Michael Catanzaro



On Fri, Feb 26, 2021 at 9:06 am, Lennart Poettering 
 wrote:

Note that as I understood it the original reporter's issue wasn't even
caused by concious editing of the configuration file, but was done
automatically by some other tool/copy pasted from elsewhere? i.e. it's
a bit much to expect people to understand enough DNS to fix up stuff
manually that other tools broke for them. And the original reporter
is a seasoned a Linux guy, even.


Turns out DigitalOcean's agent is adding 67.207.67.2,67.207.67.3 with 
the comma when the system boots:


https://www.digitalocean.com/community/questions/fedora-33-how-to-persist-dns-settings-via-etc-resolv-conf?comment=96290

Alas.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Marius Schwarz

Am 25.02.21 um 10:51 schrieb Florian Weimer:


Why do you think that?

Caching DNS server availability is a commonly requested feature even in
data center deployments.  The way Fedora currently implements its DNS
client, it more or less defeats the built-in high availability mechanism
of DNS, and complex network-based mitigations are needed (like using
anycast DNS resolvers).


If you run a server farm with mailservers, you usually have antispam 
services like spamhaus enabled.


If one server from an ip adressrange is using spamhaus, spamhaus is fine 
with it.
If a hundret ips from that ip addressrange ask spamhaus, you get blocked 
quite fast.


The cache on the server itself, is of limit use here. Thats why you use 
a central dns cache on one server,

so anyone benefits from the caching and spamhaus is happy : win-win.

On a desktop / laptop you won't have such a scenario in the first place, 
here local caching makes more sense.


best regards,
Marius Schwarz
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Petr Menšík
On 2/26/21 9:06 AM, Lennart Poettering wrote:
> On Do, 25.02.21 23:58, Petr Menšík (pemen...@redhat.com) wrote:
> 
>> No, I don't think so. Anyone who manages the system should have basic
>> understanding how to configure it. If not obvious, needs good
>> documentation at hand. Extremely high level is not writing lines into
>> configuration file in documented format. I think we switched to nano
>> editor to make it friendly. Sure, he won't be able to google help from
>> the machine. Fortunately, most of us have got smartphone able to google
>> almost anything.
> 
> I am sorry, but I think we have to agree that we are designing
> software for a different group of people. I certainly don't want to
> assume a level of Linux expertise from our audience that they all can
> reconfigure DNS. I think it's a general problem of developers like us
> to assume that everyone has the same level of understanding of our
> favourite technology as us. i.e. don't assume that because you know
> DNS quite well, everyone else does too, or even just heard of DNS at all...

I am not sure about it. It is not really different. People missing
expertise have to fill bugs or report issues to people with appropriate
level of expertise. I would not ask my mum to fix this and she would not
even attempt to. She would just complain to me it does not work as it
should. Because it does not hide failures, the person with expertise can
check the problem and fix it properly. Sure, it will cause interruption.
But makes the service more reliable for everyone. Usually
auto-configuration is for people without the expertise, I hope we agree
in that.

> Note that as I understood it the original reporter's issue wasn't even
> caused by concious editing of the configuration file, but was done
> automatically by some other tool/copy pasted from elsewhere? i.e. it's
> a bit much to expect people to understand enough DNS to fix up stuff
> manually that other tools broke for them. And the original reporter
> is a seasoned a Linux guy, even.

The tool was broken by not enough tested change in F33. It should have
been found during testing period. Even seasoned Linux guy haven't
noticed it was broken until hidden fallback were removed. So again.
Broken configuration must appear broken to be fixed. The fix should be
prepared by someone with expertise, but they have to receive a bug
report first.

> 
> And the idea that "nano" was a flagship of user friendliness sounds,
> …umm… a bit strange to me. I mean, maybe it's not as arcane as
> vi, but come on it's admittedly just one step down from there.
> 
>> But you forgot some decision were made for the user without his
>> knowledge or his approval. That is wrong.
> 
> We make decisions for our users all the time. *All* *the*
> *time*. Fedora is a product of developer decisions.
> 
> Lennart
> 

I would just point you to related DNS flag day 2019 [1]. Those guys were
pilling workaround over workarounds in DNS server software. After 20
years they have realized it costs a lot of unnecessary work. So, it
might may sense to provide workaround, but it should always include
plan, when it would be removed again. Sometimes the other party has to
be pushed to follow the rules instead of bending our own.

Cheers,
Petr

1. https://dnsflagday.net/2019/

-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Lennart Poettering
On Mi, 24.02.21 15:08, Michael Catanzaro (mcatanz...@gnome.org) wrote:

> FWIW I agree that systemd-resolved is *much* less important for servers and
> containers than it is on desktops.
>
> That said, the benefit of having a DNS cache is very real, as is the benefit
> of a unified, standardized API for controlling your DNS configuration that's
> the same regardless of which type of system you are running.

I agree with both these statements btw.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-26 Thread Lennart Poettering
On Do, 25.02.21 23:58, Petr Menšík (pemen...@redhat.com) wrote:

> No, I don't think so. Anyone who manages the system should have basic
> understanding how to configure it. If not obvious, needs good
> documentation at hand. Extremely high level is not writing lines into
> configuration file in documented format. I think we switched to nano
> editor to make it friendly. Sure, he won't be able to google help from
> the machine. Fortunately, most of us have got smartphone able to google
> almost anything.

I am sorry, but I think we have to agree that we are designing
software for a different group of people. I certainly don't want to
assume a level of Linux expertise from our audience that they all can
reconfigure DNS. I think it's a general problem of developers like us
to assume that everyone has the same level of understanding of our
favourite technology as us. i.e. don't assume that because you know
DNS quite well, everyone else does too, or even just heard of DNS at all...

Note that as I understood it the original reporter's issue wasn't even
caused by concious editing of the configuration file, but was done
automatically by some other tool/copy pasted from elsewhere? i.e. it's
a bit much to expect people to understand enough DNS to fix up stuff
manually that other tools broke for them. And the original reporter
is a seasoned a Linux guy, even.

And the idea that "nano" was a flagship of user friendliness sounds,
…umm… a bit strange to me. I mean, maybe it's not as arcane as
vi, but come on it's admittedly just one step down from there.

> > Hence, it's inherently a *good* thing to have a fallback in place, and
> > I think it's a disserve to users to turn this off, as it makes systems
> > much harder to fix.
> >
> > And yeah, call me a hypocrite, but if I have the choice between having
> > no Internet at all or using some public DNS servers for DNS, and
> > leaking a tiny bit of information to those DNS server providers then I
> > am definitely preferring to have Internet, thank you very much.
>
> But you forgot some decision were made for the user without his
> knowledge or his approval. That is wrong.

We make decisions for our users all the time. *All* *the*
*time*. Fedora is a product of developer decisions.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Lennart Poettering
On Mi, 24.02.21 22:08, Alexander Bokovoy (aboko...@redhat.com) wrote:

> I think one of the issues reported in the discussion you mention was
> that systemd-resolved considered invalid a DNS= line where addresses
> were separated by a comma rather than space. Can systemd-resolved be
> improved to allow common separators like both space and comma?

I am not a fan of such needless ambiguity, and it's not going to
retroactively fix the original reporter's configuration that has now
been fixed anyway... Moreover, across the systemd codebase in
configuration files we so far stuck to using mostly whitespace for
separating multiple values on the same config option line.

The thing is: separator characters end up being used for various other
purposes sooner or later. For example the DNS= lines in resolved.conf
already uses:

1. Dots (".") for separating IPV4 address bytes
2. Colons (":") for separating IPv6 address parts, as well as separating
   port numbers from the IP addres
3. Brackets ("[]") for separating ipv6 addresses from the rest of the
   construct
4. Percent ("%") characters to separate interface info from the rest
5. Hash ("#") characters to separate SNI host name specifications

Now, we currently don't use "," and ";" for separators here, but as
these things keep growing we might need them for something soon too.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Petr Menšík
I disagree and do more below :)

On 2/23/21 2:49 PM, Lennart Poettering wrote:
> On Mo, 22.02.21 09:45, Michael Catanzaro (mcatanz...@gnome.org) wrote:
> 65;6201;1c
>> On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz  wrote:
>>> 3) Configure DNS resolvers if you want to use DNS.
>>> Or dig deeper: why cloud-init disabled DNS on your installation?
>>
>> I'm pretty sure cloud-init just doesn't know how to configure
>> systemd-resolved at all. So I suspect this is a cloud-init bug. See:
>> https://pagure.io/fedora-server/issue/10.
>>
>> I have no strong opinion on whether the fallback should have been removed or
>> not. The fallback was only hiding the real problem, after all.
> 
> BTW, just to say this clearly. I think this argument is bogus and very
> user unfriendly. I think it's generally better to complain to the logs
> and still make things work automatically with a fallback than to just
> say "Nope, I was given invalid configuration and now I refuse to
> work". Because originally this is what resolved did: we had a
> last-resort fallback to provide DNS via a bunch of public DNS servers
> if nothing else is available, and we log if we are given invalid
> config. We use the fallback only as ultimate fallback, when the other
> option is to not work at all.
No, this was already discussed and consensus were reached. last-resort
fallbacks MUST NOT cover bugs and they did it here. Good fallback would
be extracting addresses from configuration, even when delimited by a
garbage. User provided configuration must be followed. If wrong, it must
say so in way user will notice. All daemons I manage do that nice and
friendly way: print line number and file, where the mistake is. And
print in red: FAILED to run. It is up to user to fix it, comment it out
or disable non-obeying service. But has to be his decision.
> 
> The thing is that if DNS is fucked, then this is a pretty nasty
> problem: you need an extremely high level of understanding computers
> to be able to fix this. And you can't even get help, because, well,
> your DNS is down, you are not getting online.
No, I don't think so. Anyone who manages the system should have basic
understanding how to configure it. If not obvious, needs good
documentation at hand. Extremely high level is not writing lines into
configuration file in documented format. I think we switched to nano
editor to make it friendly. Sure, he won't be able to google help from
the machine. Fortunately, most of us have got smartphone able to google
almost anything.
> 
> Hence, it's inherently a *good* thing to have a fallback in place, and
> I think it's a disserve to users to turn this off, as it makes systems
> much harder to fix.
> 
> And yeah, call me a hypocrite, but if I have the choice between having
> no Internet at all or using some public DNS servers for DNS, and
> leaking a tiny bit of information to those DNS server providers then I
> am definitely preferring to have Internet, thank you very much.
But you forgot some decision were made for the user without his
knowledge or his approval. That is wrong. If user needs easy way to
working internet, offer him simple solution. Like:
systemctl start systemd-resolved-fallback
or
resolvectl use-fallback

Print this command in red on last line in sytemctl status
systemd-resolved. If he cannot find where the error is, he should ask
someone to manage his machine. To protect himself. Or have to dig into
system a bit and learn, where it is wrong.
> 
> One could even go further: the privacy level using those public DNS
> servers might actually be higher than using the DHCP-provided ones in
> many cases, simple because we can use DoT on the former (admittedly
> not yet the default in resolved though, but hopefully soon), but
> almost never can on the latter, and what's worse the latter are
> usually provided by crappy edge networks like Internet Cafés and such
> where the fact we send stuff unencrypted is just awful.
Problem is you usually have some agreement with the network you are
connecting to. You usually know who provides it, you can ask under which
rules they do. Not for hidden service somewhere as fallback.

DoT is often just fake sense of privacy. Most TLS sessions still send
unencrypted host in SNI headers, making DNS encryption not effective in
hiding their real target. Target IPs can often tell a lot too. If you
need real privacy, use VPN. Or better, choose a connection provider you
trust.

> 
> Now, Fedora made its choice here, and I'll accept that, but I still
> think it's a bad one, that trades a misunderstood concept of privacy
> against a major step forward in userfriendliness. i.e. I am not sure
> it's a good choice to limit Fedora's userspace needlessly to people
> who can fix their DNS configuration. It's a pretty tiny elite group of
> people to be in after all...
Hiding configuration errors just into logs is unfriendly. Ever since
Windows 95, very basic network configuration required two steps.
Configuring IP address, netmask 

Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Kevin Kofler via devel
Michael Catanzaro wrote:
> Servers don't need split DNS. Desktops do. Without a DNS cache, your
> DNS will be slower. Without split DNS, your DNS may not work properly
> at all.

Not all desktops need split DNS. Most desktop users don't even have anything 
to split the DNS over. (It needs either at least 2 active physical 
connections (multihoming, very uncommon on desktops) or at least 1 VPN (more 
common, but only for tech-savvy users).)

Kevin Kofler
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Petr Menšík
No, this is not true. DNS servers had for ages ability to forward
selected domains to specified list of addresses. All DNS caches have the
ability to do it for no reason.

Servers do not have automatic configuration of split DNS only, because
often do not have multiple connections. But I think VPNs could be also
used to interconnect networks and selected DNS forwarding might still be
benefical for it.

However, servers need a proper DNS service. Very often they depend on
DNSSEC for mail filtering. They should protect their precious caches
with signatures. DNSSEC disabled by default, even when upstream service
provides perfectly working DNS, is just failure on our side.
Especially on servers, when DNSSEC readines would be much more common
than on crappy cheap home routers.

Remote DNS does not have to be much slower. If you have dedicated
resolver on the same LAN as you, your own cache might not help you much.
Depends a lot on specific applications usage.

On 2/25/21 4:42 PM, Michael Catanzaro wrote:
> On Thu, Feb 25, 2021 at 10:51 am, Florian Weimer 
> wrote:
>> Why do you think that?
> 
> Servers don't need split DNS. Desktops do. Without a DNS cache, your DNS
> will be slower. Without split DNS, your DNS may not work properly at all.

-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Michael Catanzaro
On Thu, Feb 25, 2021 at 10:51 am, Florian Weimer  
wrote:

Why do you think that?


Servers don't need split DNS. Desktops do. Without a DNS cache, your 
DNS will be slower. Without split DNS, your DNS may not work properly 
at all.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Florian Weimer
* Michael Catanzaro:

> FWIW I agree that systemd-resolved is *much* less important for
> servers and containers than it is on desktops.

Why do you think that?

Caching DNS server availability is a commonly requested feature even in
data center deployments.  The way Fedora currently implements its DNS
client, it more or less defeats the built-in high availability mechanism
of DNS, and complex network-based mitigations are needed (like using
anycast DNS resolvers).

Thanks,
Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-25 Thread Peter Boy


> Am 24.02.2021 um 20:19 schrieb Lennart Poettering :
> 
> On Mi, 24.02.21 12:49, Paul Wouters (p...@nohats.ca) wrote:
> 
> 
> I think the caching and DoT stuff that resolved provides is useful on
> any system, and that includes servers, and I think it would be good to
> minimize the difference in the APIs (and that includes D-Bus APIs)
> when we can. So I'd recommend doing resolved on server images too.

You have a good point about caching. And I like the emphasis on usability (in 
an earlier post. That may be one reason for the wide acceptance of systemd, 
despite all the criticism). 

But for Fedora Server, I definitely want an unmissable indication of a 
configuration error (and log entries are too easy to miss, especially when I 
don't see a problem). So instead of (more or less silent) fallback, a fail. 

For Fedora Workstation, I see resolved as a real step forward. 

But for Fedora Server it would need a tighter integration of / cooperation with 
libvirt virtualisation and also NetworkManager in the medium term. 


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Michael Catanzaro
FWIW I agree that systemd-resolved is *much* less important for servers 
and containers than it is on desktops.


That said, the benefit of having a DNS cache is very real, as is the 
benefit of a unified, standardized API for controlling your DNS 
configuration that's the same regardless of which type of system you 
are running.


On Wed, Feb 24, 2021 at 3:18 pm, Paul Wouters  wrote:
I'm confused here too, since AFAIK NM does not support tying queries 
for

certain domains to certain nameservers,


No, it does. If it didn't, we would not have working split DNS, since 
NetworkManager must propagate its configuration down to 
systemd-resolved.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Paul Wouters

On Wed, 24 Feb 2021, Colin Walters wrote:


It's trickier than that because local caching nameservers can provide real 
benefits in various server scenarios, and also the IoT/edge case (as usual) 
blurs the traditional datacenter/mobile boundary.  (IoT can be servers with 
WiFi)

We ended up enabling resolved in FCOS, although it took a bit because it broke 
OpenShift, see:
https://github.com/openshift/okd-machine-os/pull/15
https://github.com/openshift/machine-config-operator/pull/2377
https://github.com/openshift/okd-machine-os/pull/47
etc.


It's hard to read through those. It's a big nest of issues, fixes and
reverts on adding/removing systemd-resolved. I couldn't figure out
the DNS setup based on these reports.


(It's really complex for OpenShift because we have a split between the host DNS 
and pod DNS which is served by CoreDNS, yet some cases span those, plus some 
on-premise installs differ from cloud/Iaas in this)


I'm confused here too, since AFAIK NM does not support tying queries for
certain domains to certain nameservers, and I was told that NM
configures DNS, not systemd-resolved, so how is that done in this case
then? For VPN, to support split-DNS you ran a full resolver like
unbound that has this support, and does not get configured through NM.

I guess I can't say more unless someone can point me to some
documentation on the DNS deployment details there. However, this
all changes nothing that different systems want to use different
DNS solutions, and making systemd-resolved part of the init package
so it is mandatory to install is not appropriate.

Paul
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Alexander Bokovoy

On ke, 24 helmi 2021, Lennart Poettering wrote:

On Mi, 24.02.21 12:49, Paul Wouters (p...@nohats.ca) wrote:


The scenario of roaming laptops/phones is completely different from
this. Which is why I have argued for a long time now that
systemd-resolved should not be installed by default on servers or
containers. It adds complexity without any real gain in these
deployments and makes DNS issues harder to troubleshoot.


There are two kinds of containers: docker-style containers that only
have a single process (more or less) in them, or nspawn-style
containers that have a full init system in them, that may run their
own network management solution and maybe sshd or so, that basically
behave like a VM (except they don't do any hw/storage management
themselves, but leave that to the host).

I think for nspawn-style containers the difference to the host should
be kept at a minimum, and thus whatever a host running the same OS
would run should also run inside the container. For docker-style
containers the same obviously doesn't apply: if there's no init system
inside the container it doesn't really make sense to run arbitrary
services (and resolved is one) in them either.


We run FreeIPA in a nspawn-style containers (podman rootless containers
since Fedora 33) and we actually would benefit from the ability to
disable systemd-resolved for the cases when IPA is deployed with
integrated DNS server. Right now we are configuring systemd-resolved
during IPA installation with integrated DNS to pass-through requests for
IPA-hosted primary DNS zone to the local IPA DNS server but this is not
enough as users can (and probably would) add multiple DNS zones. Setting
a routing domain '~.' is probably a too much of an overhead here.



I think the caching and DoT stuff that resolved provides is useful on
any system, and that includes servers, and I think it would be good to
minimize the difference in the APIs (and that includes D-Bus APIs)
when we can. So I'd recommend doing resolved on server images too.


This seems contradicting? The last resort method only sends all DNS
queries to google as a last resort? It still means that in 100% of
the cases that the last resort is activated, it sends all traffic to
google? Furthermore, since it hides that this is happening, once
the network is broken, it never gets fixed, and thus leads to the
fallback always kicking in.


We do log on invalid configuration (such as the invalid DNS= lines
discussed earlier on this ML), as mentioned. And then proceed without
it, so that the fallback paths might apply (unless we can acquire DNS
info from elsewhere, e.g. DHCP).


I think one of the issues reported in the discussion you mention was
that systemd-resolved considered invalid a DNS= line where addresses
were separated by a comma rather than space. Can systemd-resolved be
improved to allow common separators like both space and comma?



--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Lennart Poettering
On Mi, 24.02.21 12:49, Paul Wouters (p...@nohats.ca) wrote:

> The scenario of roaming laptops/phones is completely different from
> this. Which is why I have argued for a long time now that
> systemd-resolved should not be installed by default on servers or
> containers. It adds complexity without any real gain in these
> deployments and makes DNS issues harder to troubleshoot.

There are two kinds of containers: docker-style containers that only
have a single process (more or less) in them, or nspawn-style
containers that have a full init system in them, that may run their
own network management solution and maybe sshd or so, that basically
behave like a VM (except they don't do any hw/storage management
themselves, but leave that to the host).

I think for nspawn-style containers the difference to the host should
be kept at a minimum, and thus whatever a host running the same OS
would run should also run inside the container. For docker-style
containers the same obviously doesn't apply: if there's no init system
inside the container it doesn't really make sense to run arbitrary
services (and resolved is one) in them either.

I think the caching and DoT stuff that resolved provides is useful on
any system, and that includes servers, and I think it would be good to
minimize the difference in the APIs (and that includes D-Bus APIs)
when we can. So I'd recommend doing resolved on server images too.

> This seems contradicting? The last resort method only sends all DNS
> queries to google as a last resort? It still means that in 100% of
> the cases that the last resort is activated, it sends all traffic to
> google? Furthermore, since it hides that this is happening, once
> the network is broken, it never gets fixed, and thus leads to the
> fallback always kicking in.

We do log on invalid configuration (such as the invalid DNS= lines
discussed earlier on this ML), as mentioned. And then proceed without
it, so that the fallback paths might apply (unless we can acquire DNS
info from elsewhere, e.g. DHCP).

We currently do not log on non-existing configuration, i.e. if there's
networking available but no DNS server configured anywhere, and no DHCP
lease and nowhere else either. If figure we could print a short log
message in this case however, that would be useful I guess. I posted
an RFE bug about this now, to keep track of this.

https://github.com/systemd/systemd/issues/18788

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Colin Walters


On Wed, Feb 24, 2021, at 12:49 PM, Paul Wouters wrote:
>  Which is why I have argued for a long time now that
> systemd-resolved should not be installed by default on servers or
> containers. It adds complexity without any real gain in these
> deployments and makes DNS issues harder to troubleshoot.

It's trickier than that because local caching nameservers can provide real 
benefits in various server scenarios, and also the IoT/edge case (as usual) 
blurs the traditional datacenter/mobile boundary.  (IoT can be servers with 
WiFi)

We ended up enabling resolved in FCOS, although it took a bit because it broke 
OpenShift, see:
https://github.com/openshift/okd-machine-os/pull/15
https://github.com/openshift/machine-config-operator/pull/2377
https://github.com/openshift/okd-machine-os/pull/47
etc.

(It's really complex for OpenShift because we have a split between the host DNS 
and pod DNS which is served by CoreDNS, yet some cases span those, plus some 
on-premise installs differ from cloud/Iaas in this)



___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Paul Wouters

On Tue, 23 Feb 2021, Lennart Poettering wrote:


And yeah, call me a hypocrite, but if I have the choice between having
no Internet at all or using some public DNS servers for DNS, and
leaking a tiny bit of information to those DNS server providers then I
am definitely preferring to have Internet, thank you very much.


In practise, this is not often the case. Almost always, the network will
provide working DNS via DHCP. If not, then the network is severely
broken and hacking up a DNS workaround is likely to fail anyway. Like,
you can't get past hotspot/captive portal.

Newly installed and booted server/cloud images should _really_ use the
DHCP obtained DNS servers. It is very likely their correct functioning
depends on local DNS zones and local resources pointed to by DNS not
available when bypassing the local DNS for public DNS services. It is
also likely that those networks even restrict DNS to only allow their
own DNS servers to be used for security and compliance reasons, and
using public DNS would be a violation of network policy.

The scenario of roaming laptops/phones is completely different from
this. Which is why I have argued for a long time now that
systemd-resolved should not be installed by default on servers or
containers. It adds complexity without any real gain in these
deployments and makes DNS issues harder to troubleshoot.


One could even go further: the privacy level using those public DNS
servers might actually be higher than using the DHCP-provided ones in
many cases, simple because we can use DoT on the former (admittedly
not yet the default in resolved though, but hopefully soon), but
almost never can on the latter, and what's worse the latter are
usually provided by crappy edge networks like Internet Cafés and such
where the fact we send stuff unencrypted is just awful.


I agree with this, but the caveat here is that the solution should take
into account isolating the hotspot/signon network from the OS, and not
mix that into your caches when you later bring up more private/trustworthy
DNS servers. But as I said, I'm fine with the default of
systemd-resolved here, although I would strongly prefer to be able to
not install or remove the package for advanced users like me with
specific DNS and DNSSEC requirements that cannot have systemd-resolved
interfering with the system.


Now, Fedora made its choice here, and I'll accept that, but I still
think it's a bad one, that trades a misunderstood concept of privacy
against a major step forward in userfriendliness. i.e. I am not sure
it's a good choice to limit Fedora's userspace needlessly to people
who can fix their DNS configuration. It's a pretty tiny elite group of
people to be in after all...


It seems to have a price of network administrators having their DNS
broken in a string of different ways resulting in filed bugs at
systemd upstream that takes years to get addressed. It can be argued
that this price is too high for the feature of helping nontechnical
laptop users that stumbled into a broken network.

Meanwhile, applications like firefox are absorbing DNS anyway, adding
another layer in the fight over who gets to configure and process DNS:
DHCP, systemd-resolved, NetworkManager, Gnome, or applications.


(Oh, and I don't appreciate those people at all, who claim that
"resolved sends all DNS lookups" to Google because it's a lie, we
never did that, we only did that in case no better DNS configuration
was available, i.e. as *last* *resort*, one step before giving up
entirely).


This seems contradicting? The last resort method only sends all DNS
queries to google as a last resort? It still means that in 100% of
the cases that the last resort is activated, it sends all traffic to
google? Furthermore, since it hides that this is happening, once
the network is broken, it never gets fixed, and thus leads to the
fallback always kicking in.

If anything, these recurring discussions, and long turnover of
systemd-resolverd bugs show that systemd-resolved should be a choice
and not being pushed as mandatory. And I am fine with saying that for
Workstation or Desktop installs, we lean to the side of userfriendly
and give them systemd-resolved. But it has no place as a default
binary or service on servers, containers or cloud images launched
within actively managed networks.

Paul
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Colin Walters


On Wed, Feb 24, 2021, at 9:19 AM, Tadej Janež wrote:
>
> This is the thing that is probably hurting users the most. They have a
> working F33 cloud instance and after systemd is upgraded, the instance
> will *probably* (i.e. if users didn't configure DNS themselves and
> relied on cloud-init) be heavily broken, i.e. DNS resolution not
> working.

For Fedora CoreOS one of our principles is that the system is identical across 
bare metal and cloud; we force bare metal system installs into extra 
provisioning ("install" is "dd image to disk") in order to make sure that 
Ignition and everything involved runs in a uniform fashion.  There's no 
cloud-init vs kickstart vs something else. 

We use NetworkManager across the board for the same reason.

And, we also have unified CI that tests the entire OS image (ostree commit) as 
a single unit before shipping out updates to everyone.  And we also do "staged 
rollouts" so that if we did encounter a problem like this, we can stop the 
rollout so not everyone would get hit.

We also have automatic updates on by default - we couldn't do that without the 
above.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Kevin Kofler via devel
Tadej Janež wrote:
> On Tue, 2021-02-23 at 00:02 +0100, Kevin Kofler via devel wrote:
>> It is unfortunate that this behavior has changed in an update.
> 
> This is the thing that is probably hurting users the most. They have a
> working F33 cloud instance and after systemd is upgraded, the instance
> will *probably* (i.e. if users didn't configure DNS themselves and
> relied on cloud-init) be heavily broken, i.e. DNS resolution not
> working.
> 
> I actually think it would still be beneficial to flip this change, i.e.
> remove the "-Ddns-servers=" line
> (https://src.fedoraproject.org/rpms/systemd/blob/f33/f/systemd.spec#_372
> ), for the next F33 systemd update.

Sorry, but at this point, the update has happened, and the new state is 
really the desired state, so I do not believe that going back and forth 
would be an improvement.

Kevin Kofler
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Tadej Janež
On Tue, 2021-02-23 at 00:02 +0100, Kevin Kofler via devel wrote:
> Well, this silent fallback behavior is one of the reasons I have
> refused to 
> use systemd-resolved at all so far.
> 
> The issue with the cloud setups would also have been caught much
> earlier if 
> it had failed right away and not silently used an external DNServer. 
> Ignoring broken configuration and just using the default is not
> useful error 
> handling.

I guess having a fallback is a double-edged sword. On one hand, indeed,
this issue with broken cloud-init would have been caught earlier, but
on the other hand, some people couldn't care less which DNS servers are
being used if things "just work".

> 
> And the real issue is that systemd-resolved has broken cloud-init, so
> cloud-init needs to be fixed/updated.

Yes, this is the main issue for cloud setups.

However, enabling/disabling a fallback is still an issue on its own. I
wouldn't add much more since I think Lennart summed that up pretty well
in his post.

> It is unfortunate that this behavior has changed in an update.

This is the thing that is probably hurting users the most. They have a
working F33 cloud instance and after systemd is upgraded, the instance
will *probably* (i.e. if users didn't configure DNS themselves and
relied on cloud-init) be heavily broken, i.e. DNS resolution not
working.

I actually think it would still be beneficial to flip this change, i.e.
remove the "-Ddns-servers=" line
(https://src.fedoraproject.org/rpms/systemd/blob/f33/f/systemd.spec#_372
), for the next F33 systemd update.

>  This has 
> happened because all the complaints about the old behavior back when
> the 
> Change proposal was discussed (i.e., BEFORE Fedora 33 was released)
> were 
> completely ignored by the Change owners and by FESCo (even though the
> fix 
> was apparently a one-line change that could easily have been made
> before the 
> release).

I didn't follow that so I can't comment on it.





signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-24 Thread Marius Schwarz

Am 23.02.21 um 20:34 schrieb Zbigniew Jędrzejewski-Szmek:


Everything, that is not prepresenting a person, is not regulated by
GDPR, therefor it does not "need" to comply.

No. GDPR is about "personally identifying information". In particular,
it talks about information which may be combined with other information
(now or in the future) to identify a specific person. And an IP address
falls into this category in the general case.

The scenario we are considering here is e.g. a company which provides
computers with Fedora installed to its employees or customers. Whatever
resolver is used gets the source IP information which as described
above can be identifying (depending on the network setup and other
circumstances). By removing the fallback, we're removing a possible
information expose and violation of the law by the company.


I didn't say anything else ;)

If a  PC in a companies network, is accessing the companies dns cache, 
the dns cache uses it's own ip for the root dns request, hiding the 
personal IP from that root dns.  This is fine.


If the copmanies DNS cache is failing and the PC is falling back, using 
IPv6 to connect to a fallback server, that is an issue.


 I personally think, IPv4 doesn't matter here, as most companies do use 
NAT to connect the lan to the outside world. Individual traceback is no 
possible that way.


Which leads to the conclusion, that a workstation should not have 
fallbackservers for dns, where Cloudinstances need to check that 
requirement themselves as it matters how and where they do dns. It 
relies heavily on the service and how many people use it.


Best regards,
Marius Schwarz
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Feb 23, 2021 at 01:18:08PM +0100, Marius Schwarz wrote:
> Am 22.02.21 um 11:17 schrieb Zbigniew Jędrzejewski-Szmek:
> >>1) Use different defaults for different Fedora editions, e.g. container
> >>and cloud images include the fallback DNS servers list while
> >>workstation (and similar) images don't.
> >Yes, I think this would be the way to go.
> Everything, that is not prepresenting a person, is not regulated by
> GDPR, therefor it does not "need" to comply.

No. GDPR is about "personally identifying information". In particular,
it talks about information which may be combined with other information
(now or in the future) to identify a specific person. And an IP address
falls into this category in the general case.

The scenario we are considering here is e.g. a company which provides
computers with Fedora installed to its employees or customers. Whatever
resolver is used gets the source IP information which as described
above can be identifying (depending on the network setup and other
circumstances). By removing the fallback, we're removing a possible
information expose and violation of the law by the company.

> About fallbacks in general:
> 
> Es the example shows cleary to me, having fallback dns means, that
> you do not see, that your dns config is faulty
> and will fail in unexpected ways.

The issue was logged at warning level. So "do not see" is relative —
it certainly was possible to "see", though maybe not very visible.

Zbyszek

P.S. I like to do 'journalctl -b -p notice' after upgrades to look for
such issues, but sadly there is so much noise in the logs that issues
get lost. I would love to reach a state where any entry in the logs
(at notice or above) that shouldn't be there is treated as a bug to fix.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Tadej Janež
On Tue, 2021-02-23 at 08:19 -0600, Michael Catanzaro wrote:
> On Tue, Feb 23, 2021 at 10:37 am, Tadej Janež  wrote:
> > I guess this is a simple solution that would work, but from what I
> > understand it would also disable the use of systemd-resolved?
> 
> Nah, it should just switch systemd-resolved into a consumer mode,
> where 
> it reads configuration from /etc/resolv.conf and uses that as its 
> source of truth. Applications using glibc for name resolution (i.e. 
> almost everything) will still talk to systemd-resolved and ignore 
> /etc/resolv.conf.

Oh, I see. Thanks for the explanation.

> That's not the default configuration in Fedora, though. Writing to a 
> /etc/systemd/resolved.conf.d/*cloud-init.conf would be better though,
> since it would avoid major changes to how systemd-resolved works.

Agreed.



signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Neal Gompa
On Tue, Feb 23, 2021 at 9:20 AM Michael Catanzaro  wrote:
>
> On Tue, Feb 23, 2021 at 11:18 am, Petr Menšík 
> wrote:
> > Who uses cloud-init to prepare containers? Is it end user on his
> > system?
>
> cloud-init is designed for VPS systems. I don't think it's expected to
> be used in containers. I'm sympathetic to your view that running
> systemd-resolved in containers is not very useful, but that seems like
> another topic entirely. (Does it really get run in containers today?
> That would require systemd to be pid 1 in the container, right?)
>

nspawn containers typically behave a lot like VMs, just using the
shared kernel. So they would start init and activate login and such.



-- 
真実はいつも一つ!/ Always, there's only one truth!
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Michael Catanzaro
On Tue, Feb 23, 2021 at 11:18 am, Petr Menšík  
wrote:
Who uses cloud-init to prepare containers? Is it end user on his 
system?


cloud-init is designed for VPS systems. I don't think it's expected to 
be used in containers. I'm sympathetic to your view that running 
systemd-resolved in containers is not very useful, but that seems like 
another topic entirely. (Does it really get run in containers today? 
That would require systemd to be pid 1 in the container, right?)


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Michael Catanzaro

On Tue, Feb 23, 2021 at 10:37 am, Tadej Janež  wrote:

I guess this is a simple solution that would work, but from what I
understand it would also disable the use of systemd-resolved?


Nah, it should just switch systemd-resolved into a consumer mode, where 
it reads configuration from /etc/resolv.conf and uses that as its 
source of truth. Applications using glibc for name resolution (i.e. 
almost everything) will still talk to systemd-resolved and ignore 
/etc/resolv.conf.


That's not the default configuration in Fedora, though. Writing to a 
/etc/systemd/resolved.conf.d/*cloud-init.conf would be better though, 
since it would avoid major changes to how systemd-resolved works.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Lennart Poettering
On Mo, 22.02.21 09:45, Michael Catanzaro (mcatanz...@gnome.org) wrote:
65;6201;1c
> On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz  wrote:
> > 3) Configure DNS resolvers if you want to use DNS.
> > Or dig deeper: why cloud-init disabled DNS on your installation?
>
> I'm pretty sure cloud-init just doesn't know how to configure
> systemd-resolved at all. So I suspect this is a cloud-init bug. See:
> https://pagure.io/fedora-server/issue/10.
>
> I have no strong opinion on whether the fallback should have been removed or
> not. The fallback was only hiding the real problem, after all.

BTW, just to say this clearly. I think this argument is bogus and very
user unfriendly. I think it's generally better to complain to the logs
and still make things work automatically with a fallback than to just
say "Nope, I was given invalid configuration and now I refuse to
work". Because originally this is what resolved did: we had a
last-resort fallback to provide DNS via a bunch of public DNS servers
if nothing else is available, and we log if we are given invalid
config. We use the fallback only as ultimate fallback, when the other
option is to not work at all.

The thing is that if DNS is fucked, then this is a pretty nasty
problem: you need an extremely high level of understanding computers
to be able to fix this. And you can't even get help, because, well,
your DNS is down, you are not getting online.

Hence, it's inherently a *good* thing to have a fallback in place, and
I think it's a disserve to users to turn this off, as it makes systems
much harder to fix.

And yeah, call me a hypocrite, but if I have the choice between having
no Internet at all or using some public DNS servers for DNS, and
leaking a tiny bit of information to those DNS server providers then I
am definitely preferring to have Internet, thank you very much.

One could even go further: the privacy level using those public DNS
servers might actually be higher than using the DHCP-provided ones in
many cases, simple because we can use DoT on the former (admittedly
not yet the default in resolved though, but hopefully soon), but
almost never can on the latter, and what's worse the latter are
usually provided by crappy edge networks like Internet Cafés and such
where the fact we send stuff unencrypted is just awful.

Now, Fedora made its choice here, and I'll accept that, but I still
think it's a bad one, that trades a misunderstood concept of privacy
against a major step forward in userfriendliness. i.e. I am not sure
it's a good choice to limit Fedora's userspace needlessly to people
who can fix their DNS configuration. It's a pretty tiny elite group of
people to be in after all...

(Oh, and I don't appreciate those people at all, who claim that
"resolved sends all DNS lookups" to Google because it's a lie, we
never did that, we only did that in case no better DNS configuration
was available, i.e. as *last* *resort*, one step before giving up
entirely).

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Marius Schwarz

Am 22.02.21 um 11:17 schrieb Zbigniew Jędrzejewski-Szmek:

1) Use different defaults for different Fedora editions, e.g. container
and cloud images include the fallback DNS servers list while
workstation (and similar) images don't.

Yes, I think this would be the way to go.
Everything, that is not prepresenting a person, is not regulated by 
GDPR, therefor it does not "need" to comply.


About fallbacks in general:

Es the example shows cleary to me, having fallback dns means, that you 
do not see, that your dns config is faulty

and will fail in unexpected ways.

Best regards,
Marius


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Tadej Janež
On Tue, 2021-02-23 at 11:18 +0100, Petr Menšík wrote:
> Sure, this part is more complex. But only this part can fix this
> problem
> from inside the container IMO. Ie. we could fix it faster for any
> involved parties.
> 
> I don't really run any container on any cloud service so this is just
> my
> guess. Who uses cloud-init to prepare the container? If it is used by
> cloud provider, I would expect slow updates and conservative
> behavior.
> Even if we fix it immediately, how fast would appear on the service?
> I
> think the fix from within can be much sooner be used by users.

I think there might be a slight confusion here.

The use case I'm talking about doesn't involve any containers and how
DNS resolving is performed therein.

I'm thinking in terms of a vanilla Fedora Cloud image being used to
provision a new VM and cloud-init performing its configuration and
initialization.
This use case is currently broken (i.e. DNS resolution is broken),
since cloud-init doesn't properly configure DNS servers and fallback
DNS servers have been removed.

To fix this use case, we would just need to patch cloud-init as you
described in your 1. solution:

cloud-init would check the symlink and target of etc/resolv.conf. If it
points to /run/systemd/resolve/*, write DNS=x y into
/etc/systemd/resolved.conf.d/*cloud-init.conf

And then propose the patch to cloud-init upstream and include it in
Fedora's cloud-init package for Fedora 34.

As I see it, this could be fixed by Fedora itself and is not blocked on
any cloud provider or other external party?



signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Petr Menšík
Hi Tadej,

thanks for confirmation.

On 2/23/21 10:37 AM, Tadej Janež wrote:
> Petr,
> 
> thanks for looking into this.
> 
> On Mon, 2021-02-22 at 18:30 +0100, Petr Menšík wrote:
>> After a quick glance at cloud-init code, it seems to me it does not
>> check /etc/resolv.conf for symlinks.
>>
>> It just reads /etc/resolv.conf if it is a file, then writes its own
>> nameservers into target. I have seen no rm of original
>> /etc/resolv.conf,
>> so I guess it rewritten target of symlink on Fedora 33:
>> /run/systemd/resolve/stub-resolv.conf
> 
> Indeed, cloud-init just "blindly" amends the /etc/resolv.conf file
> which is a symlink to /run/systemd/resolve/stub-resolv.conf and hence
> gets overwritten by systemd-resolved.
> 
> Here are the relevant snippets from a DigitalOcean instance's
> /var/log/cloud-init.log:
> 
> ... trimmed ...
>  digitalocean.py[DEBUG]: added dns servers: ['67.207.67.2',
> '67.207.67.3']
> ... trimmed ...
> __init__.py[DEBUG]: Selected renderer 'sysconfig' from priority list:
> None
> util.py[DEBUG]: Writing to /etc/sysconfig/network-scripts/ifcfg-eth1 -
> wb: [644] 212 bytes
> util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
> scripts/ifcfg-eth1 (recursive=False)
> util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
> scripts/ifcfg-eth1 (recursive=False)
> util.py[DEBUG]: Writing to /etc/sysconfig/network-scripts/ifcfg-eth0 -
> wb: [644] 287 bytes
> util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
> scripts/ifcfg-eth0 (recursive=False)
> util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
> scripts/ifcfg-eth0 (recursive=False)
> util.py[DEBUG]: Reading from /etc/resolv.conf (quiet=False)
> util.py[DEBUG]: Read 729 bytes from /etc/resolv.conf
> util.py[DEBUG]: Writing to /etc/resolv.conf - wb: [644] 846 bytes
> util.py[DEBUG]: Restoring selinux mode for /run/systemd/resolve/stub-
> resolv.conf (recursive=False)
> util.py[DEBUG]: Restoring selinux mode for /run/systemd/resolve/stub-
> resolv.conf (recursive=False)
> util.py[DEBUG]: Writing to /etc/NetworkManager/conf.d/99-cloud-
> init.conf - wb: [644] 89 bytes
> util.py[DEBUG]: Restoring selinux mode for
> /etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)
> util.py[DEBUG]: Restoring selinux mode for
> /etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)
> util.py[DEBUG]: Writing to /etc/udev/rules.d/70-persistent-net.rules -
> wb: [644] 192 bytes
> util.py[DEBUG]: Restoring selinux mode for /etc/udev/rules.d/70-
> persistent-net.rules (recursive=False)
> util.py[DEBUG]: Restoring selinux mode for /etc/udev/rules.d/70-
> persistent-net.rules (recursive=False)
> ... trimmed ...
> 
>> I think there are two possible fixes:
>> * cloud-init would check the symlink and target of etc/resolv.conf.
>> If
>> it points to /run/systemd/resolve/*, write DNS=x y into
>> /etc/systemd/resolved.conf.d/*cloud-init.conf
> 
> I think this option would be preferred.
> 
>> * clound-init would always delete etc/resolv.conf before it writes
>> into
>> it, if it was symlink.
> 
> I guess this is a simple solution that would work, but from what I
> understand it would also disable the use of systemd-resolved?

Well, partially. It wouldn't disable systemd-resolved service, but would
not direct DNS messages to resolved. It would still cache requests done
via nss, typically via getaddrinfo() or gethostbyname() function. That
was intention of cloud-init anyway. Personally I would prefer cache on
the host instead of in each container.
> 
>> * systemd-resolved would check contents of link target of
>> /etc/resolv.conf on startup. If it leads to systemd, try parsing its
>> contents. If it does not look like managed contents of systemd,
>> assume
>> it might be misdirected resolv.conf configuration. Store it and wait
>> for
>> DHCP configuration. If no better configuration arrives, use
>> nameservers
>> from misdirected file. Would have to restore original resolv.conf on
>> shutdown to keep working after restarts. Should move it to
>> fallback.conf
>> and use it instead of built-in fallbacks?
> 
> This seems too complex and error prone.
> 
> Regards,
> Tadej
It could just always move file without its own header to
/run/systemd/resolved/fallback.conf (or maybe some permanent). When no
better configuration was set, use this file as nameservers source,
instead of built-in defaults. It would omit saving that files.

Sure, this part is more complex. But only this part can fix this problem
from inside the container IMO. Ie. we could fix it faster for any
involved parties.

I don't really run any container on any cloud service so this is just my
guess. Who uses cloud-init to prepare the container? If it is used by
cloud provider, I would expect slow updates and conservative behavior.
Even if we fix it immediately, how fast would appear on the service? I
think the fix from within can be much sooner be used by users.

Who uses cloud-init to prepare containers? Is it end user on his system?

Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-23 Thread Tadej Janež
Petr,

thanks for looking into this.

On Mon, 2021-02-22 at 18:30 +0100, Petr Menšík wrote:
> After a quick glance at cloud-init code, it seems to me it does not
> check /etc/resolv.conf for symlinks.
> 
> It just reads /etc/resolv.conf if it is a file, then writes its own
> nameservers into target. I have seen no rm of original
> /etc/resolv.conf,
> so I guess it rewritten target of symlink on Fedora 33:
> /run/systemd/resolve/stub-resolv.conf

Indeed, cloud-init just "blindly" amends the /etc/resolv.conf file
which is a symlink to /run/systemd/resolve/stub-resolv.conf and hence
gets overwritten by systemd-resolved.

Here are the relevant snippets from a DigitalOcean instance's
/var/log/cloud-init.log:

... trimmed ...
 digitalocean.py[DEBUG]: added dns servers: ['67.207.67.2',
'67.207.67.3']
... trimmed ...
__init__.py[DEBUG]: Selected renderer 'sysconfig' from priority list:
None
util.py[DEBUG]: Writing to /etc/sysconfig/network-scripts/ifcfg-eth1 -
wb: [644] 212 bytes
util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
scripts/ifcfg-eth1 (recursive=False)
util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
scripts/ifcfg-eth1 (recursive=False)
util.py[DEBUG]: Writing to /etc/sysconfig/network-scripts/ifcfg-eth0 -
wb: [644] 287 bytes
util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
scripts/ifcfg-eth0 (recursive=False)
util.py[DEBUG]: Restoring selinux mode for /etc/sysconfig/network-
scripts/ifcfg-eth0 (recursive=False)
util.py[DEBUG]: Reading from /etc/resolv.conf (quiet=False)
util.py[DEBUG]: Read 729 bytes from /etc/resolv.conf
util.py[DEBUG]: Writing to /etc/resolv.conf - wb: [644] 846 bytes
util.py[DEBUG]: Restoring selinux mode for /run/systemd/resolve/stub-
resolv.conf (recursive=False)
util.py[DEBUG]: Restoring selinux mode for /run/systemd/resolve/stub-
resolv.conf (recursive=False)
util.py[DEBUG]: Writing to /etc/NetworkManager/conf.d/99-cloud-
init.conf - wb: [644] 89 bytes
util.py[DEBUG]: Restoring selinux mode for
/etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)
util.py[DEBUG]: Restoring selinux mode for
/etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)
util.py[DEBUG]: Writing to /etc/udev/rules.d/70-persistent-net.rules -
wb: [644] 192 bytes
util.py[DEBUG]: Restoring selinux mode for /etc/udev/rules.d/70-
persistent-net.rules (recursive=False)
util.py[DEBUG]: Restoring selinux mode for /etc/udev/rules.d/70-
persistent-net.rules (recursive=False)
... trimmed ...

> I think there are two possible fixes:
> * cloud-init would check the symlink and target of etc/resolv.conf.
> If
> it points to /run/systemd/resolve/*, write DNS=x y into
> /etc/systemd/resolved.conf.d/*cloud-init.conf

I think this option would be preferred.

> * clound-init would always delete etc/resolv.conf before it writes
> into
> it, if it was symlink.

I guess this is a simple solution that would work, but from what I
understand it would also disable the use of systemd-resolved?

> * systemd-resolved would check contents of link target of
> /etc/resolv.conf on startup. If it leads to systemd, try parsing its
> contents. If it does not look like managed contents of systemd,
> assume
> it might be misdirected resolv.conf configuration. Store it and wait
> for
> DHCP configuration. If no better configuration arrives, use
> nameservers
> from misdirected file. Would have to restore original resolv.conf on
> shutdown to keep working after restarts. Should move it to
> fallback.conf
> and use it instead of built-in fallbacks?

This seems too complex and error prone.

Regards,
Tadej



signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Kevin Kofler via devel
Tadej Janež wrote:
> I would argue that the change causes noticeable problems and we want to
> reconsider this change.
> In particular, I think cloud image users would prefer to have their
> cloud instances usable out of the box, i.e. have DNS working out-of-the
> box.
> 
> Don't get me wrong, I understand the privacy concerns and I think
> Fedora should strive to protect the privacy of its users as much as
> possible, but at the same time, the circumstances of a cloud instance
> are probably very different from a e.g. workstation instance.

Well, this silent fallback behavior is one of the reasons I have refused to 
use systemd-resolved at all so far.

The issue with the cloud setups would also have been caught much earlier if 
it had failed right away and not silently used an external DNServer. 
Ignoring broken configuration and just using the default is not useful error 
handling.

And the real issue is that systemd-resolved has broken cloud-init, so
cloud-init needs to be fixed/updated.

It is unfortunate that this behavior has changed in an update. This has 
happened because all the complaints about the old behavior back when the 
Change proposal was discussed (i.e., BEFORE Fedora 33 was released) were 
completely ignored by the Change owners and by FESCo (even though the fix 
was apparently a one-line change that could easily have been made before the 
release). Concerns raised during the discussion required by the Change 
process ought to be taken more seriously in the future.

Kevin Kofler
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Tadej Janež
On Mon, 2021-02-22 at 11:14 -0600, Michael Catanzaro wrote:
> On Mon, Feb 22, 2021 at 5:46 pm, Tomasz Torcz  
> wrote:
> > But "dns = none" seems wrong.
> 
> Well it would be the right choice if cloud-init were to manually 
> configure a static list of DNS servers in /etc/systemd/resolved.conf 
> (or, previously, /etc/resolv.conf), which is probably what you want
> for 
> a cloud server.

Yes, cloud-init configures NetworkManager to not manage DNS if it has
DNS servers that it configures statically:

This is the relevant code snippet:

def _render_networkmanager_conf(network_state, templates=None):
content = networkmanager_conf.NetworkManagerConf("")

# If DNS server information is provided, configure
# NetworkManager to not manage dns, so that /etc/resolv.conf
# does not get clobbered.
if network_state.dns_nameservers:
content.set_section_keypair('main', 'dns', 'none')

Source:
https://github.com/canonical/cloud-init/blob/66e2d42dd1b722dc8e59f4e5990cea54f81ccd2a/cloudinit/net/sysconfig.py#L769-L776





signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Tadej Janež
On Mon, 2021-02-22 at 09:45 -0600, Michael Catanzaro wrote:
> On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz 
> wrote:
> > 3) Configure DNS resolvers if you want to use DNS.
> > Or dig deeper: why cloud-init disabled DNS on your installation?
> 
> I'm pretty sure cloud-init just doesn't know how to configure 
> systemd-resolved at all. So I suspect this is a cloud-init bug. See: 
> https://pagure.io/fedora-server/issue/10.
> 
> I have no strong opinion on whether the fallback should have been 
> removed or not. The fallback was only hiding the real problem, after 
> all.

Indeed, this appears to be the case.

For cloud images, I agree that the correct approach is to fix the root
issue, i.e. make cloud-init understand and configure systemd-resolved.

Regards,
Tadej



signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Petr Menšík
After a quick glance at cloud-init code, it seems to me it does not
check /etc/resolv.conf for symlinks.

It just reads /etc/resolv.conf if it is a file, then writes its own
nameservers into target. I have seen no rm of original /etc/resolv.conf,
so I guess it rewritten target of symlink on Fedora 33:
/run/systemd/resolve/stub-resolv.conf

I think there are two possible fixes:
* cloud-init would check the symlink and target of etc/resolv.conf. If
it points to /run/systemd/resolve/*, write DNS=x y into
/etc/systemd/resolved.conf.d/*cloud-init.conf
* clound-init would always delete etc/resolv.conf before it writes into
it, if it was symlink.
* systemd-resolved would check contents of link target of
/etc/resolv.conf on startup. If it leads to systemd, try parsing its
contents. If it does not look like managed contents of systemd, assume
it might be misdirected resolv.conf configuration. Store it and wait for
DHCP configuration. If no better configuration arrives, use nameservers
from misdirected file. Would have to restore original resolv.conf on
shutdown to keep working after restarts. Should move it to fallback.conf
and use it instead of built-in fallbacks?


1.
https://github.com/canonical/cloud-init/blob/66e2d42dd1b722dc8e59f4e5990cea54f81ccd2a/cloudinit/net/sysconfig.py#L909

On 2/22/21 4:45 PM, Michael Catanzaro wrote:
> On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz 
> wrote:
>> 3) Configure DNS resolvers if you want to use DNS.
>> Or dig deeper: why cloud-init disabled DNS on your installation?
> 
> I'm pretty sure cloud-init just doesn't know how to configure
> systemd-resolved at all. So I suspect this is a cloud-init bug. See:
> https://pagure.io/fedora-server/issue/10.
> 
> I have no strong opinion on whether the fallback should have been
> removed or not. The fallback was only hiding the real problem, after all.
> 
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
> Do not reply to spam on the list, report it:
> https://pagure.io/fedora-infrastructure

-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Michael Catanzaro
On Mon, Feb 22, 2021 at 5:46 pm, Tomasz Torcz  
wrote:

But "dns = none" seems wrong.


Well it would be the right choice if cloud-init were to manually 
configure a static list of DNS servers in /etc/systemd/resolved.conf 
(or, previously, /etc/resolv.conf), which is probably what you want for 
a cloud server.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Tomasz Torcz
Dnia Mon, Feb 22, 2021 at 09:45:58AM -0600, Michael Catanzaro napisał(a):
> On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz  wrote:
> > 3) Configure DNS resolvers if you want to use DNS.
> > Or dig deeper: why cloud-init disabled DNS on your installation?
> 
> I'm pretty sure cloud-init just doesn't know how to configure
> systemd-resolved at all. So I suspect this is a cloud-init bug. See:
> https://pagure.io/fedora-server/issue/10.

  Quoting from Tadej's email to cloud@ list;

#v+

$ cat /etc/NetworkManager/conf.d/99-cloud-init.conf
# Created by cloud-init on instance boot automatically, do not edit.
#
[main]
dns = none

#v-

  So cloud-init at least tries to configure NM. This configuration
would be passed down to resolved. But "dns = none" seems wrong.  


-- 
Tomasz Torcz   “(…) today's high-end is tomorrow's embedded processor.”
to...@pipebreaker.pl  — Mitchell Blank on LKML
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Michael Catanzaro
On Mon, Feb 22, 2021 at 10:57 am, David Both  
wrote:
 do not think this is a cloud-init problem. None of my hosts are in 
any cloud
and most failed to resolve after upgrade to F33. Only after reverting 
to nss

resolver by disabling systemd-resolved did the problem disappear.


Hi David, your issue is totally different. Let's continue to discuss 
your issue in the other thread. You appear to be having some problem 
with configuration from DHCP possibly not being propagated to 
systemd-resolved, which suggests either a network level problem or a 
NetworkManager issue. But this thread is about simple static 
configuration on cloud servers where no DHCP is available.


In both threads, the question is "why did nobody tell systemd-resolved 
which DNS servers to use?" In your thread, I would expect 
NetworkManager to get DNS configuration from DHCP and propagate that to 
systemd-resolved. In this thread, I would expect the cloud provider to 
hardcode some DNS servers in resolved.conf. So far we don't have any 
evidence of a systemd-resolved bug in either thread. I would be pretty 
surprised if it's not sending your DNS queries exactly where it is 
configured to do so. The mystery is to figure out why it has been 
misconfigured. And in case of cloud servers, cloud-init seems like the 
right place to handle that.


Michael

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread David Both


I do not think this is a cloud-init problem. None of my hosts are in any cloud 
and most failed to resolve after upgrade to F33. Only after reverting to nss 
resolver by disabling systemd-resolved did the problem disappear.


I did investigate the new resolver but none of the options worked no matter 
which one I linked /etc/resolv.conf to. They all failed in one way or another.


To me, this seems to be a problem with systemd-resolved not some external 
service.


Thanks!

--


*
David P. Both, RHCE
He/Him/His
*
www.both.org - My personal web site
www.Linux-Databook.info - Home of the DataBook for Linux
DataBook is a Registered Trademark of David Both
*
The value of any software lies in its usefulness
not in its price.

— Linus Torvalds
*

On Mon, 22 Feb 2021, Michael Catanzaro wrote:


Date: Mon, 22 Feb 2021 10:45:58
From: Michael Catanzaro 
Reply-To: Development discussions related to Fedora

To: Development discussions related to Fedora 
Cc: Tadej Janež 
Subject: Re: systemd-resolved fallback DNS servers: usability vs. GDPR

On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz  wrote:

 3) Configure DNS resolvers if you want to use DNS.
 Or dig deeper: why cloud-init disabled DNS on your installation?


I'm pretty sure cloud-init just doesn't know how to configure 
systemd-resolved at all. So I suspect this is a cloud-init bug. See: 
https://pagure.io/fedora-server/issue/10.


I have no strong opinion on whether the fallback should have been removed or 
not. The fallback was only hiding the real problem, after all.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure




___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Michael Catanzaro
On Mon, Feb 22, 2021 at 12:05 pm, Tomasz Torcz  
wrote:

3) Configure DNS resolvers if you want to use DNS.
Or dig deeper: why cloud-init disabled DNS on your installation?


I'm pretty sure cloud-init just doesn't know how to configure 
systemd-resolved at all. So I suspect this is a cloud-init bug. See: 
https://pagure.io/fedora-server/issue/10.


I have no strong opinion on whether the fallback should have been 
removed or not. The fallback was only hiding the real problem, after 
all.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Petr Menšík


On 2/22/21 11:17 AM, Zbigniew Jędrzejewski-Szmek wrote:
> On Mon, Feb 22, 2021 at 10:58:09AM +0100, Tadej Janež wrote:
>> Hi,
>>
>> I would like to question the decision that was made by systemd
>> maintainers to remove the fallback DNS server list:
>> https://src.fedoraproject.org/rpms/systemd/c/14b2fafb3688a4170a9c15235d1c3feb7ddeaf9d
>>
>> And then backported to F33:
>> https://src.fedoraproject.org/rpms/systemd/c/ed795fb1fc9a2c20ebcac34bdf7e7c7ae17322a2?branch=f33
>>
>> On F33, this actually breaks a working vanilla cloud instance by
>> removing the fallback DNS server list in a systemd upgrade, effectively
>> leaving the system with no DNS servers configured.
>>
>> I described this in more detail here:
>> https://lists.fedoraproject.org/archives/list/cl...@lists.fedoraproject.org/thread/72MRKIFGPMFGBS7XJ5T5I23NVDXXWVGR/
>>
>> Zbigniew Jędrzejewski-Szmek wrote the following in the commit message
>> accompanying the fallback DNS server list removal:
>>
>>> So hopefully users will not see any effect from the change done in
>>> this patch. Right now I think it is better to avoid the legal and
>>> privacy risk. If it turns out this change causes noticable problems,
>>> we might want to reconsider. In particular we could use the fallback
>>> servers only in containers and such which are not "personal" machines
>>> and there is no particular person attached to them.
>>
>> I would argue that the change causes noticeable problems and we want to
>> reconsider this change.
>> In particular, I think cloud image users would prefer to have their
>> cloud instances usable out of the box, i.e. have DNS working out-of-the
>> box.
>>
>> Don't get me wrong, I understand the privacy concerns and I think
>> Fedora should strive to protect the privacy of its users as much as
>> possible, but at the same time, the circumstances of a cloud instance
>> are probably very different from a e.g. workstation instance.
>>
>> Possible solutions that come to mind:
>>
>> 1) Use different defaults for different Fedora editions, e.g. container
>> and cloud images include the fallback DNS servers list while
>> workstation (and similar) images don't.
> 
> Yes, I think this would be the way to go. Cloud images already have
> special configuration to invoke the "cloud init" services. They could
> just as well add a drop-in in /usr/lib/systemd/resolved.conf/ with
> FallbackDNS=. It would be even better to make sure that the cloud
> config sets some appropriate dns servers in all cases.
Problem with fallback is, you never know when they are appropriate. I
think it should be possible to configure container without DNS access at
all. It should depend on deployment configuration, not on fallback. It
should obey configuration and notify user, when configuration is wrong.
He should not realize that only when fallbacks were removed.
>  
>> 2) Pick a reputable DNS resolver that preserves users' privacy and
>> doesn't log anything and configure it as a fallback DNS server.
>> Here is a good summary of DNS resolvers and their privacy:
>> https://privacytools.io/providers/dns/#dns
> 
> I don't think this is feasible. The laws put a lot of emphasis on
> location (i.e. that the data is not processed by outside entities).
> So an even perfectly good privacy-respecting provider might not be
> acceptable in some locations (there's at least EU, Brazil, Japan that
> have GDPR-like rules…). I don't think we want to analyze the situation
> to figure out whether some provider is acceptable everywhere even once,
> and promising to do that continuously as things change would be even
> worse.
> 
> Zbyszek
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
> Do not reply to spam on the list, report it: 
> https://pagure.io/fedora-infrastructure
> 

-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Tomasz Torcz
Dnia Mon, Feb 22, 2021 at 10:58:09AM +0100, Tadej Janež napisał(a):
> Hi,
> 
> I would like to question the decision that was made by systemd
> maintainers to remove the fallback DNS server list:
> https://src.fedoraproject.org/rpms/systemd/c/14b2fafb3688a4170a9c15235d1c3feb7ddeaf9d
> 
> And then backported to F33:
> https://src.fedoraproject.org/rpms/systemd/c/ed795fb1fc9a2c20ebcac34bdf7e7c7ae17322a2?branch=f33
> 
> On F33, this actually breaks a working vanilla cloud instance by
> removing the fallback DNS server list in a systemd upgrade, effectively
> leaving the system with no DNS servers configured.
> 
> I described this in more detail here:
> https://lists.fedoraproject.org/archives/list/cl...@lists.fedoraproject.org/thread/72MRKIFGPMFGBS7XJ5T5I23NVDXXWVGR/


  Let's be careful not to go in circles.  It seems you have "broken"
configuration - no DNS servers are provided to the cloud image. So none
are configured.  Previously, systemd package provided a fallback DNS
resolvers for that case. Then it stopped doing that.

  Now the circles - the change in systemd package was the outcome of
discussion here on -devel list. In this discussion some people had a
position "if I do not provide DNS servers, I don't want DNS to work".
Which is resonable and expected in high-control situations.
  Providing the workaround again would go against wishes of those people.
From their perspective your non-resolving cloud image is exactly as you
want it. As you configured it.

> 
> Possible solutions that come to mind:
> 1) Use different defaults for different Fedora editions, e.g. container
> and cloud images include the fallback DNS servers list while
> workstation (and similar) images don't.
> 2) Pick a reputable DNS resolver that preserves users' privacy and
> doesn't log anything and configure it as a fallback DNS server.

3) Configure DNS resolvers if you want to use DNS.
Or dig deeper: why cloud-init disabled DNS on your installation?

-- 
Tomasz Torcz   “(…) today's high-end is tomorrow's embedded processor.”
to...@pipebreaker.pl  — Mitchell Blank on LKML
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Petr Menšík
Hi Tadej,

I think more effort should be put to configure the instance correctly by
provider. No default should save invalid configuration of container host.

I think there is actually little benefit in systemd-resolved usage in a
container. I would guess the container host would run proper dns cache
for all its containers, sharing the cache between them. Why does it run
its own cache inside? I think systemd-resolved should not be used on
container at all. It needs to forward queries to any address configured
by the host. It should even not be installed by default in container,
could it be split to systemd-resolved package?

Do you know, what are all steps done by cloud-init? Did it try to write
its own /etc/resolv.conf? When it disables dns=none in NM, I guess it
tried to setup static resolv.conf. Is it possible that writes went to
symlink target in /run/systemd/resolve and they were overwritten later?

We have to find good way to configure DNS in all releases the proper
way. Don't rely on fallbacks. If you had non-working configuration from
the start and relied on fallback, I think this should be fixed. If
configuration were provided but did not work, it should fail hard, let
you notice it. I think most daemons do that already.

Is there any "standard" way to configure DNS in deployed containers? I
use DHCP myself, but have only containers for development.

Cheers,
Petr

On 2/22/21 10:58 AM, Tadej Janež wrote:
> Hi,
> 
> I would like to question the decision that was made by systemd
> maintainers to remove the fallback DNS server list:
> https://src.fedoraproject.org/rpms/systemd/c/14b2fafb3688a4170a9c15235d1c3feb7ddeaf9d
> 
> And then backported to F33:
> https://src.fedoraproject.org/rpms/systemd/c/ed795fb1fc9a2c20ebcac34bdf7e7c7ae17322a2?branch=f33
> 
> On F33, this actually breaks a working vanilla cloud instance by
> removing the fallback DNS server list in a systemd upgrade, effectively
> leaving the system with no DNS servers configured.
> 
> I described this in more detail here:
> https://lists.fedoraproject.org/archives/list/cl...@lists.fedoraproject.org/thread/72MRKIFGPMFGBS7XJ5T5I23NVDXXWVGR/
> 
> Zbigniew Jędrzejewski-Szmek wrote the following in the commit message
> accompanying the fallback DNS server list removal:
> 
>> So hopefully users will not see any effect from the change done in
>> this patch. Right now I think it is better to avoid the legal and
>> privacy risk. If it turns out this change causes noticable problems,
>> we might want to reconsider. In particular we could use the fallback
>> servers only in containers and such which are not "personal" machines
>> and there is no particular person attached to them.
> 
> I would argue that the change causes noticeable problems and we want to
> reconsider this change.
> In particular, I think cloud image users would prefer to have their
> cloud instances usable out of the box, i.e. have DNS working out-of-the
> box.
> 
> Don't get me wrong, I understand the privacy concerns and I think
> Fedora should strive to protect the privacy of its users as much as
> possible, but at the same time, the circumstances of a cloud instance
> are probably very different from a e.g. workstation instance.
> 
> Possible solutions that come to mind:
> 
> 1) Use different defaults for different Fedora editions, e.g. container
> and cloud images include the fallback DNS servers list while
> workstation (and similar) images don't.
> 
> 2) Pick a reputable DNS resolver that preserves users' privacy and
> doesn't log anything and configure it as a fallback DNS server.
> Here is a good summary of DNS resolvers and their privacy:
> https://privacytools.io/providers/dns/#dns
> 
> Thoughts?
> 
> Regards,
> Tadej
> 
> P.S. I'm subscribed, but please keep me in Cc so I'll notice replies 
> sooner.
> 
> 
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
> Do not reply to spam on the list, report it: 
> https://pagure.io/fedora-infrastructure
> 

-- 
Petr Menšík
Software Engineer
Red Hat, http://www.redhat.com/
email: pemen...@redhat.com
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB



OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, 

Re: systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Zbigniew Jędrzejewski-Szmek
On Mon, Feb 22, 2021 at 10:58:09AM +0100, Tadej Janež wrote:
> Hi,
> 
> I would like to question the decision that was made by systemd
> maintainers to remove the fallback DNS server list:
> https://src.fedoraproject.org/rpms/systemd/c/14b2fafb3688a4170a9c15235d1c3feb7ddeaf9d
> 
> And then backported to F33:
> https://src.fedoraproject.org/rpms/systemd/c/ed795fb1fc9a2c20ebcac34bdf7e7c7ae17322a2?branch=f33
> 
> On F33, this actually breaks a working vanilla cloud instance by
> removing the fallback DNS server list in a systemd upgrade, effectively
> leaving the system with no DNS servers configured.
> 
> I described this in more detail here:
> https://lists.fedoraproject.org/archives/list/cl...@lists.fedoraproject.org/thread/72MRKIFGPMFGBS7XJ5T5I23NVDXXWVGR/
> 
> Zbigniew Jędrzejewski-Szmek wrote the following in the commit message
> accompanying the fallback DNS server list removal:
> 
> > So hopefully users will not see any effect from the change done in
> > this patch. Right now I think it is better to avoid the legal and
> > privacy risk. If it turns out this change causes noticable problems,
> > we might want to reconsider. In particular we could use the fallback
> > servers only in containers and such which are not "personal" machines
> > and there is no particular person attached to them.
> 
> I would argue that the change causes noticeable problems and we want to
> reconsider this change.
> In particular, I think cloud image users would prefer to have their
> cloud instances usable out of the box, i.e. have DNS working out-of-the
> box.
> 
> Don't get me wrong, I understand the privacy concerns and I think
> Fedora should strive to protect the privacy of its users as much as
> possible, but at the same time, the circumstances of a cloud instance
> are probably very different from a e.g. workstation instance.
> 
> Possible solutions that come to mind:
> 
> 1) Use different defaults for different Fedora editions, e.g. container
> and cloud images include the fallback DNS servers list while
> workstation (and similar) images don't.

Yes, I think this would be the way to go. Cloud images already have
special configuration to invoke the "cloud init" services. They could
just as well add a drop-in in /usr/lib/systemd/resolved.conf/ with
FallbackDNS=. It would be even better to make sure that the cloud
config sets some appropriate dns servers in all cases.
 
> 2) Pick a reputable DNS resolver that preserves users' privacy and
> doesn't log anything and configure it as a fallback DNS server.
> Here is a good summary of DNS resolvers and their privacy:
> https://privacytools.io/providers/dns/#dns

I don't think this is feasible. The laws put a lot of emphasis on
location (i.e. that the data is not processed by outside entities).
So an even perfectly good privacy-respecting provider might not be
acceptable in some locations (there's at least EU, Brazil, Japan that
have GDPR-like rules…). I don't think we want to analyze the situation
to figure out whether some provider is acceptable everywhere even once,
and promising to do that continuously as things change would be even
worse.

Zbyszek
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


systemd-resolved fallback DNS servers: usability vs. GDPR

2021-02-22 Thread Tadej Janež
Hi,

I would like to question the decision that was made by systemd
maintainers to remove the fallback DNS server list:
https://src.fedoraproject.org/rpms/systemd/c/14b2fafb3688a4170a9c15235d1c3feb7ddeaf9d

And then backported to F33:
https://src.fedoraproject.org/rpms/systemd/c/ed795fb1fc9a2c20ebcac34bdf7e7c7ae17322a2?branch=f33

On F33, this actually breaks a working vanilla cloud instance by
removing the fallback DNS server list in a systemd upgrade, effectively
leaving the system with no DNS servers configured.

I described this in more detail here:
https://lists.fedoraproject.org/archives/list/cl...@lists.fedoraproject.org/thread/72MRKIFGPMFGBS7XJ5T5I23NVDXXWVGR/

Zbigniew Jędrzejewski-Szmek wrote the following in the commit message
accompanying the fallback DNS server list removal:

> So hopefully users will not see any effect from the change done in
> this patch. Right now I think it is better to avoid the legal and
> privacy risk. If it turns out this change causes noticable problems,
> we might want to reconsider. In particular we could use the fallback
> servers only in containers and such which are not "personal" machines
> and there is no particular person attached to them.

I would argue that the change causes noticeable problems and we want to
reconsider this change.
In particular, I think cloud image users would prefer to have their
cloud instances usable out of the box, i.e. have DNS working out-of-the
box.

Don't get me wrong, I understand the privacy concerns and I think
Fedora should strive to protect the privacy of its users as much as
possible, but at the same time, the circumstances of a cloud instance
are probably very different from a e.g. workstation instance.

Possible solutions that come to mind:

1) Use different defaults for different Fedora editions, e.g. container
and cloud images include the fallback DNS servers list while
workstation (and similar) images don't.

2) Pick a reputable DNS resolver that preserves users' privacy and
doesn't log anything and configure it as a fallback DNS server.
Here is a good summary of DNS resolvers and their privacy:
https://privacytools.io/providers/dns/#dns

Thoughts?

Regards,
Tadej

P.S. I'm subscribed, but please keep me in Cc so I'll notice replies 
sooner.


signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure