Taming systemd-resolved: Troubleshooting DNS leaks and resolving domain name surprises on Linux desktops and servers

Introduction to systemd-resolved

I’ve seen systemd-resolved become a crucial part of many Linux distributions, including Ubuntu, Debian, and Fedora, as of 2026. It’s designed to provide a robust and secure way to resolve domain names on Linux systems. However, like any complex system, it can sometimes behave unexpectedly, leading to DNS leaks and domain name resolution surprises.

Understanding DNS Leaks

A DNS leak occurs when your system sends DNS queries to an unintended DNS server, potentially revealing your browsing history and online activities to third parties. This can happen when your system is configured to use a specific DNS server, but systemd-resolved is not properly configured to respect this setting. Don’t bother with manually trying to diagnose DNS leaks - just use online tools such as dnsleaktest.com or ipleak.net to check for them.

[Read More]

Taming systemd-resolved: How to Configure DNS Settings for Split Horizon Environments

Introduction to systemd-resolved

I’ve seen many Linux admins struggle with configuring DNS settings for split horizon environments. systemd-resolved, a DNS resolver component of the systemd suite, can make life easier. In this article, I’ll walk you through how to configure DNS settings for split horizon environments using systemd-resolved.

Understanding Split Horizon Environments

Split horizon environments are network setups where multiple DNS servers provide different answers for the same domain name, depending on the client’s location or network. I’ve encountered this in organizations with multiple offices or data centers, where different DNS servers serve different locations. For example, a company with offices in the US and Europe might have two separate DNS servers, one for each region, providing different IP addresses for the same domain name.

[Read More]

Rescuing a Linux System Stuck in Emergency Mode: A Step-by-Step Recovery Guide

Introduction to Emergency Mode

I’ve seen this go wrong when a Linux system encounters a critical issue during boot - it may enter Emergency Mode. This mode provides a minimal environment for troubleshooting and recovery. With many Linux distributions, including Debian and Arch Linux, updating their boot processes to use systemd, understanding how to rescue a system stuck in Emergency Mode is crucial.

Identifying the Issue

To rescue a system in Emergency Mode, you first need to identify the cause of the issue. Don’t bother with guessing - check the system logs, which are usually available in the /var/log directory. I usually start with the journalctl command to view the system logs:

[Read More]

Troubleshooting Failed Mounts at Boot Time with systemd and fstab

Introduction to Troubleshooting Failed Mounts

When I’m dealing with a Linux system that won’t boot properly, one of the first things I check is the mount points. systemd and the /etc/fstab file are crucial in this process, but issues can still arise, leading to failed mounts and potential system instability. In this article, I’ll walk you through practical steps to troubleshoot and resolve failed mounts at boot time, focusing on systemd and fstab configurations.

[Read More]

Taming Disk-Hungry Logs with systemd-journald and logrotate

Introduction to Log Management

I’ve seen log files grow out of control and consume disk space, affecting system performance. To tame disk-hungry logs, I recommend using systemd-journald and logrotate. These tools help manage log data, making it easier to troubleshoot, debug, and perform security audits.

Understanding systemd-journald

systemd-journald is a system service that collects and stores log messages from various sources. It provides a centralized logging system, which I find more efficient than traditional text-based log files. To view log messages, use the journalctl command:

[Read More]

Rescuing a Broken Linux System with a systemd Emergency Mode Shell

Introduction to Emergency Mode

I’ve seen this go wrong when a Linux system encounters a critical issue during boot - it can be a real headache. But, thankfully, Linux has a built-in safety net called emergency mode. This mode kicks in when there’s a failed filesystem check or an inability to mount a necessary partition, providing a minimal environment for troubleshooting and repair. With the advancements in Linux, understanding how to use emergency mode is crucial for system administrators and users alike.

[Read More]

When Disk Space Disappears: Tracking Down and Preventing Logs from Filling Up Your Linux Disks

Introduction to Disk Space Issues

I’ve seen this go wrong when managing Linux systems - the sudden disappearance of disk space. It’s often caused by log files filling up the disk, large files being stored in unexpected locations, or even malware consuming disk space. In this article, I’ll focus on tracking down and preventing logs from filling up your Linux disks.

Understanding Log Files

Log files are essential for Linux system administration, providing valuable information about system events, errors, and security issues. However, if not properly managed, log files can grow rapidly and consume large amounts of disk space. The most common log files that can cause issues are:

[Read More]

Troubleshooting DNS Leaks with systemd-resolved and resolv.conf on a Small Linux Server

Introduction to DNS Leaks

I’ve seen DNS leaks cause issues on even the most secure Linux servers. Ensuring your DNS setup is solid is crucial, and one common problem is a DNS leak, where your system inadvertently reveals your DNS queries to unauthorized parties. In this article, I’ll walk you through troubleshooting DNS leaks using systemd-resolved and resolv.conf on a Linux server.

Understanding systemd-resolved

systemd-resolved is a powerful tool that provides DNS resolution capabilities. It’s designed to be a caching, validating DNS resolver that can also handle DNSSEC validation. To check if systemd-resolved is running on your system, use the following command:

[Read More]

Debugging systemd Service Startup Failures with systemd-analyze and Journalctl

Introduction to Debugging systemd Services

I’ve seen this go wrong when you’re trying to troubleshoot issues with your Linux system - those pesky systemd services can be a real pain. They’re the backbone of your system, managing everything from network connections to system logging. Debugging these services can be a daunting task, especially for those new to Linux administration. Fortunately, systemd provides two powerful tools to help you diagnose and resolve issues: systemd-analyze and journalctl.

[Read More]

Taming Split DNS Chaos with systemd-resolved and Local Hostname Resolution

Introduction to Split DNS Chaos

I’ve seen this go wrong when working with multiple networks or self-hosted services: split DNS configurations can become a real headache. Luckily, many Linux distributions have started adopting systemd-resolved as the default DNS resolver, which makes managing split DNS scenarios much simpler. In this article, I’ll walk you through how to use systemd-resolved for local hostname resolution and taming that split DNS chaos.

Understanding systemd-resolved

The real trick is understanding how systemd-resolved works. It’s a systemd component that provides DNS resolution and caching, and it can be configured to use multiple DNS servers and handle split DNS scenarios with ease. To check if systemd-resolved is enabled on your system, run the following command:

[Read More]