Understanding DNS & Nameservers
A Complete Troubleshooting Guide
Evans
Last Update 21 giorni fa
Whether you're just checking why your email isn't arriving, you're a developer trying to debug a client site, or you're trying to figure out what's going on before contacting support. Start at the top and go as far as you need to.
What is DNS?
Think of DNS as the internet's phonebook.
When someone types example.com into a browser, DNS is what looks up the actual address (an IP address — a set of numbers) that the browser needs to connect to.
Nameservers are the "phonebooks" themselves; the specific servers that hold the answer for your domain.
Every domain is assigned to one or more nameservers, and those nameservers store all the details: where your website lives, where your email should be delivered, and so on.
What does "authoritative" mean?
This is the concept that causes the most confusion, so it's worth explaining properly.
A nameserver is authoritative for your domain when it has actually been set up, in advance, to answer questions about that specific domain.
Just because you point your domain at a nameserver doesn't automatically make that nameserver ready to answer for it. Someone (usually your host) needs to have already created a "zone" (a record book) for your domain on that nameserver first.
Analogy: Imagine you tell the post office to start delivering your mail to a new address.
If that address doesn't exist yet; no house built, no mailbox, your mail can't be delivered there, no matter how correctly you filled out the change-of-address form.
The nameserver is the same: it needs to already have your domain's "house" built before your domain can successfully point to it.
This is exactly the situation many clients run into:
they change their nameservers at the registrar, but the domain doesn't accept them, or the site/email stops working entirely.
Very often, the new nameservers were never actually set up to host that domain in the first place.
We'll cover exactly how to check for this in Part 3.
You'll need a simple text-based window called a terminal (or Command Prompt) to run the checks below.
It's completely safe; you're only looking things up, not changing anything.
- Press the Windows key, type cmd, press Enter.
- (Optional, more modern option: type PowerShell instead.)
- Press Command + Space, type Terminal, press Enter.
Linux:
- Press Ctrl + Alt + T, or search "Terminal" in your applications menu.
Once it's open, paste the command in (Ctrl+V on Windows, Cmd+V on Mac and Ctrl+Shift+V on Linux) and press Enter.
Note: Mac and Linux both use a tool called dig, which gives more detail.
Windows uses nslookup by default, which is simpler but still gives you what you need.
If you're on Windows and want to use dig too, you can, but it needs to be installed separately; nslookup is enough for everything in this guide.
Throughout this guide, replace:
example.co.za → the actual domain in question
ns1.hostname.net → the nameserver you're checking
Each check below explains when it's useful, how to run it, and, importantly, what a working result looks like versus a broken one, so you're not left guessing.
Check 1: What nameservers is my domain currently using?
When to use this: Your first stop for almost any issue; website down, email not working, or after making any change at your registrar.
Windows:
ns1.hostname.net
ns2.hostname.net
This means the domain is currently pointed at these two nameservers.
Compare this against what you expect; either what your host told you to use, or what you set at your registrar.
or
Check 2: Are those nameservers actually answering correctly for my domain?
When to use this: Once you know which nameservers your domain is supposed to be using (from Check 1, or from your host), this confirms whether that specific nameserver genuinely has your domain's information i.e., whether it's authoritative.
This confirms the nameserver has your domain properly configured and is answering for it: it's authoritative.
This tells you that the nameserver either isn't reachable or very commonly, it was never set up with a zone for that domain.
This is the single most common cause of "I changed my nameservers but nothing happened."
When to use this: This is the check that solves the exact situation many clients run into: they've registered a domain, they try to point it at new nameservers, and the change either doesn't take effect, or the domain stops resolving entirely (sometimes shown by the registry as "Server Hold" or similar).
Run this before changing nameservers at the registrar, using the new nameserver you're planning to switch to:
If you see this, the new nameserver is ready, and it's safe to make the switch at your registrar.
If you switch to it now, your domain will likely stop resolving, particularly with certain domain registries such as .co.za; the change may be rejected, or the domain may show a "hold" status until this is fixed.
What to do about it: Before switching nameservers, ask your hosting provider to add/create the domain (set up its zone) on the new nameservers first.
Once Check 3 shows a working SOA record, it's safe to update the nameservers at the registrar.
This traces the entire path a DNS lookup takes, hop by hop, so you can see exactly where it breaks down.
It's more technical; feel free to skip it and just share your results from the earlier checks with support instead.
Mac / Linux:
There isn't a simple built-in equivalent.
Instead, try a free visual tool like whatsmydns.net or dnschecker.org, type in your domain, and it shows how it resolves from multiple locations worldwide.
Wherever it stops is meaningful; for example, if it stops right after reaching the domain's own nameservers, that confirms the problem lies in how the domain is set up on those nameservers (which ties back to Checks 2 and 3). Copy or screenshot this output when contacting support, as it saves a lot of back-and-forth.
Useful if you'd like to gather everything in one go before contacting support.Mac / Linux:
| What you see | What it usually means |
| No nameservers listed at all (Check 1) | Domain isn't configured, or change hasn't spread yet. Wait up to 24–48h if recently changed |
| NXDOMAIN | The domain name doesn't exist as typed, or isn't registered/active |
| Timeout / no response from a specific nameserver (Check 2) | That nameserver isn't reachable, or was never set up for this domain |
| No SOA record from the new nameserver (Check 3) | The domain hasn't been configured on that nameserver yet; this is why a nameserver change gets rejected or the domain stops resolving. Set up the zone on the new nameserver first |
| Domain shows "Server Hold" or similar at the registry | Commonly caused by the same issue as above: the nameservers being pointed to aren't authoritative for the domain yet |
| Trace (Check 4) breaks partway through | Wherever it stops is the point of failure. Share this with support along with which check failed |
These checks are meant to help you understand what's happening and speed things up: not to replace support entirely.
If you've run through the checks and something still isn't clear, just share:
- Which check you ran
- What domain and nameserver you used
- The exact output you got (a copy/paste or screenshot is perfect)
That's usually enough for support to pick up right where you left off, without having to repeat all the checks themselves.
