I personally lost internet access as a result of this update. It was horrible; one day my internet just randomly stopped working. I used my phone to ask for help on Reddit (obviously couldn't use my computer), and it took two days for me to figure out what was going on. Honestly made me despise systemd and lose a lot of faith on Fedora. Why the fuck is my init system doing DNS resolution? Probably the stupidest design decision I've ever encountered in my ten years running Linux. Also, making this invisible change without giving less technically savvy users instructions on how to recover if things go wrong is messed up.
Actually losing DNS is very easy to diagnose, for me at least. Is example.com working? No? Can I ping any DNS server like 1.1.1.1, 4.4.4.4 or 8.8.8.8 or whatever the well-known DNS servers are? Yes? Then my network is fine, it's just DNS.
I don't mean to be condescending, just curious why you didn't figure it out.
How do you diagnose that your DNS have failed if your system seems to be working but is suddenly using a hidden DNS setting? Local DNS settings for your LAN could be dead and gone but "example.com" still work fine. Why? If I hadn't read the article I would have no clue unless I looked a a network dump. It's insane.
One of my first troubleshooting steps is replacing /etc/resolv.conf with just a basic one. By seeing that using Google's DNS directly works, I would know that it's a problem with resolved.
>Why the fuck is my init system doing DNS resolution?
SystemD is more than just an init system, it also runs some system service, like DNS. If you still think of systemd as an init system, then your knowledge of it is outdated by at least a couple of years.
But, if you want to use it as merely an init system, feel free to disable resolved and install dnsmasq instead like in the Good Old Days.
I'd much rather have my system not working than have it randomly start sending the domain part of my browser history to Google without as much as a notification. When you install Fedora, the last thing I'd expect is that it starts acting like a tracker for Google when my DNS server goes down.
I think they should've implemented this differently, sending out a notification that the DNS configuration is broken, with the option of switching to either Google, Cloudflare or letting me fix the network configuration instead of silently failing.
The less tech savvy users are still running Windows where the exact same thing would've happened, with errors just as obscure. No matter what OS you're running, the problem is with your network config, so it should be fixed by whoever manages that instead of relying on some hard-coded defaults somewhere deep inside the DNS resolver. In most cases, that means calling your ISP or calling your IT service desk for support.
I personally hate it when software goes and does some random shit like pick its own DNS server because it somehow has determined that something was broken. Windows is full of this "smart" behaviour and it's one of the reasons I always feel like I need to anticipate its responses to my actions instead of just using it.
There's been as much time between now and this blog post, than there has been between this blog post and the introduction of windows fucking XP !
> systemd is in the process of becoming a comprehensive, integrated and modular platform providing everything needed to bootstrap and maintain an operating system's userspace. It includes C rewrites of all basic early boot init scripts that are shipped with the various distributions.
> systemd is also a big opportunity for Linux standardization. Since it standardizes many interfaces of the system that previously have been differing on every distribution, on every implementation, adopting it helps to work against the balkanization of the Linux interfaces. Choosing systemd means redefining more closely what the Linux platform is about. This improves the lifes of programmers, users and administrators alike.
being more than an init system has been the goal of the project since pretty much the beginning
I was trying to be conservative because I've only really dealt with systemd since about 2016, but damn, nearly a decade of systemd and people still fight systemd vs systemV like it's 2011.
I'm not against systemd myself, to be clear. I think putting services like these into modules of the systemd environment makes sense, and as long as you can disable them if you don't want them, that's perfectly fine. I've had to disable one of them on one of my servers because _something_ was going wrong preventing resolved from caching repeated DNS responses, causing a huge load when a script started scraping a particular domain without any clear indication as to why in the logs. As long as I can do that, I'm perfectly fine with whatever the systemd folks want to integrate next!
There are definitely two sides here. I ended up starting to use NAT reflection a lot in recent years because these half assed fallback configs for DNS (Docker does the same) break split horizon DNS. So everything half works and it’s a pain to diagnose the first few times you run into it.
For users that struggle to diagnose completely broken DNS, I think diagnosing half working DNS will be extremely difficult to do.
Call me old fashioned, but I prefer completely working or completely broken over the “kind of sort of half assed mostly working in fallback mode” that seems to have become popular.
i wouldn't be so fast with blaming systemd for this.
first things first: why isn't your network (via dhcp or local configuration) providing/setting a dns server?
second things: it's fedora that messed up. fallback dns servers are supposed to be there as fallback when nothing else is provided.
It's not systemd's fault, it's fedora's.
if your dhcp server isn't providing a dns server and you're not setting it explicitly then having something else other than systemd would have meant facing the same problem.
Not the person you responded to but I had the same issue across several clean fedora 33 installations and one upgrade from fedora 32.
I’m not exactly knowledgeable about networking but was able to figure out that DNS wasn’t working. Switched to Google’s DNS and went about my day, but for the premier “professional workstation“ Linux distro it’s very disappointing.
Edit: I don’t want to blame fedora too much, I assume the actual issue was with my router or ISP. Windows and every other Linux distro worked fine out of the box though so I don’t really have a reason to spend more time on it.
Just wait until systemd provides you with a hard-coded filesystem a tcp/ip stack and a "better" alternative to wayland. We then call it duolith-OS, your full OS with just two monoliths (Linux and sytemd).