Delegating a Subdomain
6.2.1 Problem
You want to delegate a subdomain of your zone to a set of name servers.
6.2.2 Solution
Add NS records to your zone's data file delegating the subdomain to the name servers. For example, to delegate the baz.bar.example subdomain to the name servers ns1.baz.bar.example and ns2.foo.example, you'd add these two NS records to the bar.example zone data file:
baz.bar.example. IN NS ns1.baz.bar.example. baz.bar.example. IN NS ns2.foo.example.
In this example, you'll also need to add an A record for ns1.baz.bar.example, even though the name server's A record would normally appear in the baz.bar.example zone:
ns1.baz.bar.example. IN A 10.0.1.1
Without the A record -- called a glue record -- another name server that was referred to ns1.baz.bar.example would not be able to follow the referral, since in order to find ns1.baz.bar.example's address, it would need to query ns1.baz.bar.example. That's like trying to find someone's telephone number by calling and asking.
6.2.3 Discussion
The simplest test for determining whether you need to include a name server's A record with delegation is to check whether the domain name of the name server ends in the domain name of the subdomain being delegated to it. If so, you need to include an A record for the name server.
The name servers that the subdomain is delegated to need a zone data file for the subdomain and a zone statement configuring them as authoritative for the zone. So, on ns1.baz.bar.example and ns2.foo.example, you'd expect to find a zone statement like this:
zone "baz.bar.example" { type master; file "db.baz.bar.example"; };
Of course, one of the name servers is probably a slave for baz.bar.example.
6.2.4 See Also
Recipes Section 1.16 and Section 1.17, for instructions on configuring a primary master and a slave name server for a zone, and "How to Become a Parent: Creating Subdomains" in Chapter 9 of DNS and BIND.