Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

With a zone in bind, is it possible to split up the zone between two servers (internal and external for example) and have the internal server resolve requests for ''. If the record isn't in in that servers zone, forward to the external server which has the same '' zone with external records?

The forward option in Bind has 'first' on 'only' as options. 'First being the opposite of what I'm looking for.

"if set to 'first' (default) it will send the queries to the forwarder and if not answered will attempt to answer the query."

I'm looking for a 'last' option where "if set to 'last' it will attempt to answer the query, otherwise send the query to the forwarder"

share|improve this question
Can I ask why you need such behavior? – Khaled Nov 11 '11 at 13:39
We have many external subdomains off of '' that aren't on the internal server. I'd like to not have to replicate those on the internal side of things. – sbr9132 Nov 11 '11 at 17:53
You want them to be accessible from internal as well, but do not what them to be stored on internal server. What's the point ? Why NOT to have them on internal too ? Or why not to have it all only on "external" and use internal as forwarder only. It only adds headache to maintain two different zones for one well, zone. – Sandman4 Nov 12 '11 at 19:24

The answer (as you suspected) is no. There is currently no provision in bind to do what you're asking. If your internal server responds as authoritative for a zone, it assumes it has all knowledge of that zone.

That said, it might be worth attempting to delegate the external subdomains using NS records.

internal zone:

$TTL 14400  ; 4 hours    IN SOA (
                2012020206  ; serial
                86400       ;refresh (1 day)
                600     ;retry (10 minutes)
                1814400     ;expire (3 weeks)
                60      ;minimum (1 minute)
            IN  NS
            IN  NS
; define internal nameservers    IN  A    IN  A

; internal records    IN  A     IN  A  IN  A
; define external nameservers    IN  A    IN  A

; delegate subdomain foo to external nameservers    IN  NS    IN  NS

At this point, your internal dns server (assuming it allows recursion for localnets) will go to if it receives a request for

Of course, you have to do this for every subdomain you want to refer to the outside servers, but after the initial setup for each external subdomain you will not have to mess with the internal zone anymore whenever changes are made to the external subdomain records.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.