How can I selectively override some A records on a Bind DNS Server?
If this all just deals with overriding hostname->ip lookups, what is likely the easiest to set up and manage (especially if you have rapidly changing requirements) is for the developers to simply override the normal resolution by adding the relevant names in their local hosts files and to leave DNS alone.
However, if you want to do this with DNS, using BIND as the resolver server, and you need to override specific names only (rather than whole zones), I believe you will need to use the Response Policy Zone (RPZ) functionality. This can possibly be done in conjunction with the use of views in order to make these changes only affect specific clients.
I've included an example that would do the kind of thing you are specifically asking for but look at the linked documentation above for all the other options for how you can override things and more complete examples.
options {
...
response-policy { zone "development-overrides"; };
};
...
zone "development-overrides" {type master; file "master/development-overrides"; allow-query {none;}; };
The referenced zone file has the normal master file syntax but the semantics are RPZ specific (do read the RPZ docs!):
$TTL 1H
@ SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
NS LOCALHOST.
support.example.com A 192.168.1.1
faq.example.com A 192.168.1.1