Innovate | Connect | Transform
ContactService statusUSD $

GICT knowledge base

Find DNS Zone Files and Understand BIND Zone Format

Published

DNS

DNS records describe how a domain is resolved, but there is no universal directory containing every domain’s DNS files. First identify the authoritative DNS provider. Editing a file on a web server that does not serve the domain’s authoritative zone will not update public DNS.

Find the source of the authoritative zone

For a self-managed BIND server, inspect its active configuration and the zone’s file statement. A relative file path is resolved against the configured working directory. Configuration and zone directories vary by operating system and installation; do not assume a path copied from another server applies.

For cPanel, DirectAdmin, Plesk, Webuzo or a managed DNS service, use its supported zone editor or documented management interface. Panel-generated files may be overwritten. Preserve the current zone and understand the panel’s rebuild process before making administrator-level changes. Registrar delegation and a provider’s local zone are separate settings.

Read a BIND-style zone file

A record generally contains an owner name, optional TTL and class, record type and type-specific data. $ORIGIN sets the suffix for relative names, @ means that origin, and a trailing dot marks an absolute name. Without the trailing dot, a hostname can acquire the zone suffix unexpectedly. $TTL sets a default TTL; it is a directive, not a resource record.

The SOA record describes zone administration and timing. Parentheses allow a logical record to span several physical lines, so records do not all have to fit on one line. TXT data can also contain multiple quoted strings. Preserve the syntax required by the actual DNS software.

Illustrative forward zone

This documentation-only fixture uses reserved example addresses. It is not a production nameserver plan, a real mail policy or a recommendation to operate with only one authoritative server. A production zone needs the provider’s actual addresses, delegation, redundancy and mail settings.

$ORIGIN example.com.
$TTL 300
@ IN SOA ns1.example.com. hostmaster.example.com. (
  2026101501 3600 600 1209600 300 )
@ IN NS ns1.example.com.
ns1 IN A 192.0.2.53
@ IN A 192.0.2.10
@ IN AAAA 2001:db8::10
www IN CNAME example.com.
mail IN A 192.0.2.20
@ IN MX 10 mail.example.com.
@ IN TXT "v=spf1 ip4:192.0.2.20 -all"
_dmarc IN TXT "v=DMARC1; p=none"

The SOA’s contact name represents a mailbox using DNS notation, not a literal email address. The serial identifies the zone version; the remaining numbers describe refresh, retry, expiry and negative-caching parameters. Do not change them blindly or assume an arbitrary serial will be newer than the current one.

Understand record and zone boundaries

A and AAAA map names to IPv4 and IPv6 addresses; CNAME aliases a name; MX identifies mail-exchanger hostnames; NS identifies authoritative servers; TXT carries application-specific text. PTR belongs in the relevant reverse zone, usually controlled by the address provider. See the DNS record reference for examples and constraints.

One server can host many zones, but that does not make unrelated registered domains part of a single zone. Delegated child zones have their own authority boundaries. Provider features called ALIAS, ANAME or flattening are not a universally interchangeable standard CNAME record; follow the provider’s documented apex behavior.

Validate before and after a change

For BIND, validate configuration and zone syntax using the appropriate check tools before the supported reload. A valid zone file alone does not establish working delegation, DNSSEC, transfers or application behavior. Query the actual authoritative servers and then recursive resolvers; distinguish publication errors from cached-answer delays. Do not restart or replace a managed service merely to test a copied example.

Reference: BIND configuration and zone-file documentation.

Reviewed October 15, 2026. The illustrative zone was checked in an isolated BIND lab; no customer zone, delegation or server configuration was changed.

Related guides

Account services are unavailable until the production backend is configured.