Bind version 9 allows the DNS administrator to define views. Views allow for client-dependent resolution of DNS names are provide the flexibility of multiple DNS servers without most of the administrative complexity.
Views are described in DNS and BIND, 4th Edition, Paul Ablitz & Cricket Lui, O,Reilly, April 2001, ISBN 0-596-00158-4.
Here are the DNS files that correspond to my configuration.
options {
directory "/var/named";
listen-on { 127.0.0.1 ; 206.124.146.177; };
};
logging {
channel xfer-log {
file "/var/log/named/bind-xfer.log";
print-category yes;
print-severity yes;
print-time yes;
severity info;
};
category xfer-in { xfer-log; };
category xfer-out { xfer-log; };
category notify { xfer-log; };
};
view "internal" {
match-clients { 192.168.1.0/24; 192.168.2.0/24; 192.168.9.0/24; 127.0.0/24; };
recursion yes;
zone "." in {
type hint;
file "int/root.cache";
};
zone "shorewall.net" in {
type master;
notify no;
allow-update { none; };
file "int/db.shorewall";
};
zone "seattlefirewall.dyndns.org" in {
type master;
notify no;
allow-update { none; };
file "int/db.seattlefirewall";
};
zone "0.0.127.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "int/db.127.0.0";
};
zone "1.168.192.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "int/db.192.168.1";
};
zone "2.168.192.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "int/db.192.168.2";
};
zone "176.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "db.206.124.146.176";
};
zone "177.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "db.206.124.146.177";
};
zone "178.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "db.206.124.146.178";
};
zone "179.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "db.206.124.146.179";
};
zone "180.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "db.206.124.146.180";
};
zone "254.146.124.206.in-addr.arpa" in {
type master;
notify no;
allow-update { none; };
file "int/db.206.124.146.254";
};