Resolving DNS Issues with resolvectl and systemd-resolved in a Home Network

Introduction to DNS Resolution

When setting up a home network, DNS resolution is one of those critical components that can be a real pain to troubleshoot. I’ve seen this go wrong when people are new to Linux, so let’s dive into how to use resolvectl to resolve DNS issues with systemd-resolved.

Understanding systemd-resolved

systemd-resolved is a system service that handles DNS resolution, among other network-related tasks. It’s part of the systemd suite and is widely used in many Linux distributions, including Ubuntu, Debian, and Fedora. The real trick is that systemd-resolved provides improved DNS security and better support for modern DNS protocols like DNS over TLS (DoT) and DNS over HTTPS (DoH). Don’t bother with trying to use it without understanding these benefits, as they’re a key part of what makes systemd-resolved so useful.

[Read More]

Troubleshooting Slow Network Connectivity with ss and resolvectl on Linux

Introduction to Network Troubleshooting

I’ve seen my fair share of slow network connectivity issues on Linux, and having the right tools at your disposal can make all the difference. Two tools that I rely on are ss and resolvectl, which can help you diagnose and troubleshoot network issues. In this article, we’ll explore how to use these tools to identify and potentially fix slow network connectivity problems.

Understanding ss

The ss command is a replacement for the traditional netstat command, and it provides more detailed information about network connections, including TCP, UDP, and Unix domain sockets. To get started with ss, you can use the following command to display all active connections:

[Read More]

Taming Disk-Hungry Logs with systemd's Persistent Journal and Log Rotation

Introduction to Log Management

I’ve seen log management become a major headache for many Linux administrators. Logs are essential for diagnosing issues, detecting security threats, and optimizing system performance, but they can grow rapidly and consume significant disk space. In practice, this can lead to performance issues and even system crashes. To avoid this, we can use systemd’s persistent journal and log rotation features.

Understanding systemd’s Journal

Systemd’s journal is a centralized logging system that collects log messages from various system components, including systemd services, kernel messages, and application logs. The real trick is to configure it to use persistent storage, so logs aren’t lost upon system reboot. By default, the journal stores log messages in a volatile storage area, which isn’t very useful for long-term log management.

[Read More]

Using systemd to Manage and Rotate Logs for Forgotten System Services

Introduction to Log Management with systemd

I’ve seen many Linux admins struggle with log management, especially when it comes to system services that are often overlooked. Systemd is a powerful system and service manager that provides a wide range of features, including process management, dependency handling, and log management. In this article, I’ll focus on using systemd to manage and rotate logs for system services.

Understanding systemd Logs

The real trick is to understand how systemd logs work. Systemd logs are stored in a binary format, which can be read using the journalctl command. This command provides a powerful way to filter, search, and manage system logs. By default, systemd stores logs in /var/log/journal, but this can be configured to use a different location. Don’t bother with trying to read the binary logs directly - just use journalctl.

[Read More]

Taming systemd Timer Services to Run Your Daily Backup at a Reasonable Hour

Introduction to systemd Timer Services

I’ve been using systemd timer services for years to schedule tasks on my Linux systems, and I have to say, they’re a game-changer. Most Linux distributions, including Debian, Arch Linux, and OpenSUSE, use systemd as their default init system, so it’s worth learning how to use them. In this article, I’ll show you how to use systemd timer services to run daily backups at a reasonable hour.

[Read More]

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]