Delegate part of a zone to another server

binddomain-name-system

I guess I'm wondering something similar to Can I create DNS records for some hosts, delegate other queries in the same domain to another DNS server?, but I'm hoping I'll get a different answer with BIND.

Basically, I have home.mydomain.tld as a public A record already, that's dynamically updated. I'm wondering if there's some way to simply provide local service to that domain within my home network without overriding it. Really, just local AAAA records. The A records would hopefully come from my router's DNS/DHCP server; it isn't smart enough to know about IPv6 yet.

If not, I guess I can populate the A records semi-automatically every once in a while, but if it's possible to avoid doing that I'd like to try.

Best Answer

It sounds like you have home.mydomain.tld as a public zone and you want to create internal records for PC.home.mydomain.tld, TV.home.mydomain.tld, refrigerator.home.mydomain.tld, etc.?

About the only un-nasty way I can think of to do this without stepping on the home.mydomain.tld domain would be to create x.home.mydomain.tld and put everything under that zone, which is served by your local nameserver.

You COULD create an individual zone for each of PC, TV, refrigerator, etc. above and have your local nameserver only be authoritative for those individual bits, but that means a huge number of one-entry zone files (YUCK!).

Also note that any local zones you create would step on and override any outside DNS server's zones: It's not possible to have the A record for pc.home.mydomain.tld come from one NS and the AAAA record for it come from another: DNS delegates and declares authority by zone name, and that authority is for all record types within that zone.
If a nameserver is told it is authoritative for something and can't find the record it will not forward the query up the DNS tree, it will simply return NXDOMAIN.