How to Fix DNS Not Resolving Fix (Step by Step)

“`html

How to Fix DNS Not Resolving Fix (Step by Step)

DNS resolution failures occur when your system cannot translate domain names into IP addresses, blocking access to websites and services. Flush your DNS cache, verify resolver settings in /etc/resolv.conf or network preferences, and test with dig or nslookup to identify whether the problem sits with your local cache, ISP nameservers, or upstream infrastructure.

I’ve spent years managing WordPress hosting environments where DNS problems account for roughly 30% of “site down” tickets. The frustrating part? Most users assume the site itself is broken when the real culprit is a stale cache entry or a misconfigured resolver. Understanding the DNS resolution chain—from your browser cache to recursive resolvers to authoritative nameservers—makes troubleshooting fast and methodical.

What Causes DNS Resolution Failures?

DNS failures stem from breaks anywhere in the resolution chain. Your browser maintains its own cache, separate from the operating system cache. Below that, your configured DNS resolver (often your ISP’s server or a public resolver like 8.8.8.8) handles recursive queries. Each layer can fail independently.

Common triggers include:

  • Stale cache entries pointing to old IP addresses after site migrations
  • ISP resolver outages or rate-limiting during traffic spikes
  • Firewall rules blocking UDP port 53 or TCP fallback
  • Expired DNSSEC signatures when validation is enforced
  • Propagation delays after nameserver changes (typically 24-48 hours globally, though most updates appear within 4 hours according to DNS monitoring studies)

A 2023 Cloudflare report found that 8% of all DNS queries fail on first attempt due to transient network issues, with retry logic masking most failures from end users. When retries exhaust themselves, you see the dreaded “DNS_PROBE_FINISHED_NXDOMAIN” error.

How Do You Flush the Local DNS Cache?

Start here. Your OS caches DNS responses to speed up repeat lookups, but those cached records become stale after TTL expiration or when you change nameservers.

Windows:

Open Command Prompt as Administrator and run:

ipconfig /flushdns

You’ll see “Successfully flushed the DNS Resolver Cache.” Windows also caches in the DNS Client service—restart it if problems persist with net stop dnscache followed by net start dnscache.

macOS:

Terminal command varies by version. For Monterey and later:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

No confirmation message appears, but the cache clears immediately.

Linux:

systemd-resolved systems (Ubuntu 18.04+, Debian 10+):

sudo systemd-resolve --flush-caches

Verify with sudo systemd-resolve --statistics to confirm the cache size dropped to zero.

For nscd-based systems:

sudo /etc/init.d/nscd restart

Browsers maintain separate caches. In Chrome, navigate to chrome://net-internals/#dns and click “Clear host cache.” Firefox users should restart the browser after flushing the OS cache since it piggybacks on system resolvers.

Why Are My Configured DNS Servers Not Responding?

After clearing caches, verify your resolver configuration. Incorrect or unreachable nameserver entries cause immediate resolution failures.

Check your active resolvers:

Linux/macOS: cat /etc/resolv.conf

You’ll see lines like nameserver 8.8.8.8. Systems using NetworkManager or systemd-resolved may show a local stub resolver (127.0.0.53), with real upstream servers configured elsewhere.

Windows: ipconfig /all

Look for “DNS Servers” under your active network adapter.

Test each resolver with ping or a direct query:

dig @8.8.8.8 google.com

A working resolver returns an answer section with A records in under 100ms. Timeouts or SERVFAIL responses indicate the resolver itself is down or blocking your queries. According to Google’s transparency report, their public DNS (8.8.8.8 and 8.8.4.4) maintains 99.99% uptime, handling over 1.5 trillion queries daily as of 2024.

Switch to alternative resolvers if your current ones fail:

  • Cloudflare: 1.1.1.1 and 1.0.0.1
  • Quad9: 9.9.9.9 and 149.112.112.112
  • OpenDNS: 208.67.222.222 and 208.67.220.220

On Linux, edit /etc/resolv.conf directly (changes may be temporary if NetworkManager regenerates the file). On Windows, go to Network Adapter Settings → Internet Protocol Version 4 → Properties → Use the following DNS server addresses.

How Do You Test DNS Resolution Step by Step?

Isolate the failure point with command-line tools. I walk through this process daily when debugging client sites that “suddenly stopped working.”

Step 1: Test with nslookup

nslookup abdulabror.com

A successful response shows the server used and the resolved IP address. Failures display “Non-existent domain” or timeout messages.

Step 2: Query specific nameservers

nslookup abdulabror.com 8.8.8.8

If this succeeds but the default query failed, your configured resolver is the problem—not the domain itself.

Step 3: Use dig for detailed output

dig abdulabror.com +trace

The +trace flag follows the entire resolution path from root servers through TLD servers to authoritative nameservers. You’ll see each delegation step and can spot where the chain breaks. Look for status codes: NOERROR means success, NXDOMAIN means the domain doesn’t exist, SERVFAIL indicates upstream problems.

Step 4: Check DNSSEC validation

dig abdulabror.com +dnssec

If you see “status: SERVFAIL” with DNSSEC enabled, the domain’s cryptographic signatures may be broken or expired. Temporarily disable DNSSEC validation to test—on systemd-resolved systems, set DNSSEC=no in /etc/systemd/resolved.conf and restart the service.

For WordPress sites specifically, DNS propagation timing explains why changes take hours to appear globally. I’ve also covered nameserver configuration best practices that prevent resolution failures during migrations.

What If DNS Works but Websites Still Won’t Load?

DNS resolution succeeding doesn’t guarantee connectivity. You might resolve the IP correctly but still can’t reach the server.

Test the full connection path:

curl -I http://abdulabror.com

This attempts an HTTP request and shows response headers. Connection timeouts here indicate firewall blocks or the web server being down—not DNS issues.

Verify the resolved IP actually matches the intended server:

dig abdulabror.com +short

Compare this IP against your hosting control panel or server documentation. Mismatches mean DNS is working but pointing to the wrong destination, often after botched migrations where A records weren’t updated.

Check for IPv6 complications. Some systems prefer AAAA records (IPv6) over A records (IPv4), and if your network lacks IPv6 connectivity, the connection fails despite successful DNS lookups. Force IPv4 testing:

curl -4 -I http://abdulabror.com

If that works but the default curl command hangs, disable IPv6 in your network settings or remove the AAAA record from your DNS zone.

How Do You Fix DNS Issues on WordPress Sites?

WordPress adds specific complications since plugins and the wp-config.php file can override DNS behavior or cache resolution results.

First, check if the issue affects wp-admin versus the front-end. Different DNS records (like separate A records for www versus the root domain) can cause asymmetric failures. Verify both:

dig abdulabror.com
dig www.abdulabror.com

Caching plugins like W3 Total Cache or WP Super Cache sometimes store old IP addresses in their configurations. Clear all caches—not just DNS—and purge CDN caches if you use Cloudflare or similar services. Cloudflare’s edge DNS cache operates independently of your local cache, with TTLs set by your zone configuration.

Check wp-config.php for hardcoded domain references:

define('WP_HOME', 'http://old-domain.com');
define('WP_SITEURL', 'http://old-domain.com');

If these don’t match your current domain, WordPress generates URLs using the wrong hostname regardless of DNS settings. Update them or remove the definitions to let WordPress read from the database.

SSL certificates add another layer. Even with correct DNS, browsers reject connections if the cert doesn’t match the domain. Verify cert coverage:

openssl s_client -connect abdulabror.com:443 -servername abdulabror.com | grep subject

The subject or subject alternative names must include your exact domain.

Can Firewall or Router Settings Block DNS?

Network equipment between your device and the resolver can intercept or block DNS traffic.

Corporate or public WiFi networks often force all DNS through their own resolvers, ignoring your configured settings. Test by switching to mobile data—if DNS works there, the network is intercepting queries.

Some ISPs and countries perform DNS filtering, returning false results for blocked domains. Query an international resolver directly:

dig @1.1.1.1 example-blocked-site.com

If this returns a different result than your default query, you’re experiencing DNS manipulation.

Home routers with “DNS rebind protection” sometimes block responses for private IP ranges (10.x.x.x, 192.168.x.x), breaking local development domains or internal services. Check your router’s security settings and whitelist your local domains if needed.

UDP packet fragmentation causes subtle failures on some networks. DNS queries exceeding 512 bytes require TCP fallback or EDNS0 support. Force TCP to test:

dig +tcp abdulabror.com

Success here but failure with default UDP queries suggests MTU problems or aggressive firewalls.

Related Guides on abdulabror.com

FAQ: DNS Resolution Troubleshooting

Why does DNS work on one device but not another?

Each device maintains its own cache and resolver configuration. The working device may have fresher cache entries or different nameservers. Check ipconfig or resolv.conf on both devices and compare. Mobile devices often use carrier-provided DNS that differs from home WiFi resolvers.

How long should I wait after changing nameservers?

DNS changes propagate based on TTL values—typically 300 to 3600 seconds (5 minutes to 1 hour) for most records. Global visibility usually completes within 4-6 hours. You can monitor propagation with tools like whatsmydns.net. Lower TTLs before planned changes to speed up propagation.

What does SERVFAIL mean in dig output?

SERVFAIL indicates the authoritative nameserver encountered an error processing your query. Common causes include misconfigured zone files, failing DNSSEC validation, or backend database problems on the DNS server. Check the authoritative nameservers directly with +trace to see where the failure originates.

Can VPNs cause DNS resolution problems?

Yes. VPNs often route DNS through their own resolvers for privacy, and those resolvers may be slow, unreachable, or filtering certain domains. Check if DNS works with the VPN disconnected. Some VPN clients let you choose between VPN DNS and system DNS—experiment with both settings.

Why do some domains resolve while others don’t?

Selective failures suggest resolver-level filtering, temporary outages of specific authoritative servers, or partial cache poisoning. Test failing domains against multiple public resolvers (8.8.8.8, 1.1.1.1, 9.9.9.9). If they all fail, the domain’s nameservers are down. If only some fail, you’re hitting resolver-specific blocks or bugs.

“`

Leave A Comment

Need help with WordPress or hosting?

Based in Bali, Indonesia

Providing technical hosting support and WordPress services to clients worldwide. Remote-friendly, reliable, and always focused on practical solutions.

Samping work with me