Search code examples
dnsbinddnsmasq

Is there a way to use DNSMasq and BIND on the same computer?


I like the idea of running my own nameserver (BIND) but if I do that, I can't get the benefit of blocking nasty websites by putting them in /etc/hosts

DNSMasq is able to refer to /etc/hosts but rather than specifying an "upstream" dnsserver, I'd like it to be able to use BIND on the same machine. However, they both need to use the same port.

Is this possible? I couldn't find anything about this in regular searching.

I suppose an alternative would be to run another Linux instance in a VM and run DNSMasq there (say) but I'd like to not have to do this.


Solution

  • you could assign multiple ip addresses to the same interface, either with

    ip addr add <address>/32 dev eth0
    

    or using

    ifconfig eth0:1 <address>
    

    then bind one server to one address, the other server to the second address. Which server is queried depends now on the ip address your queries are sent to.

    The examples assume that your eth interface is eth0.