The article is not clear about one issue: are all applications expected to disregard the OS DNS? Is there an option to tell all applications that they should not bypass it? I will be pretty pissed if I wake up one day and find that Firefox decided to stop using my DNS server and instead started sending my requests to a third-party.
Yes there is. If your internal recursive DNS servers return an NXDOMAIN for "use-application-dns.net", then Firefox will stick with gethostbyname(3) (or whatever). See:
* https://support.mozilla.org/en-US/kb/configuring-networks-di...
If you’re using NLnet’s unbound(8) as a recursive DNS server, it’s possible to use the “local-zone” directive to force an NXDOMAIN:
* https://serverfault.com/questions/625170/
For ISC’s BIND, the response policy zone (RPZ) mechanism does something similar on BIND 9.8+ (it’s more flexible, so more complicated to configure):
* https://jpmens.net/2011/04/26/how-to-configure-your-bind-res...
* https://downloads.isc.org/isc/bind9/9.9.5/doc/arm/Bv9ARM.ch0...
* https://tools.ietf.org/html/draft-vixie-dnsop-dns-rpz
* http://www.zytrax.com/books/dns/ch7/rpz.html
* https://serverfault.com/questions/618106/set-up-bind9-as-dns...