DNS Troubleshooting Process
Step 1 — Confirm DNS is the problem: Can the user reach the destination by IP address? If yes, DNS is the issue. If no, the problem is at a lower layer.
Step 2 — Check DNS configuration: 'ipconfig /all' (Windows) or 'cat /etc/resolv.conf' (Linux) shows the configured DNS server IP. Verify the DNS server IP is correct. If APIPA (169.254.x.x), DHCP failed — no DNS server was assigned.
Step 3 — Test DNS resolution: 'nslookup google.com' — does it return an IP? If the response is 'DNS request timed out,' the DNS server is unreachable. If it returns the wrong IP, the DNS server has incorrect records. 'nslookup google.com 8.8.8.8' — queries Google's public DNS directly. If this works but the corporate DNS fails, the corporate DNS server has an issue.
Step 4 — Flush DNS cache: 'ipconfig /flushdns' (Windows). Stale DNS cache can cause resolution to incorrect IPs after a record changes. After flushing, retry the resolution.
Step 5 — Verify DNS server reachability: 'ping dns-server-ip'. If DNS server is unreachable, check routing and firewall rules for UDP/TCP 53.
Common DNS Failures
DNS server unreachable: DHCP assigned wrong DNS server IP, firewall blocking UDP 53, DNS server down. Fix: correct DNS server IP, open firewall rule for port 53, restart DNS service.
Incorrect DNS records: A record points to wrong IP (after server migration), TTL hasn't expired yet (old cached record). Fix: update DNS record, reduce TTL before planned changes, flush cache on clients.
Split-horizon misconfiguration: internal users getting external IPs for internal servers (or vice versa). Check internal DNS server configuration. DNSSEC failures: client cannot validate DNSSEC signatures — check DNSSEC chain of trust.
nslookup 'SERVFAIL': DNS server received a valid query but cannot provide an authoritative answer — DNS server is configured as a forwarder but cannot reach upstream servers. Check forwarder configuration and internet connectivity from the DNS server.