Zone Configuration
Each zone in NSD is configured in azone: clause. Zones can either be defined directly with all options, or they can reference a pattern: to inherit common settings.
Basic Zone Options
The domain name of the zone apex. May end with a ’.’ (FQDN notation). This attribute must be present in each zone.
File containing the zone data. If present, used to read and write zone contents. If absent, prevents writing the zone to disk (useful for dynamically generated zones).The zonefile path supports substitution variables for use in patterns:
%s- Zone name%1- First character of zone name%2- Second character of zone name%3- Third character of zone name%z- Top-level domain name%y- Next label under TLD%x- Next-next label under TLD
The
/ character is escaped as “\047” inside %s. Directories are created as necessary.Include options from the specified pattern at this point. The pattern must be defined before this zone.
Primary Zone Configuration
Primary zones serve authoritative data and notify secondary servers of changes.Example Primary Zone
notify
Send NOTIFY messages to the specified address (secondary server) when the zone is updated. Port can be specified with @port.The specified TSIG key is used to sign the NOTIFY message.
Number of times to retry sending NOTIFY messages.
provide-xfr
Allow the specified address to request zone transfers (AXFR/IXFR). For unlisted or BLOCKED addresses, requests are discarded.BLOCKED supersedes other entries. Entries are evaluated in order.
Secondary Zone Configuration
Secondary zones transfer data from primary servers.Example Secondary Zone
allow-notify
Accept NOTIFY messages from the specified primary server addresses. Notifies from unlisted or BLOCKED addresses are discarded.Port can be specified with @port notation.
request-xfr
Request zone transfers from the specified primary server.AXFR option: Forces AXFR only (no IXFR attempts). Useful when primary runs NSD or doesn’t support IXFR.UDP option: Transmits IXFR requests over UDP. Deploy TSIG for security.tls-auth-name: Enables XFR-over-TLS with authentication. Requires TLS 1.3 support and defined tls-auth clause. Default port is 853.
Allow fallback to AXFR if primary doesn’t support IXFR.
Secondary Zone Timers
Limit maximum refresh time for secondary zones (normally from SOA record). Default is 4 weeks.
Limit minimum refresh time for secondary zones.
Limit maximum retry time for secondary zones (with exponential backoff). Default is 2 weeks.
Limit minimum retry time for secondary zones.
Limit minimum expire time. Can be number of seconds or string “refresh+retry+1”.With “refresh+retry+1”, expire time is lower bounded to refresh + retry + 1 second (subject to other timer bounds).
Advanced Secondary Options
Check all configured primaries and use the highest version number. Useful when primaries have different version numbers.
Limit zone transfer size in bytes. Stops very large transfers that could consume memory and disk. 0 means unlimited.
Use this local address for outgoing AXFR/IXFR requests or NOTIFY messages. Port can be specified with @port.
IXFR Support
Store IXFR data to provide incremental zone transfers to clients specified in IXFR contains smaller change sets between zone versions, whereas AXFR contains full zone.
provide-xfr.Maximum storage in bytes for IXFR versions for this zone. 0 means unlimited.
Maximum number of IXFR versions to store.
Create IXFR data when zonefile is read by server. Requires Alternatively, use
store-ixfr: yes.nsd-checkzone -i to create IXFR files offline.IXFR is created when reading from file, but not when receiving AXFR from upstream (upstream generates the IXFR).
Access Control
Access control list for queries. When specified, only listed addresses can query. Without this option, any IP can query.Useful to prevent leaking zone content that’s only meant for XFR over TLS.
Zone Statistics
Collect per-zone statistics in this named group. Output via Use
nsd-control stats and stats_noreset.%s to track each zone individually.Response Rate Limiting (RRL)
Whitelist specific query types for this zone to receive higher rate limit (whitelist-ratelimit instead of normal ratelimit).Available types:
nxdomain- NXDOMAIN responseserror- Error responsesreferral- Referral responsesany- ANY queriesrrsig- RRSIG querieswildcard- Wildcard responsesnodata- NODATA responsesdnskey- DNSKEY queriespositive- Positive responsesall- All query types
Zone Verification
Enable or disable verification for this zone before publishing.
Command to execute for zone verification.
Feed updated zone to verifier over standard input.
Seconds before verifier is terminated. 0 means no timeout.
Catalog Zones
Configure zone as catalog consumer or producer.Only one consumer zone is allowed. Member zones use the pattern from group property or
catalog-member-pattern fallback.Default pattern for catalog consumer member zones when group property is missing or invalid.