systemd‑resolved’s DNS Cache Stale After a Router Update: My One‑Command Fix

I was staring at a blinking screen of a freshly flashed router when I realized the whole LAN had lost its DNS mojo. I could ping 192.168.1.1 fine, but curl example.com slammed back with “Could not resolve host”. No amount of dig or nslookup helped until I dug into systemd‑resolved.

Why systemd‑resolved Holds on to Old DNS

systemd‑resolved is the default resolver on most recent distros. It keeps a cache of answers to cut down on DNS traffic and speed things up. The cache is keyed by the DNS server that answered and the TTL that server advertised. When a router’s firmware changes, its DHCP server may hand out a new DNS IP or a new list of servers. systemd‑resolved will keep the old server in memory until it gets a fresh lease or the cache expires. If the new server is unreachable, all lookups die.

[Read More]

Fixing ACME DNS‑01 on a Home Lab Using Pi‑hole and Cloudflare

Running a single DNS server on a Raspberry Pi or a tiny VM is a common pattern in home labs.
When Let’s Encrypt asks you to prove domain ownership via a DNS‑01 challenge, the classic “edit a TXT record” dance becomes a chore if you’re juggling Cloudflare’s web UI.
Below is a quick, repeatable recipe that plugs a Pi‑hole into Cloudflare’s API, lets Cert‑bot finish the challenge automatically, and keeps the whole thing lean and secure.

[Read More]

Troubleshooting Slow DNS Lookups with systemd-resolved on My Linux Homelab Server

Introduction to Troubleshooting Slow DNS Lookups

I’ve been running a Linux homelab server for a while now, and one issue that’s caught my attention recently is slow DNS lookups. With the increasing reliance on online services, fast and reliable DNS resolution is crucial. I noticed my server was taking longer than usual to resolve domain names, affecting my homelab’s overall performance. After digging in, I found the issue was related to systemd-resolved, the DNS resolver service that comes bundled with systemd. I’ve seen this go wrong when the default resolvers aren’t responding quickly.

[Read More]

Taming systemd-resolved: My Journey to Reliable DNS Resolution at Home

Introduction to systemd-resolved

I’ve always been curious about how my Linux system resolves domain names. Recently, I’ve been dealing with some DNS resolution issues at home, which led me to dig into systemd-resolved. As it turns out, many Linux distributions, including Ubuntu and Fedora, use systemd-resolved as their DNS resolver by default. In this article, I’ll share my experience with getting reliable DNS resolution at home using systemd-resolved.

Understanding systemd-resolved

systemd-resolved is part of the systemd suite and provides a DNS resolver service. It’s designed to be a caching, validating, and recursive DNS resolver - which means it can cache DNS responses, validate DNSSEC records, and perform recursive DNS lookups. To check if systemd-resolved is running on your system, you can use the following command:

[Read More]

Taming the systemd-resolved Cache to Fix DNS Lookup Failures on My Home Network

Introduction to systemd-resolved

I’ve been dealing with DNS lookup failures on my home network, and I’ve found that the systemd-resolved cache can be a major culprit. I’ve seen this go wrong when the cache becomes outdated or corrupted, leading to frustrating DNS lookup failures. In this article, I’ll share my experience with taming the systemd-resolved cache to fix these issues.

Understanding the systemd-resolved Cache

The real trick is to understand how the systemd-resolved cache works. It’s designed to improve DNS lookup performance by storing recent queries and their results. However, this cache can become outdated or corrupted, leading to DNS lookup failures. To get a better understanding of the cache, let’s take a look at the systemd-resolved configuration file, usually located at /etc/systemd/resolved.conf. You can view the file using the following command:

[Read More]

Taming systemd-resolved: How I Stopped It From Overriding My resolv.conf Settings

Introduction to systemd-resolved

I’ve seen this go wrong when working with Linux systems - systemd-resolved taking over your DNS settings without warning. As a Linux user, you’re likely familiar with the resolv.conf file, which contains the DNS resolver configuration for your system. However, with the introduction of systemd-resolved, things have changed. systemd-resolved is a systemd service that provides DNS resolution and caching, and it can sometimes override the settings in your resolv.conf file. In this article, we’ll explore how to tame systemd-resolved and prevent it from overriding your resolv.conf settings.

[Read More]

Taming systemd-resolved: My Journey to Fixing DNS Leaks and Annoying resolver Errors on My Linux Desktop

Introduction to systemd-resolved

I’ve spent years working with Linux, and one component that’s given me trouble is systemd-resolved, the DNS resolver service that comes bundled with systemd. Recently, I noticed my DNS queries were leaking, and I was getting annoying resolver errors on my Linux desktop. This prompted me to dive deeper into systemd-resolved and figure out how to tame it. I’ve seen this go wrong when people don’t take the time to understand how it works, so let’s start with the basics.

[Read More]

Troubleshooting DNS Resolution Issues in My Homelab with Unbound and dnsmasq

Introduction to DNS Resolution Issues

I’ve had my fair share of DNS resolution issues in my homelab over the years. Recently, I switched from using a single DNS resolver to a combination of Unbound and dnsmasq. This setup has been working well for me, but I’ve still encountered some issues that required troubleshooting. The real trick is identifying the root cause of the problem, which can be tricky.

Understanding Unbound and dnsmasq

Unbound is a recursive DNS resolver that provides a secure and private way to resolve domain names. It’s designed to be fast, efficient, and highly configurable. Dnsmasq, on the other hand, is a lightweight DNS forwarder and DHCP server. I’ve seen this go wrong when people don’t configure them correctly, so it’s essential to understand how they work together. In practice, using Unbound and dnsmasq together provides a good balance between security and performance.

[Read More]

Resolving DNS Troubles at Home: A systemd-resolved and dnsmasq Setup Gone Wrong

Introduction to DNS Troubles

I’ve been running my homelab for years, and one thing that still gets me is DNS troubles. Last year, I decided to set up systemd-resolved and dnsmasq to manage my home network’s DNS. The idea was to use systemd-resolved as the primary resolver and dnsmasq as a caching layer to improve performance. Sounds simple, but it didn’t quite work out that way.

Setting Up systemd-resolved

To start, I enabled systemd-resolved on my Ubuntu-based server. This involved editing the /etc/systemd/resolved.conf file to set the DNS servers and domains. I opted for Cloudflare’s DNS servers - they’re known for being fast and secure.

[Read More]

Taming systemd-resolved: My Journey to Reliable DNS Resolution at Home

Introduction to systemd-resolved

I’ve been using Linux for years, and I’ve had my fair share of struggles with DNS resolution. Recently, I decided to take a closer look at systemd-resolved, the DNS resolver component of systemd. I was looking for a reliable way to resolve DNS at home, and I’m happy to share what I’ve learned.

What is systemd-resolved?

systemd-resolved is a system service that provides DNS resolution for Linux systems. It’s designed to replace traditional DNS resolvers like bind and dnsmasq. One of the key benefits of systemd-resolved is its integration with the rest of the systemd ecosystem, making it easy to manage and configure. Don’t bother with bind and dnsmasq unless you have a specific reason to - systemd-resolved is a solid choice for most users.

[Read More]
linux  systemd  dns