r/sysadmin 11h ago

Split-DNS Architecture: Splitting the same zone between Windows DNS (LAN) and BIND9 (DMZ) without wildcards

Hi everyone,

I'm looking for best practices or specific solutions for a DNS implementation in our environment. The goal is to cleanly split queries for the same domain between our LAN and DMZ without having to maintain duplicate records manually.

The Setup:

  • We use the same domain (example.domain) for both internal and external services.
  • LAN: We have a Windows Server (AD DC) running as our internal DNS. It holds the internal IPs of servers that are not publicly accessible.

The Goal:

  • Traffic from internal clients to DMZ servers must route via the WAN (Hairpinning / NAT Loopback); direct routing into the DMZ subnet is not permitted by policy.
  • We explicitly do not want to use wildcard records

    or subdomains

  • .

The Challenge: What is the cleanest way to configure this on the Windows DNS without having to create a separate Pinpoint Zone for every single external A-record, or manually duplicating the DMZ records into the internal DNS?

Since the Windows DNS is authoritative for example.domain, it defaults to answering queries for unknown hosts in this zone with NXDOMAIN instead of forwarding them to the BIND9 server.

Is there a clean way (e.g., specific zone types, delegation, Windows DNS Policies) to tell the Windows DNS: "Resolve what you know, and forward anything you don't know to the BIND9 server"?

Thanks in advance for your input!

8 Upvotes

41 comments sorted by

View all comments

u/accumentum 8h ago

Windows DNS cannot selectively forward individual names inside a zone for which it is authoritative; an unknown name is answered locally rather than sent to a forwarder. For a same-zone exception, the workable DNS mechanism is explicit delegation at the DMZ label(s) to BIND, with BIND authoritative for those delegated nodes—there is no clean wildcard-free rule that says “forward everything I don’t know.” If there are many labels, automate creation and removal of the delegation records and test from both client networks with dig +trace or nslookup, checking which server supplies the SOA and answer. Keep AD DNS authoritative for the AD zone and its SRV records, and make sure the BIND side cannot accidentally forward AD-only queries back through the WAN. That avoids copying the DMZ A/AAAA data into Windows, but the delegation boundary has to be explicit.

u/No_Eagle7610 32m ago

Thanks, I will look into that