The configuration of BIND name servers has grown fiendishly complex since the old BIND 4 name servers. Back then, all you needed was four, maybe five configuration directives. Nowadays, most of the 10 or so configuration statements can have a nested structure with countless substatements -- nearly 100 for the options statement in the latest BIND 9 name server!
This chapter shows how to put those configuration statements and substatements together in sensible ways to produce useful results, like differentiating the response a name server gives out based on the querier’s IP address (Section 3.18). Related recipes are grouped together, beginning with recipes about configuring a name server’s control channel (Recipes Section 3.2 through Section 3.4) and progressing into more intricate, more arcane subjects, including dynamic update (Recipes Section 3.11 and Section 3.12) and forwarding (Recipes Section 3.15, Section 3.16, and Section 3.17).
When adapting these recipes for use in a name server’s named.conf file, remember these syntactic rules:
Terminate each statement and each substatement with a semicolon. It’s just like buying toys for your kids: if each one gets an identical semicolon, everybody’s happy. If you forget a semicolon for one, or somebody gets a colon or a period instead, there’s hell to pay.
Enclose all lists (of substatements, addresses, whatever) in curly braces, even if the list only contains one element -- or, ...