Windows Server DNS: Zones, Records, and Configuration Guide

11 min read

Most Windows Server domain controllers in SMB environments also run the DNS Server role, often because DNS was selected during AD DS promotion and never revisited afterward. That works fine until a secondary site stops resolving internal names, a record refuses to update, or someone asks why corp.local and the public website answer differently depending on which network you’re on. At that point the zone type, replication scope, and update settings chosen years earlier suddenly matter.

Windows Server DNS is not just a service that happens to run beside Active Directory. It has its own configuration surface, separate from AD replication, with decisions that affect resolution speed, security exposure, and how cleanly a multi-site environment scales. This article covers Windows Server DNS configuration end to end: zone types, forward and reverse lookups, dynamic update security, SOA and NS fundamentals, and zone transfer hardening.

TL;DR
  • AD-integrated zones replicate through Active Directory, not zone transfers – wrong replication scope leaves zones missing on some DCs
  • Nonsecure dynamic updates allow any client to register or overwrite records – restrict to Secure Only on AD-integrated zones
  • Legacy primary/secondary setups may still allow zone transfers to any server – restrict to named secondary IPs
  • Reverse lookup zones are not created automatically – most environments run for years without one and only notice when a tool needs PTR resolution
  • Scavenging is disabled by default – stale records accumulate silently for years on zones nobody audits

What Windows Server DNS Does

Windows Server DNS provides name resolution for internal Windows environments. In an Active Directory domain it carries extra weight, because domain controllers, member servers, and clients depend on it to find services such as LDAP, Kerberos, the Global Catalog, and domain controller locator records.

For most SMB environments, Windows Server DNS has two jobs. First, it answers authoritative queries for internal zones such as the AD domain namespace. Second, it forwards everything else to upstream resolvers, root hints, or conditional forwarders. When those two roles get mixed together, admins often troubleshoot the wrong layer: a missing internal record is a zone problem, while a failure to resolve public names is usually a forwarding or recursion problem.

Windows Server DNS is not just a background service installed beside Active Directory. It is part of the control plane for authentication, server discovery, application access, and internal routing decisions.

Where DNS Configuration Lives in Windows Server

Most Windows Server DNS settings are managed in DNS Manager (dnsmgmt.msc), reachable from Server Manager under Tools. DNS Manager is still the fastest way to inspect zone type, dynamic update settings, SOA/NS records, zone transfer restrictions, and reverse lookup zones.

PowerShell is the better tool when auditing multiple servers or comparing settings across domain controllers. Commands such as Get-DnsServerZone, Get-DnsServerResourceRecord, and Resolve-DnsName show what a server is actually hosting and resolving, not just what appears in the console. The full cmdlet reference is in Microsoft’s DnsServer PowerShell module documentation.

dnscmd is older but still worth knowing on Server Core or when working from legacy documentation. For new scripts, prefer the PowerShell DNS Server module unless there’s a specific reason to fall back to dnscmd.

DNS Zone Types on Windows Server: Primary, Secondary, Stub, AD-Integrated

A Windows Server DNS deployment is built from zones, and the zone type determines where the authoritative data lives and how it propagates.

Primary zone holds the writable copy of zone data. On a non-AD-integrated setup, the primary zone lives in a flat file under %systemroot%\System32\dns. Changes are made only on the primary; everything else is a copy.

Secondary zone is a read-only copy pulled from a primary (or another secondary) via zone transfer. Useful for distributing read load to a branch office without giving that server write authority over the zone. Secondary zones depend entirely on transfer reliability, which is the most common point of failure in this configuration (see the Zone Transfer Security section below).

Stub zone holds only the NS, SOA, and glue A records for a zone – enough to find the authoritative server without holding full zone data. Stub zones keep referrals current across an org with multiple internal namespaces without manually maintaining conditional forwarder IP lists, but they add a moving part most SMB environments don’t need.

Active Directory-integrated zone stores zone data inside AD as part of a directory partition rather than a flat file, and replicates using AD replication instead of DNS zone transfer. This is the default and recommended choice on any domain controller running DNS, because it gets multi-master updates and AD’s replication security (Kerberos-authenticated, encrypted) instead of plain zone transfer.

Replication scope determines which directory partition an AD-integrated zone’s data lives in, and therefore which DNS servers actually receive it. The common scopes are: all DNS servers in the forest, all DNS servers in the domain, all domain controllers in the domain (legacy, Windows 2000-compatible), or a custom application directory partition. Getting this wrong doesn’t break the zone outright – it just means the zone is missing or incomplete on DNS servers outside that scope, which is one of the more confusing Windows Server DNS symptoms to diagnose because everything looks correct on the server you happened to check first.

Field note

A common pattern in older domains is a zone that exists and resolves correctly on one domain controller but appears missing or incomplete on another. The first instinct is often to blame DNS caching, but the real issue may be that the zone is stored in a replication scope that not every DNS server participates in.

Replication scope decisions and how to change them deserve their own dedicated treatment – that’s out of scope here. Active Directory DNS Problems covers the AD replication side; the dedicated DNS Replication Scope article (forthcoming in this cluster) covers changing scope safely.

Decision in practice: for a single-domain SMB or homelab environment, AD-integrated primary zones on every DC running DNS is close to the only configuration that makes sense. Reach for secondary or stub zones only when integrating with non-Windows DNS infrastructure or bridging separate AD forests.

Why operators get this wrong: teams sometimes leave a legacy primary/secondary pair configured from before the domain was AD-integrated, and never convert it. The zone keeps working, so nobody notices the dependency on zone transfer timing until a transfer silently stops and the secondary goes stale.

Common DNS Record Types in Windows Server

Zone type determines where data lives; record type determines what each entry actually does. A compact reference, since most Windows Server DNS troubleshooting comes down to one of these:

Record typePurposeCommon Windows Server use
AMaps hostname to IPv4 addressServer and workstation name resolution
AAAAMaps hostname to IPv6 addressIPv6-enabled environments
CNAMEAlias to another hostnameFriendly names for services
PTRMaps IP address back to hostnameReverse lookup zones
SRVLocates servicesActive Directory domain controller discovery
MXMail exchanger recordMail routing
TXTText-based metadataSPF, verification, internal metadata
SOAStart of authorityZone ownership and transfer metadata
NSName serverAuthoritative DNS servers for the zone

Forward vs Reverse Lookup Zones

A forward lookup zone resolves names to IP addresses (dc01.corp.local to 10.0.0.10). This is the zone every environment has, because name resolution doesn’t function without it.

A reverse lookup zone resolves IP addresses back to names (10.0.0.10 to dc01.corp.local), using the in-addr.arpa namespace. Reverse zones are not created automatically when the DNS Server role is installed, and Windows Server DNS will run for years without one and nobody notices, because most day-to-day operations don’t need PTR records.

Where this bites you: software that performs reverse lookups for logging, mail servers checking PTR records for SMTP, monitoring tools resolving alert source IPs to hostnames, and occasional authentication or logging workflows where reverse resolution is part of validation or diagnostics. The fix is straightforward once you know it’s missing, but the diagnosis time before someone realizes there’s no reverse zone is often the expensive part.

Practical takeaway: create a reverse lookup zone for every subnet in active use, even if nothing currently depends on it. The setup cost is a few minutes; the missing-PTR troubleshooting session it prevents later is not.

Get-DnsServerZone | Where-Object {$_.IsReverseLookupZone -eq $true}

Dynamic Updates: Secure vs Nonsecure

Dynamic update lets clients and DHCP servers register their own A and PTR records without manual entry. Windows Server DNS supports three modes per zone:

SettingBehaviorWhen to use
NoneNo dynamic updates acceptedStatic zones, external/public-facing zones
Nonsecure and secureAny client can register or overwrite records, authenticated or notAlmost never on internal AD-integrated zones
Secure onlyOnly authenticated domain members can register or updateDefault and correct choice for AD-integrated zones

Nonsecure dynamic updates accept registration from any device that can reach the DNS server on UDP/TCP 53, with no authentication. On an internal AD-integrated zone this means a rogue device on the network can register itself as fileserver01.corp.local and intercept traffic intended for the real host. This is not a theoretical risk; it’s the textbook DNS spoofing setup, and the only reason it doesn’t get exploited more often in SMB environments is that internal networks are usually assumed – often wrongly – to be trusted.

Practical implication: set every AD-integrated zone to Secure only unless there’s a specific, documented reason for nonsecure updates (legacy non-domain devices that must self-register, for example). Audit existing zones for this setting; it is a common leftover from environments stood up quickly without security review. Microsoft’s dynamic update reference covers the underlying RFC 2136 mechanics in more depth.

Get-DnsServerZone | Select-Object ZoneName, DynamicUpdate
Failure scenario

A pattern that surfaces repeatedly in environments migrated from older DNS infrastructure: an admin enables nonsecure updates temporarily to let a legacy appliance self-register, then forgets to revert the setting. Months later, a different team finds duplicate or conflicting A records for a shared hostname and spends hours assuming it’s a DHCP lease issue before checking the zone’s update policy.

SOA and NS Records: What Actually Matters Operationally

The SOA (Start of Authority) record defines the zone’s authoritative server and replication timers. Most of its fields rarely need manual tuning on an AD-integrated zone, but two matter for troubleshooting:

  • Serial number – increments on every zone change; secondary servers compare this value to know whether to pull a transfer. A serial number that isn’t incrementing is the first thing to check when a secondary zone goes stale.
  • Minimum (default) TTL – controls negative caching duration, how long resolvers cache the fact that a record doesn’t exist. A high value here can make a newly created record appear “missing” to clients that already cached the NXDOMAIN response.

NS records list the authoritative name servers for the zone. Every DNS server that is authoritative for the zone should have the correct NS record; a missing entry doesn’t break resolution outright but breaks delegation and referral behavior for external resolvers querying the zone.

Get-DnsServerResourceRecord -ZoneName "corp.local" -RRType Soa Get-DnsServerResourceRecord -ZoneName "corp.local" -RRType Ns

Zone Transfer Security

Zone transfers move zone data from a primary to secondary servers. Legacy primary/secondary setups may still allow zone transfers to any server, a setting that predates the assumption that DNS zone data – a full inventory of hostnames, IPs, and infrastructure roles – is sensitive information.

Restricting zone transfers (do this before exposing DNS to any untrusted network)
  1. Open zone properties, Zone Transfers tab
  2. Switch from “To any server” to “Only to servers listed on the Name Servers tab” or “Only to the following servers” with explicit secondary IPs
  3. Verify the secondary’s last successful transfer timestamp after the change: Get-DnsServerZoneTransferStatistics
  4. Confirm the secondary zone still resolves correctly post-restriction before considering this done

On AD-integrated zones with all DNS servers also acting as DCs, zone transfer restriction matters less because replication happens through AD, not transfer – but any environment still running secondary zones to non-AD DNS servers should restrict this without exception. See Microsoft’s zone transfer configuration guidance for the full set of restriction options.

In practice, most Windows Server DNS deployments that still allow open zone transfers inherited the setting from a default install years ago rather than choosing it deliberately. Tightening it is a five-minute task with no operational downside once the secondary’s transfer source is confirmed.

Where Forwarders and Root Hints Fit

Zones decide what this DNS server is authoritative for. Forwarders and root hints decide what happens when the server is not authoritative for a name. That distinction matters because many “DNS is broken” tickets are really forwarding-path problems, not zone-record problems.

Internal Windows Server DNS zones answer for the AD domain namespace and any other internal zones hosted locally. Everything else – public website lookups, partner domains, SaaS endpoints – gets forwarded upstream to a forwarder, a conditional forwarder for a specific namespace, or root hints as a last resort. Full forwarder configuration and decision criteria are out of scope here.

Verifying Windows Server DNS Configuration

A short verification sequence after any zone or record change:

Get-DnsServerZone Get-DnsServerZone | Select ZoneName, DynamicUpdate dnscmd /enumzones Resolve-DnsName <hostname> -Server <dns-ip>

Why this matters in practice: a record existing in Get-DnsServerResourceRecord output doesn’t guarantee it resolves correctly for clients, especially if a stale negative cache entry or a forwarder is intercepting the query before it reaches the authoritative zone.

Common Windows Server DNS Misconfigurations

  • AD-integrated zone with legacy replication scope instead of a forest- or domain-wide scope – usually inherited from a Server 2003-era domain that was never updated.
  • Reverse zone missing entirely – see the forward/reverse section above.
  • Nonsecure dynamic updates left enabled after a one-time legacy device requirement.
  • Zone transfers open to any server on environments still running classic primary/secondary pairs.
  • Scavenging never configured – stale records accumulate for years.

This article intentionally does not cover SRV record health, the _msdcs zone, or DC locator failures. Those are Active Directory-side DNS problems tied to AD replication, not DNS Server role configuration, and are covered in Active Directory DNS Problems.

DNS Scavenging and Aging: A Quick Preview

Scavenging is the last item on the misconfiguration list above, but it deserves more than one bullet because it’s the most common reason Windows Server DNS zones either never get cleaned up or, worse, lose records that were still in use. It requires three settings aligned at once – record timestamp, zone-level aging, server-level scavenging – and the timing math has to stay longer than how often clients and DHCP leases actually refresh.

Get this wrong in the conservative direction (never enabling it) and a zone just accumulates dead records for years, which is annoying but rarely an outage. Get it wrong in the aggressive direction (intervals shorter than the DHCP lease) and the server starts deleting records that are still actively in use, which is the more painful failure mode.

This is involved enough that it has its own dedicated article: DNS Scavenging and Aging on Windows Server covers the safe rollout sequence, the interval math against DHCP lease duration, and what to check when records disappear that shouldn’t have.

FAQ

Is Windows Server DNS required for Active Directory?

In practice, yes. Active Directory depends heavily on DNS records, especially SRV records for service location, so Windows domains need a DNS service that can host and update those records correctly. It doesn’t strictly have to be Windows Server DNS – some environments run AD against BIND – but Windows Server DNS with AD-integrated zones is by far the path of least resistance.

Should Windows Server DNS clients point to public DNS servers directly?

No. Domain-joined clients should point to internal DNS servers, not directly to public resolvers like 8.8.8.8 or 1.1.1.1. The internal DNS servers then forward external queries upstream. Pointing clients at public DNS directly breaks AD service location and SRV record resolution.

Does every domain controller need to run DNS Server?

Not strictly, but in practice almost every SMB and homelab deployment runs DNS on every DC. Centralizing DNS on a non-DC server is more common in larger environments with dedicated infrastructure teams; for a one-person IT shop, co-locating DNS with AD keeps administration simpler.

Why does my new A record resolve on one DC but not another?

Check AD replication health first if the zone is AD-integrated; the record may not have replicated yet. If replication is healthy, check the replication scope of the zone – a record can be present in one directory partition and not visible to DCs outside that scope.

Should I use a stub zone or a conditional forwarder for a partner domain?

Conditional forwarders are simpler and sufficient for most cases – you specify the partner domain’s DNS server IP directly. Stub zones add the benefit of automatically tracking NS changes on the partner’s side, which matters more in larger, less static integrations. For a one-off partner relationship, a conditional forwarder is the lower-maintenance choice.

Is it safe to delete an old reverse lookup zone I’m not sure is used?

Check for dependent records first with Get-DnsServerResourceRecord -ZoneName <reverse-zone> -RRType Ptr, and confirm nothing actively queries it before removing it. PTR-dependent failures are often silent until something specifically needs reverse resolution.

My zone transfer keeps failing. Where do I look first?

Firewall (TCP 53 between primary and secondary), then the Zone Transfers tab restriction list, then the SOA serial number to confirm the primary actually has new data to send.

Final Thoughts

Windows Server DNS configuration is one of those areas that works correctly by default often enough that most operators never develop a deliberate mental model for it, until a multi-site rollout, a security review, or a resolution failure forces the issue. The defaults – AD-integrated zones, secure-only dynamic updates – are reasonable starting points, but reverse zones, replication scope, and zone transfer restrictions are rarely set deliberately and almost always inherited from whatever the original install did.

For most single-domain SMB environments, the practical sequence is: confirm zones are AD-integrated with the correct replication scope, lock dynamic updates to secure only, create reverse zones for every active subnet, and restrict zone transfers if any legacy secondary zones still exist. None of this is complicated individually; the value is in not finding out it was missing during an incident.

Windows Server DNS Series

4 articles — Zones & Configuration · Scavenging & Aging · Forwarders & Root Hints · Replication Scope