Using systemd-resolved with Multiple DNS Servers and Split Horizon DNS

Introduction to systemd-resolved

I’ve been using systemd-resolved for a while now, and I have to say, it’s a game-changer when it comes to managing DNS resolution on Linux systems. As of 2026, it’s become a crucial component in many Linux distributions, including Ubuntu, Debian, and Fedora. In this article, I’ll walk you through how to use systemd-resolved with multiple DNS servers and split horizon DNS, including some practical examples and troubleshooting notes.

[Read More]

Troubleshooting Local Port Conflicts with ss and nftables on a Multi-Service Linux Server

Introduction to Troubleshooting Local Port Conflicts

When dealing with a Linux server that’s running multiple services, I’ve seen this go wrong when two or more services try to bind to the same port - it’s a recipe for disaster. This is where people usually get burned, as one or more of the services will fail to start. To avoid this, we can use the ss command and nftables to troubleshoot local port conflicts.

[Read More]

Troubleshooting DNS Leaks with systemd-resolved and resolv.conf

Introduction to DNS Leaks

I’ve seen DNS leaks become a major concern for Linux users who care about their online privacy. Essentially, a DNS leak happens when your system’s DNS queries slip outside a secure tunnel - think VPN - and potentially expose your browsing history to prying eyes. Given the current online security landscape, being able to troubleshoot these leaks is more important than ever.

Understanding systemd-resolved

Systemd-resolved is a key system service in Linux that handles DNS resolution. It’s part of the systemd suite and is widely used in modern distributions like Ubuntu, Debian, and Fedora. One of the benefits of systemd-resolved is that it can be configured to use DNS over TLS (DoT) or DNS over HTTPS (DoH), which encrypts DNS queries and reduces the risk of leaks.

[Read More]

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]

Troubleshooting Common Connection Issues with resolvectl and ss on Linux

Introduction to Troubleshooting Connection Issues

When working with Linux, connection issues can arise due to various reasons such as misconfigured DNS settings, firewall rules, or network interface configurations. I’ve seen this go wrong when a simple DNS misconfiguration can bring down an entire application. To troubleshoot these issues, Linux provides a range of tools, including resolvectl and ss. In this article, we will explore how to use these tools to diagnose and resolve common connection problems.

[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]

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]

Troubleshooting Slow DNS Lookups with systemd-resolved and resolvectl

Introduction to Troubleshooting Slow DNS Lookups

I’ve seen slow DNS lookups bring Linux systems to a crawl, and with our increasing reliance on online services, efficient DNS resolution is crucial. This article focuses on troubleshooting slow DNS lookups using systemd-resolved and resolvectl, which are integral to many modern Linux distributions.

Understanding systemd-resolved

systemd-resolved is a system service that provides DNS resolution, replacing traditional implementations like glibc’s resolver. It offers improved security, better DNSSEC handling, and efficient management of multiple DNS servers. To check if it’s running on your system, use:

[Read More]

Taming systemd-resolved: Avoiding DNS Leaks and Surprises with Split DNS Configurations

Introduction to systemd-resolved

I’ve worked with Linux systems for years, and one thing that’s become increasingly important is DNS resolution. systemd-resolved is a DNS resolver component of the systemd suite, designed to provide a flexible and secure way to resolve domain names. It was introduced in systemd version 216, released in 2015, and has since become a standard component in many Linux distributions. By default, systemd-resolved uses a split DNS configuration, which can sometimes lead to DNS leaks and unexpected behavior. I’ve seen this go wrong when a system has multiple network interfaces or connections, each with its own DNS resolver configuration.

[Read More]