Sim, o Bind faz isso com visualizações . Alguns exemplos detalhados são aqui e aqui .
Seria algo parecido com isso no named.conf:
view "trusted" {
match-clients { 192.168.23.0/24; }; // our network
recursion yes;
zone "example.com" {
type master;
// private zone file including local hosts
file "internal/master.example.com";
};
// add required zones
};
view "badguys" {
match-clients {"any"; }; // all others hosts
// recursion not supported
recursion no;
};
zone "example.com" {
type master;
// public only hosts
file "external/master.example.com";
};
// add required zones
};
Um truque que eu geralmente faço para tornar a administração mais fácil é simplesmente ter o arquivo interno $ INCLUDE no arquivo externo - apenas não se esqueça dos SOAs.
Como uma última palavra de cautela, não finja que isso é algo mais do que Rubber Chicken Security (não que haja algo de errado com isso).