How to use different DNS forwarders based on the source IP or MAC

binddns

How would one configure BIND on a Linux system to forward DNS queries to a different upstream forwarder, based upon the source IP and/or MAC of the requesting host?

For example, I might want to send DNS queries from certain hosts on my network to OpenDNS, others to Google, and all others to my ISP.

Best Answer

The solution is BIND "views". You can filter on source or destination IP and route the request to a view. You can provide completely different DNS zones, forwarders, and other handling options.

https://kb.isc.org/article/AA-00851/0/Understanding-views-in-BIND-9-by-example.html

Related Question