Using journalctl to Track Down the Hidden ‘eth0’ Carrier Lost Messages That Cause Network Flaps After a Kernel Upgrade

When a kernel upgrade silently breaks your network

Kernel upgrades are usually painless, but on a few systems they can trigger a cascade of “carrier lost” messages that make the interface drop and come back up repeatedly. The messages are buried deep in the system journal, so you may not notice them until the network flaps start causing outages. This post shows how to locate those hidden messages with journalctl, correlate them with real‑world symptoms, and apply a fix that keeps the interface stable.

[Read More]

Fixing broken /etc/hosts entries after a Windows sync introduces stray CR characters

When a Windows machine syncs a shared folder that contains /etc/hosts, the file often ends up with Windows‑style CRLF line endings.

If you’ve ever pulled a hosts file from a Windows share, you’ve probably noticed that the resolver starts acting weird. The glibc resolver stops at the carriage return (\r) and treats the rest of the line as part of the hostname. That means lookups for localhost, myserver, or any entry that follows a stray CR fail, and some services silently fall back to DNS—exposing the system to name‑resolution attacks.

[Read More]

Taming systemd-resolved: Avoiding DNS Surprises on Multi-Network Linux Setups

Introduction to systemd-resolved

I’ve seen systemd-resolved cause some headaches in multi-network setups, so it’s worth understanding how it works. As part of the systemd suite, systemd-resolved is a DNS resolver that’s enabled by default on many modern Linux distributions, including Ubuntu and Fedora. The real trick is configuring it to avoid DNS surprises.

Configuring systemd-resolved

To get systemd-resolved working the way you want, you need to know how it uses DNS servers. It combines the DNS servers provided by your system’s network configuration with those specified in the /etc/systemd/resolved.conf file. Don’t bother with the network configuration; just modify the resolved.conf file to specify your preferred DNS servers. For example, to use Google’s public DNS servers, add the following lines to the [Resolve] section:

[Read More]

Using resolvectl to Diagnose and Resolve Stubborn DNS Issues on Linux

Introduction to resolvectl

I’ve seen my fair share of DNS issues on Linux, and one tool that’s always helped me resolve them is resolvectl. This command-line utility, part of the systemd suite, provides a comprehensive way to query and configure DNS settings on your system. In this article, I’ll share some practical examples of how to use resolvectl to diagnose and fix stubborn DNS issues.

Understanding DNS Resolution

Before diving into resolvectl, it’s essential to understand how DNS resolution works on Linux. The DNS (Domain Name System) is responsible for translating human-readable domain names into IP addresses that computers can understand. On Linux systems, DNS resolution is typically handled by a resolver, which queries DNS servers to resolve domain names. The resolver configuration is usually defined in /etc/resolv.conf, but with systemd, resolvectl offers a more integrated and dynamic way to manage DNS settings.

[Read More]

Debugging Local Network Issues with resolvectl and ss

Debugging Local Networks with resolvectl and ss

When I’m dealing with local network issues, I always reach for two essential tools: resolvectl and ss. These utilities provide valuable insights into DNS resolution and network socket connections, making it easier to identify and troubleshoot common network problems.

resolvectl for DNS Troubleshooting

I’ve seen this go wrong when DNS resolution fails, and resolvectl is a lifesaver. This command-line utility lets you query and control the systemd-resolved service, which handles DNS resolution on many modern Linux distributions. With resolvectl, you can perform DNS lookups, check the status of DNS servers, and even override default DNS settings for troubleshooting purposes.

[Read More]

Debugging Connectivity Issues with resolvectl and ss: A Step-by-Step Guide to Identifying DNS and Routing Problems

Introduction to Debugging Connectivity Issues

I’ve seen this go wrong when dealing with connectivity issues on Linux systems: not knowing where to start. Two essential tools can save you a lot of time - resolvectl and ss. These tools help in identifying and troubleshooting DNS and routing problems. Let’s dive into a step-by-step guide on how to use them, focusing on practical examples and security considerations where relevant.

Understanding resolvectl

resolvectl is a command-line utility provided by systemd for querying and configuring the DNS resolver. It’s incredibly useful for controlling the DNS resolver, including setting DNS servers, querying the DNS cache, and configuring DNS over TLS (DoT) or DNS over HTTPS (DoH). To get started with resolvectl, you can use the following command to status the current DNS configuration:

[Read More]

Troubleshooting Common Issues with nftables Rules and Debian's ifupdown

Introduction to nftables and ifupdown

As a Linux admin, you’re probably no stranger to managing network traffic and configuring firewall rules. Two tools that can make your life easier are nftables and ifupdown. nftables is a packet filtering framework that’s meant to replace traditional iptables, while ifupdown is a Debian-specific tool for managing network interfaces. I’ve seen this go wrong when people don’t take the time to understand how these tools work together. In this article, we’ll dive into troubleshooting common issues with nftables rules and Debian’s ifupdown, focusing on practical solutions and real-world examples.

[Read More]

Resolving DNS Quirks with systemd-resolved and Split DNSConfigs

Introduction to DNS Quirks and systemd-resolved

I’ve seen my fair share of DNS issues over the years, and in complex network environments, they can become a real headache. These problems often stem from misconfigured DNS servers, conflicting resolver settings, or the challenges of managing split DNS configurations. With systemd-resolved, managing DNS resolution has become more robust and secure. I’ve found it to be an essential tool in my Linux toolkit.

[Read More]

Using resolvectl to Fix DNS Leaks and Improve Linux Network Privacy

Introduction to resolvectl

I’ve seen DNS leaks compromise network privacy time and again, so I’m always on the lookout for ways to tighten up my DNS configuration. As a Linux user, you’re likely familiar with the importance of DNS resolution for accessing websites and services. resolvectl is a powerful tool that comes with systemd, and it’s been a game-changer for managing DNS resolution on my systems.

What is resolvectl?

resolvectl is a command-line utility that allows you to control and configure DNS resolution on your system. It’s part of the systemd suite, which is widely used on modern Linux distributions. With resolvectl, you can set DNS servers, query DNS records, and troubleshoot DNS issues - all from the comfort of your terminal.

[Read More]

Using systemd-resolved to Tame DNS Lookup Surprises on Multi-Homed Linux Machines

Introduction to systemd-resolved

I’ve seen this go wrong when working with multi-homed Linux machines: DNS lookup surprises can be a real pain. A multi-homed machine, with multiple network interfaces each connected to a different network, can lead to DNS resolution problems. The system may not know which interface to use for DNS lookups, causing all sorts of issues. This is where people usually get burned - trying to troubleshoot DNS problems without a clear understanding of how their system is configured. To address this issue, I usually start with systemd-resolved, a tool that can help manage DNS resolution and provide more predictable behavior.

[Read More]