Ahosting Logo
Knowledge Base

WHM DNS Functions: Editing Zones and Records

WHM's DNS Functions section is where you edit the DNS records for the domains you host. Most of the time you never open it: zones are created automatically when accounts are created and removed when they are terminated. You come here for exceptions: a client connecting an external mail service, a subdomain pointing somewhere else, a verification record someone needs added today.

The one thing to understand before touching anything: DNS changes are cached across the internet, so a mistake is not instantly reversible. Correcting a bad record takes as long to spread as the bad record did.

The records you will actually edit

A points a name at an IPv4 address. The domain itself and www are A records pointing at your server.

CNAME points a name at another name. Used for subdomains that should follow whatever another host does. A CNAME cannot coexist with other records for the same name, which is why a CNAME on the bare domain causes problems and is best avoided.

MX directs email for the domain. This is the record you will change most, because clients move mail to external providers constantly. MX records have a priority number where lower wins.

TXT holds arbitrary text. In practice: SPF and DKIM records that stop your clients' mail being treated as spam, and verification strings that services ask you to add.

NS names the authoritative nameservers. Set when the zone is created; changing it by hand takes the domain away from your server.

Editing a zone

Open DNS Functions then Edit DNS Zone, choose the domain, and you get the full record list.

Before changing anything, copy the current zone somewhere. A text file on your own machine is enough. If a change breaks mail or the site, having the original in front of you turns a bad afternoon into a two-minute correction.

Make one change, save, and verify before making another. Two changes at once means you cannot tell which one caused a problem.

Why a DNS change is not visible the moment you save itThe zone on the serveryou edit it here, and here it is correct immediatelyCaches in betweenresolvers keep the old answer until the TTL expiresWhat the visitor getsthe cached answer, which may be yesterday'sTTL decides how long a mistake lasts. Verify with a lookup against the nameserver, not with a browser.

Time to live, and why it decides everything

Every record carries a TTL: how long other servers may cache it before asking again. A typical value is 14400 seconds, four hours.

That number is how long a change takes to reach everyone, and equally how long a mistake persists. Lowering it does not help at the moment of the change, because the old long value is already cached everywhere.

So for a planned change: lower the TTL to 300 a day in advance, make the change the next day, confirm it, then raise the TTL back. Updates then propagate in five minutes instead of four hours, and if you get it wrong the correction is equally fast.

This costs nothing and it is the single most useful DNS habit there is.

Pointing mail at an external provider

The most common request you will get. A client moves to a hosted mail service and needs their MX records changed.

Delete the existing MX records and add the ones the provider gives you, with the priorities exactly as specified. Then add their SPF record as a TXT record, and their DKIM record if they provide one.

One extra step catches people: the server still thinks it handles mail for that domain, so mail sent from a site on the same server gets delivered locally instead of going out to the external provider. Setting the domain's mail routing to remote in WHM's email settings fixes it, and skipping it produces the confusing case where external mail works but the contact form's messages vanish.

Verify afterwards:

dig MX clientdomain.com

Adding a verification record

Services ask for a TXT record with a specific string. Add it exactly as given, these strings are checked character for character.

Two things go wrong. The name field usually wants the bare domain or a specific subdomain, and putting the string in the wrong name means verification never succeeds. And long strings sometimes need quoting; if WHM rejects a value, wrapping it in quotes is usually the answer.

Adding a subdomain that points elsewhere

To send shop.clientdomain.com to an external platform, add either an A record with the address they give you, or a CNAME pointing at the hostname they specify.

Use whichever they ask for. A CNAME follows their infrastructure if they change addresses, which is why platforms prefer it; an A record is fixed and breaks if they renumber.

Never edit these casually

NS records. Changing them takes the domain away from your server. Only correct here if they are wrong.

The SOA record. The serial number in it tells other servers whether the zone changed. WHM increments it for you; editing it by hand can make changes fail to propagate.

The A record for the domain itself, unless you are deliberately moving the site. This is the record that decides whether the website loads at all.

Verify with a lookup, not a browser

After any change, check with a DNS query rather than by loading the site:

dig clientdomain.com
dig MX clientdomain.com
dig TXT clientdomain.com

Your browser caches aggressively, your operating system caches, and your network's resolver caches. A site that loads fine for you proves nothing about what everyone else is getting.

Query an external resolver to see what the wider internet has:

dig @8.8.8.8 clientdomain.com

When a zone is missing entirely

If a domain has no zone, the account was created without one or it was removed. Add it through DNS Functions then Add a DNS Zone, then check the records match what the account needs: a freshly created zone points at defaults, not necessarily at the right place.

Note that terminating an account removes its zone. If a client is leaving but keeping the domain, move DNS before terminating, or the domain stops resolving anywhere the moment you press confirm. Terminating client accounts walks through the checklist.

Related

For setting up your own nameservers rather than editing zones, setting up private nameservers in WHM deals with the registrar half that people skip.

For the section layout, the WHM dashboard overview shows which screens belong to you and which need root.

Watch these steps on screen 1 clip · 0:42

Recorded on a real panel, no narration, captions on screen. Opens here without leaving the page and without an account. Every name, address and figure shown is made up for the recording.