dns-resolution-diagnosis

Diagnoses Linux DNS resolution failures using dig, resolvectl, and tcpdump.

3|2|Updated Apr 24, 2026
One-click install
npx skills add https://github.com/openeuler-mirror/witty-diagnosis-agent --skill dns-resolution-diagnosis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dns-resolution-diagnosis
Source: https://github.com/openeuler-mirror/witty-diagnosis-agent/tree/main/skills/dns-resolution-diagnosis
Command: npx skills add https://github.com/openeuler-mirror/witty-diagnosis-agent --skill dns-resolution-diagnosis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires dig, resolvectl, tcpdump, iptables, nc, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses complex DNS resolution failures by systematically identifying issues ranging from configuration errors and cache pollution to network-level blocking and DNS hijacking.

Core Features & Use Cases

  • Three-Layer Analysis: Performs deep-dive diagnostics across system configuration, protocol types, and code-level root causes.
  • Automated Troubleshooting: Automatically detects common failure modes like NXDOMAIN, TCP fallback issues, and EDNS0 incompatibility.
  • Use Case: When a server reports intermittent connectivity or domain resolution timeouts, this Skill executes a full diagnostic suite to pinpoint whether the root cause is a local resolv.conf misconfiguration, a systemd-resolved cache issue, or an upstream firewall blocking UDP 53.

Quick Start

Use the dns-resolution-diagnosis skill to perform a full diagnostic check on the current system to identify why domain resolution is failing.

Frequently Asked Questions about dns-resolution-diagnosis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose DNS resolution failures and NXDOMAIN errors in Linux?

Diagnosing DNS resolution failures requires analyzing system configurations, network connectivity, and protocol-level responses. You must check for local misconfigurations, systemd-resolved cache issues, or upstream firewalls blocking UDP port 53.

Why does my Linux server experience intermittent domain resolution timeouts?

Intermittent domain resolution timeouts are frequently caused by configuration inconsistencies, cache pollution, or network-level blocking. Investigate whether the root cause is a local resolv.conf error, a systemd-resolved cache issue, or upstream firewalls.

What is the best way to troubleshoot a systemd-resolved cache issue causing domain lookup failures?

Troubleshooting a systemd-resolved cache issue requires a multi-layer root cause analysis across system configuration and protocol types. This approach identifies whether failures are due to cache pollution, TCP fallback issues, or EDNS0 incompatibility.

Can I use dig and resolvectl to perform a multi-layer root cause analysis for DNS hijacking?

Yes, using dig and resolvectl enables multi-layer root cause analysis for DNS hijacking. These tools analyze protocol-level responses and system configurations to detect network-level blocking, EDNS0 incompatibility, and configuration inconsistencies.

Do I need tcpdump and iptables to diagnose upstream firewall blocking UDP 53?

Yes, tcpdump and iptables are required to diagnose upstream firewall blocking UDP 53. These network diagnostic tools capture protocol-level traffic and inspect rules to identify network-level blocking causing domain lookup timeouts.

What are the limitations of using automated troubleshooting for TCP fallback issues in DNS?

Automated troubleshooting for TCP fallback issues is limited to detecting known failure modes like EDNS0 incompatibility and configuration inconsistencies. It requires standard network diagnostic tools and cannot fix external upstream firewall policies blocking traffic.