> What even worse as top quoting? Mixing top qouting with inline qouting
On Wed, Oct 02, 2024 at 01:13:03AM +0200, Petr Menšík wrote: > I am not sure systemd.socket can listen both on UDP and TCP, to pass both > sockets into dnsmasq when it starts. For a properly initialized dnsmasq it > is needed to listen on both. Most other services I have seen with socket > activation use it with TCP socket only. It is much easier with that. I have > not found systemd-resolved.socket for example on Fedora 40. > > socket activation cannot work well with bind-dynamic. If bind-dynamic style > is enough, it should be okay. But it kind of allows only --listen-address > alternative, I think. Which often might would be useful enough. > > I think what would need to be added is accepting open listening sockets from > daemon and install them instead of creating own socket. Probably would need > libsystemd linking at compile time. sd_notify support might be useful > addition too. > > But systemd socket handling has also limitations. For example it rate limits > connections over limit, which may DoS the service. That were I think > motivation for disabling sshd.socket activation in Fedora about a year ago. > Triggering the limit for some time disabled temporarily the service for > everyone, which is not ideal also for DNS. It should be carefully tested. > > Cheers, > Petr > > On 01/10/2024 17:49, kuehn.michael--- via Dnsmasq-discuss wrote: > > Hi, > > > > i found the some threads discussing this already (in 2023 and decades > > before that), including: > > - > > https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/msg17151.html > > > > Disclaimer: i won’t get into the philosophical stance reg. uselessness > > or “overblown”-ness of systemd, as this often is religious, tedious and > > out of scope and also i think mailing-lists are not a good format for > > those long back-and-forth takes) - but systemd becomes more and more > > ubiquitous and this is for good reasons and what ever your gripes with > > systemd are, it’s not a niche. In fact it’s the default in most > > mainstream distributions already > > (https://en.wikipedia.org/wiki/Systemd#Adoption) > > > > There was one reply from Simon that he desires to better understand > > systemd and/or socket activation, which i’m not sure is still needed but > > if it is, i think this talk is very good as a starting point: > > https://youtu.be/TyMLi8QF6sw (socket activation part starts at 18:07). > > > > In previous threads here were often some questions about use-cases. My > > personal one is #4 but i think they are all valid on their own. > > > > > > Having systemd managing the socket has multiple benefits: > > > > 1) restarts of dnsmasq.service would not loose DNS queries as the > > dnsmasq.socket is not restarted and would buffer those messages until > > the service is back up again and can process those. This means less > > frictions for users when maintenance is done by admins reg. dnsmasq > > upgrades etc. > > Okay. I never understood motivation for starting DNS caching service by > socket activation. But avoiding lost messages during update sounds like not > bad idea. Although retries should be common for client applications, so fast > restart should not cause significant regressions. > > But there need to be cases how to reopen listening sockets anyway. I expect > it just moves to systemd daemon service or something similar. But some race > condition cannot completely disappear during updates. > > > > > 2) .socket in systemd has a lot of options for administration: > > https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html > > incl. resource control, security, behavior, etc. > > > > 3) having the socket managed by systemd allows capabilities from the > > binaries dropped to open ports <1024 (DNS w/ port 53 definitely falls > > under that). So security minded admins could drop the > > CAP_NET_BIND_SERVICE from dnsmasq > This of course applies only when dnsmasq is used only for DNS and if it > should listen only on. Suggestion: Start the "socket adventure" with "only DNS". > > 4) and finally, what motivated me to bring this up here _again_: better > > support for (rootless) containerization. For example in podman: If you > > want to run dnsmasq completely rootless with a container, current > > rootless networks provided by podman loose the source IPs. See > > https://github.com/containers/podman/issues/8193#issuecomment-2386247390 > > This is a “problem" when using pi-hole (pi-hole FTL is based on > > dnsmasq), as you loose a lot of visibility about the clients on the > > network (and it breaks features that rely on a correct source-ip). Right > > now, this limitation prevents users from running pi-hole/dnsmasq in a > > rootless mode. > Right, If podman avoids privilege requirement by making proxy, then it would > need to support some proxy protocol and dnsmasq would need to understand as > well. Passing pre-created listening sockets to dnsmasq to operate on them > would be simpler and safer. > > > > 5) there are more benefits outlined in the talk like nicer integration > > with faster system boots and etc. > I am not sure it makes faster boot response. Dnsmasq does not support > Type=notify reporting of readiness, which might be more interesting for me. > Typically there is nothing useful to provide from cache until network > routing it ready for sending forwarded queries outside. I see a little > benefits starting earlier, unless caching /etc/hosts is significant speedup. > And we have nss-lookup.target, I am not sure if socket activated service cat > make it started also. > > > > I really hope that socket-activation is considered, this would improve > > dnsmasq's integration and acceptability on a lot of fronts. If there are > > any questions or concerns left, i’m more than happy to help. Explain why waiting for others. > > More readings (if interested) about this can be found here: > > - http://0pointer.de/blog/projects/the-biggest-myths (point 3 mentions > > socket activation) > > - http://0pointer.de/blog/projects/socket-activated-containers.html Groeten Geert Stappers -- Silence is hard to parse _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss