BIND - connection timed out; no servers could be reached

I've just upgraded from Debian 5 to 6 and I noticed bind stopped working. When trying to query for a domain from outside I get "connection timed out; no servers could be reached" error. Querying from localhost gives proper response. What could be the cause?


Most likely it's listening on localhost only now. In Debian it's probably /etc/bind/named.conf.options that you need to check. See if there's something like:

listen-on port 53 {
                    127.0.0.1;
             };

Either take the whole listen-on directive out which will mean it will listen on every ip, or else add in each IP Address you want it to listen on. Then just reload bind and you should be good to go.

It's also possibly that there might be an iptables rule stopping inbound connections. Have a look at the output of iptables -L INPUT to be sure.