DNS Troubleshooting Tools
# CHAPTER 16
DNS Troubleshooting Tools
1. Introduction
When a website goes offline, the chaos begins. Is the web server crashed? Is the database dead? Is the internet cable severed? In 90% of cases, the problem is DNS. A network engineer does not guess; they use a specialized toolkit of command-line utilities to isolate the exact point of failure. In this chapter, we will transition from theory to operations. We will master the core diagnostic tools—nslookup, dig, host, ping, and traceroute—and learn a structured, deductive methodology for diagnosing catastrophic network failures.
2. Learning Objectives
By the end of this chapter, you will be able to:- Establish a deductive troubleshooting methodology (Layer 3 vs Layer 7).
-
Use
nslookupfor basic interactive DNS queries.
-
Master the
digcommand for advanced, verbose DNS investigation.
-
Use
pingandtracerouteto verify physical connectivity.
- Isolate DNS failures between Local Resolvers and Authoritative Servers.
3. The Troubleshooting Mindset
Rule #1: It's always DNS. (Until you prove it isn't). When a user says, *"The internet is down,"* you must separate the Name (DNS) from the Number (IP Address).- Physical Outage: The cables are broken, or the server is turned off. (An IP problem).
- Logical Outage: The server is running perfectly, but the phonebook is pointing to the wrong place. (A DNS problem).
4. Tool 1: ping (The Connectivity Test)
Before you troubleshoot DNS, you must prove the computer is actually connected to the internet.ping sends an ICMP Echo Request to an IP address.
The Test:
-
1.
Open terminal. Run
ping 8.8.8.8(Google's IP).
- If it replies, your internet works perfectly.
-
2.
Run
ping google.com.
- If it says "Unknown Host" or "Could not find host," you have proven with 100% certainty that your internet works, but your DNS is completely broken.
5. Tool 2: nslookup (Name Server Lookup)
nslookup is the oldest, most universal DNS tool (built into Windows, Mac, and Linux). It simply asks your default Resolver for a record.
Basic Usage:
nslookup mywebsite.com
This asks your ISP for the A Record.
Advanced Usage (Bypassing the ISP):
What if you think your ISP's cache is outdated? You can force nslookup to ask a specific server.
nslookup mywebsite.com 1.1.1.1
This forces the query to go to Cloudflare instead of your local router.
6. Tool 3: dig (Domain Information Groper)
dig is the professional's tool (Native on Mac/Linux). It provides incredibly verbose, raw DNS data, making it vastly superior to nslookup.
Basic Usage:
dig google.com
The output contains an ANSWER SECTION showing the IP address, and critically, the exact remaining TTL of the cached record.
Querying Specific Records:
dig MX google.com (Find the mail servers)
dig TXT google.com (Find the verification records)
The Ultimate Diagnostic Command:
dig +trace google.com
This forces your computer to bypass local caching and manually perform the Iterative queries across the Root, TLD, and Authoritative servers, printing every single step. If the chain breaks, you see exactly which server died.
7. Tool 4: host (The Simple Translator)
host is a streamlined alternative to dig on Linux/Mac. It removes the verbose metadata and just gives you the plain-English answer.
Usage:
host mywebsite.com
*Output:* mywebsite.com has address 203.0.113.10
host -t MX mywebsite.com (Specifically ask for Mail records).
8. Troubleshooting Scenario: The Missing Website
The Complaint: A developer launched a new website on a new server IP yesterday. They updated the DNS. The client says the old website is still loading. The Investigation:-
1.
Run
dig mywebsite.com.
-
Result: It returns the *old* IP address. You look at the TTL value; it says
45000(12 hours remaining).
- 2. The Diagnosis: The developer updated the Authoritative server, but they failed to lower the TTL before the migration (Chapter 9). The client's ISP resolver is still caching the old IP.
-
3.
The Proof: Run
dig mywebsite.com @ns1.authoritativeserver.com(Ask the Authoritative server directly).
- Result: It returns the *new* IP address!
-
4.
The Resolution: Tell the client to wait 12 hours for the cache to expire, or ask them to
ipconfig /flushdnson their local machine.
9. Best Practices
-
Verify Globally: Just because
nslookupworks on your laptop does not mean the website works in Europe. Professional engineers use free online tools likeDNSChecker.orgorwhatsmydns.net. These tools ping your DNS record from 50 different countries simultaneously, allowing you to visually verify global propagation.
10. Common Mistakes
-
Relying Solely on Ping: Beginners often use
ping mywebsite.comto check the IP address. However,pingrelies on the Operating System's internal cache. If you want the actual, real-time truth from the network, you must usenslookupordig, which intentionally bypass the local OS cache and talk directly to the DNS server.
11. Practice Exercises
-
1.
Explain the diagnostic difference between running
nslookup website.comandnslookup website.com 8.8.8.8.
-
2.
A user cannot access
github.com. A ping to8.8.8.8is successful. Adig github.comreturns a "SERVFAIL" error. Where is the most likely point of failure?
12. MCQs with Answers
Which command-line utility provides the most detailed, verbose output of DNS records, including the exact TTL value and authoritative server referrals?
When troubleshooting a potential DNS outage, a network engineer runs ping 1.1.1.1 and receives successful replies. What does this confirm?
13. Interview Questions
- Q: A client claims their website is offline. You can access it perfectly from your office. Walk me through the specific command-line steps you would use to determine if the issue is a local ISP DNS caching problem.
-
Q: Explain the purpose of the
dig +tracecommand. What specific DNS architectural concept does it emulate?
-
Q: Contrast the utility of
pingversusnslookupwhen diagnosing a reported network outage.
14. FAQs
Q: Why does Windows not have thedig command by default?
A: dig is a native Unix/Linux utility. Historically, Microsoft relied exclusively on nslookup. However, modern Windows 10/11 users can easily access dig by installing the Windows Subsystem for Linux (WSL), which provides a full Ubuntu terminal directly inside Windows.
15. Summary
In Chapter 16, we transformed theoretical knowledge into actionable operational skills. We built a deductive troubleshooting methodology, utilizingping to verify physical connectivity before blaming the DNS protocol. We mastered nslookup for basic queries and unlocked the immense diagnostic power of dig to analyze raw TTL values and trace the complete global resolution chain. By understanding how to bypass local caches and interrogate Authoritative servers directly, we gained the ability to confidently diagnose and remediate the most complex DNS synchronization failures.